강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Chương trình FPGA Verilog 1 (Zynq mini 7020)

Thông qua bài giảng này, học viên sẽ học cách triển khai Verilog bằng bảng Zynq.

(5.0) 3 đánh giá

83 học viên

  • alex
텍스트 강의
베릴로그
verilog
하드웨어
zynq
Verilog HDL
FPGA

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Mã hóa Verilog

  • Sử dụng bảng ZYNQ

  • Cách sử dụng Vivado, Vitis

  • Tạo một băng ghế thử nghiệm và xác minh mô phỏng

  • Tải về bảng và kiểm tra kết quả

Cốt lõi của việc triển khai và thực hành sử dụng bảng Zynq.

📢 Vui lòng lưu ý trước khi tham gia lớp học.

  • Khóa học này là bài giảng văn bản ở định dạng tài liệu điện tử (PDF) (khoảng 110.000 ký tự). Tất cả các tệp nguồn được đề cập trong khóa học đều được cung cấp cho học viên. Mã nguồn khóa học có thể được tải xuống từ Mục 0 [Liên kết Chia sẻ Tài liệu].

Triển khai Verilog bằng cách sử dụng bảng Zynq

✅ Triển khai mã ✅ Xác minh mô phỏng bằng Text Bench ✅ Xác minh bảng

Trước khi viết mã, chúng tôi phân tích toàn bộ hệ thống và cung cấp kiến thức chuyên môn về cách viết mã hiệu quả. Chúng tôi cung cấp những giải thích dễ hiểu dựa trên các kỹ thuật chuyên sâu và kiến thức chuyên môn tích lũy được từ hơn 20 năm kinh nghiệm thực tế. Hơn nữa, mã nguồn trong các bài giảng không nhằm mục đích học tập mà được sử dụng trong các ứng dụng thực tế. Tất cả học viên sẽ được truy cập toàn bộ mã nguồn được sử dụng trong các bài giảng.

Nửa đầu của bài giảng sẽ đề cập đến hai chủ đề sau:

  • Cài đặt Vivado 2022.1
  • Tải xuống mã được triển khai trên bo mạch Zynq và kiểm tra kết quả.

phần sau của bài giảng , chúng ta sẽ xác minh kết quả tải xuống bảng thông qua mã hóa và xác minh mô phỏng cho từng chủ đề.

  • Điều khiển LED bằng bộ đếm
  • Triển khai bộ điều khiển SPI
  • Triển khai bộ điều khiển UART
  • Triển khai bộ điều khiển I2C
  • Sử dụng Xilinx IP (Bộ tạo xung nhịp, Bộ tạo bộ nhớ)
  • Triển khai bộ giải mã NRZL
  • Triển khai giao diện FMC (Bộ điều khiển bộ nhớ linh hoạt)

Sử dụng FPGA với Verilog cho ZYNQ - Xem trước bài giảng

