강의

멘토링

로드맵

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á

80 học viên

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

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

Dịch cái này sang tiếng Việt

  • 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,670

Học viên

71

Đánh giá

125

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á

  • hyp6636님의 프로필 이미지
    hyp6636

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    75% đã tham gia

    It's harder than I thought to find an FPGA design lecture, but this is a fun lecture that I can follow along step by step while looking at the textbook!!! In addition to this lecture, please make many, many other lectures that utilize the Zynq board~!! I want to upgrade my skills by taking all of them, gaining experience, and practicing. Thank you~!

    • ihil
      Giảng viên

      Thank you for your review. I worked hard to make it, so this kind of review is a great help. Verilog and FPGA are not easy to learn. However, if you learn step by step, your skills will gradually improve and you will gain confidence. I hope you will become a capable developer through the lecture. Thank you ~!!

  • hotak3210195님의 프로필 이미지
    hotak3210195

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    It helped me with my coding style.

    • ihil
      Giảng viên

      Thank you for helping me with my coding style. I think it is very important for developers to develop their own coding style. I think that using SM(State Machine) in algorithm development is very important and useful as time goes by. I recommend you to use SM a lot. Thank you ~!!

  • ghddrms14061304님의 프로필 이미지
    ghddrms14061304

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    10% đã tham gia

    Hello, I'm a student who recently purchased your course. I'm writing because I'm not sure how to utilize the course materials. Is my coding skills improving by just typing in the source code and questioning why it was coded that way? I would be very grateful if you could provide me with a specific learning method.

    • ihil
      Giảng viên

      Hello, Learning Verilog and FPGA is very different from learning higher-level languages (C, App, Java, etc.). Verilog and FPGA are closely related to hardware. It's about designing the hardware itself. For example, if you think about UART communication, in the upper Application layer, you create a serial protocol and implement communication. In the FPGA layer, you design and implement the UART Controller itself. What is implemented in the FPGA layer is implemented in Main Clock units. It's about implementing how signals are implemented for each clock. In the Application, you implement code at the Protocol level. To study Verilog and FPGA, it may not be very meaningful to do it simply for study purposes. The best way is to learn basic functions (you need to learn to implement code as you like and use tools) and implement something new while doing real projects. You can think of this lecture as learning the prerequisite technologies for proceeding with real projects. To do a real project, it is very important to handle Verilog, FPGA, tools, etc. freely. You need to familiarize yourself with the process of coding with Verilog, verifying with simulation (if there is an error, modify the code and verify with simulation again), and checking the operation by uploading the implemented content to the board. If you are somewhat familiar with the contents of this lecture, you can proceed with projects from small things in actual practice. A recent project I worked on was implementing a Frame Converter (DDR3) in an FPGA to output image data coming from a PC via USB to LVDS. To implement these things, you need the contents of this lecture, implement DDR3 Controller, and understand LVDS. Anyway, learning Verilog and FPGA is not easy. However, I believe that if you learn the basic functions well and acquire various technologies while working on projects in the field, you will become a good developer. Please learn with patience. Thank you.

    • First of all, thank you so much for the detailed reply. As I take the lectures, if I have any questions or get stuck, would it be okay to ask questions here? If there is a more convenient way to contact you, such as by email, please let me know.

    • ihil
      Giảng viên

      You can send it via email or post your question on the cafe I run. Email: alex@ihil.co.kr Cafe: Cafe.naver.com/worshippt Thank you.

    • Okay, I understand. Have a great day today. Thank you.

Ưu đãi có thời hạn, kết thúc sau 19:23:24 ngày

64 ₫

24%

2.297.928 ₫

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!