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