Chương trình giảng dạy chi tiết
  1. phác thảo
  2. Cấu hình phần cứng
  3. Cài đặt SW
  4. Tải xuống bảng ZynQ
    1. Cấu hình mẫu cơ bản
      1. Tạo một dự án
      2. Tạo thiết kế khối
    2. Tải xuống ở Chế độ gỡ lỗi
      1. Thêm mã nguồn
      2. Tạo luồng bit
      3. Chạy và tải Vitis
    3. Tải xuống bằng FSBL (Bộ nạp khởi động giai đoạn đầu)
      1. Tạo một dự án FSBL
      2. Tạo hình ảnh khởi động
      3. Tải xuống bảng và kiểm tra kết quả
    4. Tải xuống bằng FSBL, Phần mềm ứng dụng
      1. Tạo một dự án FSBL
      2. Tạo một dự án ứng dụng
      3. Tạo hình ảnh khởi động
    5. Tải xuống bảng và kiểm tra kết quả
      1. Điều khiển LED bằng bộ đếm
      2. Tạo một dự án
      3. Cấu hình màn hình dự án
      4. Thêm mã nguồn
      5. Cài đặt trình soạn thảo văn bản
      6. Triển khai mã
      7. Triển khai XDC
      8. Tạo luồng bit
      9. Kiểm tra kết quả
    6. Mô phỏng
      1. Thêm tệp nguồn mô phỏng
      2. Triển khai mã tb_led_counter.v
      3. Đang tiến hành mô phỏng
      4. Kết quả mô phỏng
    7. Về mã
      1. Mã có thể thực hiện, mã không thể thực hiện
      2. Đơn vị cơ bản của mã là Đồng hồ.
      3. Tất cả mã được xử lý song song.
      4. toán tử ba ngôi
      5. Sử dụng Đăng ký
      6. FSM (Máy trạng thái hữu hạn)
    8. Triển khai Spi Master
      1. Thông số kỹ thuật
      2. Triển khai mã
        1. Định nghĩa cổng
        2. Định nghĩa trạng thái
        3. Triển khai mã
        4. Biểu đồ thời gian
      3. Mô phỏng
        1. Triển khai thử nghiệm
        2. Kiểm tra kết quả mô phỏng
    9. Triển khai Spi Slave
      1. Thông số kỹ thuật
      2. Triển khai mã
        1. Định nghĩa cổng
        2. Định nghĩa trạng thái
        3. Triển khai mã
      3. Mô phỏng
        1. Triển khai thử nghiệm
        2. Kiểm tra kết quả mô phỏng
    10. Triển khai truyền thông Spi
      1. Loại bỏ tiếng ồn của nút
        1. Mạch nút
        2. Triển khai mã
        3. Mô phỏng
      2. Triển khai tác vụ SPI
        1. Định nghĩa cổng
        2. Loại bỏ tiếng ồn của nút
        3. Định nghĩa trạng thái
        4. Triển khai mã
      3. Mô phỏng
        1. Triển khai thử nghiệm
        2. Kiểm tra kết quả mô phỏng
      4. Triển khai mô-đun UsetTop
      5. Thêm tệp xdc
      6. Tạo luồng bit
      7. Tải xuống bảng và kiểm tra kết quả
    11. Sử dụng Xilinx IP
      1. Tạo một chiếc đồng hồ
      2. Tạo bộ nhớ
        1. Bộ tạo bộ nhớ khối
      3. Kiểm tra trí nhớ
        1. RAM cổng đơn
        2. RAM cổng kép đơn giản
        3. Bộ nhớ khác
    12. Triển khai bộ điều khiển UART
      1. Triển khai Uart Tx
        1. Triển khai mã
        2. mô phỏng
      2. Triển khai Uart Rx
        1. Tạo FIFO
        2. Triển khai mã
        3. mô phỏng
      3. Triển khai bộ điều khiển UART
      4. Triển khai LoopBack
        1. thành phần
        2. Triển khai mã
        3. mô phỏng
        4. Triển khai mô-đun UserTop
        5. sáng tạo xdc
        6. Tạo các tệp Bitstream và XSA
        7. Kiểm tra kết quả
    13. Triển khai bộ điều khiển I2C
      1. Thông số kỹ thuật bộ điều khiển I2C
        1. Bắt đầu, dừng điều kiện
        2. Truyền dữ liệu 8 bit
        3. ID nô lệ
        4. Cấu trúc dữ liệu ghi I2C
        5. Cấu trúc dữ liệu đọc I2C
      2. Triển khai I2C Master
        1. phân tích tín hiệu ghi i2c_master
        2. phân tích tín hiệu đọc i2c_master
        3. triển khai mã i2c_master
        4. mô phỏng i2c_master
        5. Kiểm tra kết quả
        6. triển khai i2c_master8x8
        7. mô phỏng i2c_master8x8
      3. Triển khai I2C Slave
        1. Phân tích tín hiệu I2C Slave
        2. triển khai mã i2c_slave8x8
        3. triển khai i2c_reg8x8
        4. mô phỏng i2c_slave8x8, i2c_reg8x8
      4. NHIỆM VỤ I2C
        1. triển khai mã i2c_task
      5. Triển khai mô-đun UserTop
      6. Thêm tệp xdc
      7. Tạo các tệp Bitstream và XSA
      8. Tải xuống bảng và kiểm tra kết quả
    14. Triển khai bộ giải mã NRZL
      1. Tổng quan hệ thống
      2. Triển khai mã
        1. Tạo một chiếc đồng hồ
        2. Tạo FIFO
        3. triển khai data_counter
        4. triển khai giảm tiếng ồn
        5. triển khai data_encoder
        6. triển khai nrzlDecTop
        7. Triển khai mô-đun UserTop
        8. triển khai xdc
        9. Tạo các tệp Bitstream và XSA và kiểm tra kết quả
        10. Phần kết luận
    15. Triển khai giao diện FMC
      1. Thời gian FMC
      2. Triển khai mã
        1. fmc_model.v
        2. mô phỏng fmc_model
        3. fmc_interface.v
        4. sys_host.v
        5. spram_32x8192
        6. mô phỏng fmc_interface
        7. fmc_top.v
        8. UserTop.v
        9. UserTop.xdc
      3. Tạo luồng bit
      4. Giải quyết lỗi thời gian
      5. Tải xuống bảng và kiểm tra kết quả
      6. Phần kết luận
    16. Lịch sử sửa đổi

Hỏi & Đáp 💬

H. Đối tượng mục tiêu của bài giảng này là ai?

