강의

멘토링

로드맵

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,676

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á

  • 박현영님의 프로필 이미지
    박현영

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    75% đã tham gia

    FPGA 설계 강의 찾기가 생각보다 어려운데, 차근차근 교재 보면서 따라해보면서 재밌게 할 수 있는 강의 입니다!!! 이번 강의 말고도 Zynq 보드 활용한 다른 강의들도 많이많이 만들어주세요~!! 전부 다 수강 하고 경험 해보면서, 실습해보면서 실력 업그레이드 하고 싶습니다 ㅎㅎ 감사합니다~!

    • alex
      Giảng viên

      수강평 감사드립니다. 나름 열심히 만들었는데 이런 수강평은 많은 힘이 됩니다. verilog, fpga가 배우기가 쉽지 않습니다. 그러나 차근차근 배우다보면 조심씩 실력이 늘고 자신감도 생기게 됩니다. 강의 통해 능력있는 개발자 되시길 바랍니다 감사합니다 ~!!

  • draco님의 프로필 이미지
    draco

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    코딩 스타일에 도움이 되었습니다.

    • alex
      Giảng viên

      코딩 스타일에 도움이 되셨다니 감사합니다. 개발자가 자신의 코딩 스타일을 개발하는 것을 무척 중요할 것 같습니다. 저는 시간이 지날수록 알고리즘 개발에 SM(State Machine)을 사용하는 것이 무척 중요하고 유용하다고 생각됩니다. SM을 많이 이용해 보시길 권해드립니다. 감사합니다 ~!!

  • 권홍근님의 프로필 이미지
    권홍근

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    10% đã tham gia

    안녕하세요 최근에 강의를 구매한 수강생입니다. 다름이아니라 이러한 강의교재를 어떻게 활용해야하는지 모르겠습니다. 그저 소스코드를 직접 타이핑하고 왜 이렇게 코딩을했는지 의문을 가지고 추궁을 하면 코딩 실력이 향상이 되는건가요? 구체적인 학습방법을 알려주신다면 정말 감사하겠습니다.

    • alex
      Giảng viên

      안녕하세요~ verilog, fpga를 배우는 것은 상위 언어(C, App, Java, 등)와는 매우 다릅니다. verilog, fpga는 HW와 매우 밀접하게 연관이 있습니다. 즉 HW 자체를 설계하는 것입니다. 예를 들어, UART 통신을 생각해 보면, 상위 Application단에서는 시리얼 프로토콜을 만들고 통신을 구현합니다. fpga 단에서는 UART Controller 자체를 설계하고 구현합니다. fpga 단에서 구현되는 것은 Main Clock 단위에서 구현됩니다. 매 Clock마다 신호들이 어떻게 구현되는지를 구현하는 것입니다. Application 에서는 Protocol level에서 코드를 구현합니다. verilog, fpga를 공부하려면 타겟보드에서 코드를 구현하고 구현된 코드대로 HW가 동작하는 것을 확인하고, 물론 코드를 구현/검증하기 위해서는 simulation을 통하여 매 clock 마다 신호들이 맞게 동작하는지를 확인해야 합니다. verilog, fpga를 배우려면, 단순히 study 차원에서 하는 것은 크게 의미가 없을 수도 있습니다. 가장 좋은 방법은 기본적인 기능들을 익히고 (자신이 마음대로 코드를 구현하고, 툴을 사용하는 것을 익혀야 합니다) 실제 프로젝트를 해가면서 자신이 무언가를 새롭게 구현하는 것이 좋습니다. 본 강의는 실제 프로젝트를 진행하기 위한 선행 기술들을 학습한다고 보시면 좋습니다. 실제 프로젝트를 하기 위해서는 verilog, fpga, 툴 등을 마음대로 다루는 것이 매우 중요합니다. verilog로 코딩하고, simulation으로 검증하고 (오류가 있으면 코드 수정해서 다시 simulation 으로 검증하고), 구현한 내용을 보드에 올려서 동작을 확인하는 이 과정을 어느 정도 익혀야 합니다. 본 강의 내용을 어느 정도 익히면, 실제 실무에서 작은 것부터 프로젝트를 진행해 나갈 수 있습니다. 제가 최근에 진행한 프로젝트는 PC에서 USB 를 통해서 들어오는 이미지 데이터를 FPGA에서 Frame Converter(DDR3)를 구현해서 LVDS로 데이터를 출력하는 내용이었습니다. 이러한 것들을 구현하기 위해서는 본 강의의 내용과 DDR3 Contoroller를 구현하고, LVDS에 대한 이해가 있어야 가능합니다. 아무튼 verilog, fpga를 배우는 과정이 쉽지는 않습니다. 그러나 기본적인 기능들을 잘 익히고, 실무에서 프로젝트들을 진행하면서 여러가지 기술들을 습득해 나가시다 보면 좋은 개발자가 되실 것이라 생각합니다. 인내심을 가지고 배우시길 바랍니다. 감사함니다.

    • 우선, 상세한 답변 정말 감사합니다. 앞으로 강의를 수강하면서 궁금한 점이나 막히는 부분이 생기면, 여기에 질문을 드려도 괜찮을까요? 혹시 메일이나 연락주고받기 편한 방법이 있으시면 알려주시면 감사하겠습니다.

    • alex
      Giảng viên

      메일로 주셔도 되고, 제가 운영하는 카페에 질문을 올려주셔도 됩니다. 메일 : alex@ihil.co.kr 카페 : Cafe.naver.com/worshippt 감사합니다~

    • 네넵 알겠습니다. 오늘도 좋은 하루 보내십시오 감사합니다.

2.297.535 ₫

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!