Khóa học này được thiết kế dành cho những người quan tâm đến việc học Verilog và FPGA. Khóa học này tái cấu trúc phần "Sử dụng FPGA với Verilog" để cho phép triển khai trên bo mạch Zynq. Toàn bộ mã nguồn được kiểm tra trên bo mạch Zynq mini 7020 (7010).

H. Tôi có cần chuẩn bị gì để tham dự buổi thuyết trình không?

Toàn bộ nội dung bài giảng đều có thể được thực hành trên bo mạch Zynq mini 7020 (7010). Việc có sẵn bo mạch Zynq mini 7020 (7010) sẽ rất hữu ích, vì bạn có thể tự mình triển khai mã và kiểm tra kết quả.

H. Bạn sử dụng những công cụ chương trình nào?

Tôi đang sử dụng Vivado phiên bản 2022.1. Bài giảng có hướng dẫn cài đặt công cụ, vui lòng làm theo hướng dẫn để cài đặt.

H. Tôi có thể mua bo mạch mini Zynq ở đâu?

Bạn có thể mua nó thông qua các trung tâm mua sắm trong nước hoặc AliExpress.


Tích lũy 25 năm kinh nghiệm
Chúng tôi chia sẻ bí quyết sử dụng Verilog.

Tôi đã làm việc với tư cách là một nhà phát triển hơn 20 năm tại cả các công ty lớn và nhỏ, và hiện đang điều hành một doanh nghiệp nhỏ. Tôi đã phát triển một ASIC ISP (Xử lý tín hiệu hình ảnh) cho camera quan sát (CCTV), và tôi đã phát triển nhiều sản phẩm dựa trên FPGA, bao gồm thiết bị kiểm tra OLED và DAQ (Hệ thống thu thập dữ liệu). Ngoài FPGA, tôi còn có kinh nghiệm sâu rộng trong phát triển phần mềm (STM32, PIC32, AVR, ATMEGA, v.v.), thiết kế mạch và lập trình Windows.

💾 Vui lòng kiểm tra môi trường giảng đường.

  • Môi trường thực hành sử dụng hệ điều hành Windows và Vivado 2022.1.
  • Bài giảng này là bài giảng dạng văn bản ở định dạng tài liệu điện tử (PDF) (khoảng 110.000 ký tự).

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Bất cứ ai muốn học FPGA

  • Bất cứ ai muốn học Verilog

  • Bất cứ ai muốn học Zynq

Cần biết trước khi bắt đầu?

  • ngôn ngữ C

  • Ngôn ngữ Verilog (cơ bản)

Xin chào
Đây là

1,732

Học viên

76

Đánh giá

127

Trả lời

4.8

Xếp hạng

19

Các khóa học

저는 지난 20여년 동안 대기업, 중소기업에서 개발자로 일해왔고

현재는 작은 기업의 대표로 있습니다.

주요 경력사항은

  • Verilog HDL을 이용한 FPGA 설계

    • CCTV용 ISP ASIC 개발 (약 10년)

    • OLED Display 검사장비 개발 (약 3년)

    • FPGA를 이용한 장비 개발

  • MCU FW

    • STM32

    • PIC32

    • AVR, ATMEGA

    • DSP (TI)

  • Windows Application Program

    • Visual Studio MFC, C++

입니다.

Chương trình giảng dạy

Tất cả

381 bài giảng

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

3 đánh giá

5.0

3 đánh giá

  • ghddrms14061304님의 프로필 이미지
    ghddrms14061304

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    10% đã tham gia

    Chào bạn, tôi là học viên đã mua khóa học gần đây. Tôi có một thắc mắc là không biết nên sử dụng tài liệu giảng dạy này như thế nào. Liệu việc chỉ gõ trực tiếp mã nguồn và thắc mắc tại sao lại viết mã như vậy có giúp cải thiện kỹ năng lập trình không? Nếu bạn có thể cho tôi biết phương pháp học cụ thể thì tôi rất cảm kích.

    • ihil
      Giảng viên

      Chào bạn! Việc học Verilog, FPGA rất khác so với các ngôn ngữ cấp cao (C, App, Java,...). Verilog, FPGA có liên quan mật thiết đến phần cứng (HW). Tức là tự thiết kế HW. Ví dụ, khi xem xét giao tiếp UART, ở tầng Application cấp cao, chúng ta tạo giao thức nối tiếp và thực hiện giao tiếp. Ở tầng FPGA, chúng ta thiết kế và triển khai chính bộ điều khiển UART. Những gì được triển khai ở tầng FPGA được thực hiện ở đơn vị Main Clock. Chúng ta triển khai cách các tín hiệu được triển khai ở mỗi Clock. Trong Application, chúng ta triển khai code ở cấp độ Protocol. Để học Verilog, FPGA, việc triển khai code trên bo mạch mục tiêu, xác nhận HW hoạt động theo code đã triển khai và tất nhiên, để triển khai/xác minh code, chúng ta phải xác nhận xem các tín hiệu có hoạt động chính xác ở mỗi clock thông qua mô phỏng hay không. Để học Verilog, FPGA, việc học chỉ để nghiên cứu có thể không có nhiều ý nghĩa. Cách tốt nhất là làm quen với các chức năng cơ bản (bạn phải học cách tự do triển khai code và sử dụng các công cụ) và triển khai một cái gì đó mới trong khi thực hiện các dự án thực tế. Bạn có thể coi bài giảng này là học các công nghệ tiên quyết để thực hiện một dự án thực tế. Để thực hiện một dự án thực tế, điều rất quan trọng là phải tự do xử lý Verilog, FPGA, các công cụ, v.v. Bạn cần làm quen với quy trình mã hóa bằng Verilog, xác minh bằng mô phỏng (nếu có lỗi, hãy sửa code và xác minh lại bằng mô phỏng), tải nội dung đã triển khai lên bo mạch và kiểm tra hoạt động. Nếu bạn làm quen với nội dung của bài giảng này ở một mức độ nào đó, bạn có thể tiến hành các dự án từ nhỏ trong thực tế. Dự án tôi đã thực hiện gần đây là triển khai Frame Converter (DDR3) trong FPGA để xuất dữ liệu hình ảnh nhận được từ PC qua USB sang LVDS. Để triển khai những điều này, bạn cần có nội dung của bài giảng này, triển khai DDR3 Controller và hiểu LVDS. Dù sao, quá trình học Verilog, FPGA không hề dễ dàng. Tuy nhiên, tôi nghĩ rằng bạn sẽ trở thành một nhà phát triển giỏi nếu bạn làm quen với các chức năng cơ bản, thực hiện các dự án trong thực tế và học hỏi các kỹ thuật khác nhau. Hãy kiên nhẫn học tập. Cảm ơn bạn.

    • Trước hết, xin chân thành cảm ơn vì câu trả lời chi tiết của bạn. Trong tương lai, nếu có bất kỳ thắc mắc hoặc khó khăn nào phát sinh trong quá trình học, tôi có thể đặt câu hỏi ở đây được không? Nếu bạn có phương pháp nào tiện lợi hơn để trao đổi qua email hoặc liên lạc, xin vui lòng cho tôi biết.

    • ihil
      Giảng viên

      Bạn có thể gửi qua email hoặc đăng câu hỏi trên quán cafe mà tôi điều hành. Email: alex@ihil.co.kr Cafe: Cafe.naver.com/worshippt Cảm ơn bạn!

    • 네넵, tôi hiểu rồi. Chúc bạn một ngày tốt lành. Cảm ơn bạn.

  • hyp6636님의 프로필 이미지
    hyp6636

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    75% đã tham gia

    Tìm một khóa học thiết kế FPGA khó hơn bạn nghĩ, nhưng đây là khóa học mà bạn có thể thấy thú vị khi làm theo từng bước trong sách giáo khoa!!! Ngoài bài giảng này, vui lòng làm nhiều bài giảng khác bằng bảng Zynq nhé~!! Tôi muốn nâng cao kỹ năng của mình bằng cách tham gia tất cả các lớp học, trải nghiệm và thực hành chúng haha.

    • ihil
      Giảng viên

      Cảm ơn bạn đã xem xét của bạn. Tôi đã nỗ lực rất nhiều để thực hiện nó, nhưng những đánh giá về khóa học này đã giúp tôi rất nhiều. verilog và fpga không dễ học. Tuy nhiên, nếu bạn học từng bước một, kỹ năng của bạn sẽ dần được cải thiện và sự tự tin của bạn sẽ tăng lên. Tôi hy vọng bạn trở thành một nhà phát triển có năng lực thông qua bài giảng. Cảm ơn bạn ~!!

  • hotak3210195님의 프로필 이미지
    hotak3210195

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Nó đã giúp tôi với phong cách viết mã của mình.

    • ihil
      Giảng viên

      Cảm ơn bạn đã giúp tôi với phong cách mã hóa của tôi. Tôi nghĩ điều rất quan trọng đối với các nhà phát triển là phát triển phong cách viết mã của riêng họ. Thời gian trôi qua, tôi tin rằng việc sử dụng SM (State Machine) trong phát triển thuật toán là rất quan trọng và hữu ích. Chúng tôi khuyên bạn nên sử dụng SM nhiều. Cảm ơn bạn~!!

2.299.673 ₫

Khóa học khác của alex

Hãy khám phá các khóa học khác của giảng viên!