
Chương trình FPGA Verilog 5 (Serdes)
alex
Triển khai LVDS (Serdes) trên FPGA.
Trung cấp trở lên
FPGA, verilog


Đánh giá từ những học viên đầu tiên
5.0
haneuli
Tôi đang sử dụng nó như một cuốn bách khoa toàn thư~ Tôi lại một lần nữa cảm thấy thật hạnh phúc khi có một người thầy. Cảm ơn!
5.0
miheungsound
Tôi đã học về FPGA trước bài giảng này, nhưng nó rất khó. Hiện tại tôi đang xem Pork và tôi nghĩ mình sẽ rất vui khi học nếu làm theo sự hướng dẫn của Lee Kang. Tôi nghĩ đó là một bài giảng hay. Tôi chắc chắn sẽ thành công.
5.0
wwe0898
Khóa học đã hoàn thành
Thiết kế Verilog RTL
Thiết kế FPGA
Bạn quan tâm đến FPGA ư?
Vậy thì hãy học Verilog đi! 😁
Verilog có cú pháp tương tự như ngôn ngữ C, là một ngôn ngữ mô tả phần cứng (HDL) được sử dụng cho các mạch điện tử và hệ thống. Nó được dùng cho nhiều mục đích khác nhau như thiết kế mạch, kiểm tra và triển khai.
Có rất nhiều nhà phát triển quan tâm đến việc hiện thực hóa FPGA bằng Verilog đúng không? Tuy nhiên, rất khó để tìm được một bài giảng giải thích chi tiết về vấn đề này. Giờ đây, hãy trải nghiệm bài giảng được đúc kết từ những nội dung thực tế trong phát triển bởi một chuyên gia có hơn 20 năm kinh nghiệm! Nội dung bài giảng có thể cảm thấy khó, nhưng nếu bạn đọc kỹ và thực hành khoảng 3 đến 4 lần, nó sẽ trở thành một người dẫn đường tuyệt vời để bạn phát triển thành một nhà phát triển FPGA.
Trong khóa học này, chúng ta sẽ tìm hiểu chi tiết về nội dung hiện thực hóa FPGA bằng cách sử dụng Verilog HDL. Bạn sẽ được học toàn bộ quy trình từ hiện thực hóa mã Verilog, xác nhận kết quả thông qua mô phỏng (Simulation), và cuối cùng là tải nội dung đã hiện thực lên bo mạch Xilinx FPGA Artix (Arty a7-35T, HIL-A35T) để kiểm tra kết quả. Ngoài ra, khóa học cũng đề cập đến các IP do Xilinx cung cấp (liên quan đến Clock, Memory). Nếu bạn hiểu rõ các nội dung được giải thích trong khóa học này và nắm vững phương pháp lập trình của riêng mình, bạn sẽ trở thành một nhà phát triển có năng lực trong lĩnh vực thiết kế FPGA.
📢 Hãy nhất định kiểm tra trước khi đăng ký khóa học!
Cách sử dụng công cụ vivado tool
Lập trình Verilog
Tạo Tech bench và
chạy Simulation
Kiểm tra kết quả bằng cách tải xuống
lên bo mạch
Tôi đã có khoảng 20 năm kinh nghiệm phát triển thông qua FPGA. Tôi cũng đã từng có kinh nghiệm thiết kế và ra mắt ASIC. Tuy nhiên, cho đến nay tôi vẫn chưa thể hiểu hết hoàn toàn thế giới của FPGA. Thế giới FPGA rộng lớn đến mức như vậy. Bạn cần phải biết rất nhiều thứ, từ nội dung về công cụ, phần cứng cho đến Verilog. Điều tôi cảm nhận được khi làm việc cho đến nay là, để sử dụng tốt Verilog hay FPGA, bạn phải có định dạng chương trình (quy tắc coding) của riêng mình. Trong bài giảng này, tôi sẽ giải thích chi tiết về phần đó. Hy vọng bạn sẽ nắm vững những nội dung được giải thích trong bài giảng và tạo ra định dạng của riêng mình.
Khóa học này dành cho những người đã biết ở mức độ nhất định về cú pháp Verilog và hiểu các nội dung về phần cứng (HW). Vì Verilog HDL tương tự như ngôn ngữ C nên sẽ rất hữu ích nếu bạn có kiến thức về ngôn ngữ C. Ngoài ra, khóa học này sẽ tải kết quả cuối cùng xuống bo mạch (Arty A7 của hãng Digilent) để kiểm tra kết quả. Với Verilog HDL, không nên chỉ dừng lại ở việc kiểm tra kết quả qua mô phỏng (Simulation). Verilog HDL nhất thiết phải được tải xuống bo mạch FPGA để xác nhận hoạt động. Tôi khuyến khích những người tham gia khóa học này trước tiên hãy xem nội dung, sau đó nhất định phải mua bo mạch thực hành để tự mình kiểm tra kết quả.
Nếu có phần nào không hiểu trong bài giảng, vui lòng đặt câu hỏi thông qua cộng đồng Inflearn hoặc nhóm (cafe) do tôi điều hành, tôi sẽ trả lời cho bạn.
Cấu trúc của bài giảng này như sau.
Chúng tôi sẽ giải thích chi tiết từng bước được thực hiện như thế nào thông qua phiên bản Vivado 2018.3.
Nội dung thực hành như sau.
Nội dung thực hành đầu tiên là bộ đếm (counter). Tuy bộ đếm đơn giản nhưng lại là một mô-đun được sử dụng rất nhiều trong thực tế. Chúng ta sẽ thiết kế bộ đếm, tạo Test bench để tiến hành mô phỏng (Simulation) nhằm kiểm tra xem mã nguồn đã thực hiện có hoạt động chính xác hay không, và cuối cùng là áp dụng vào bo mạch để xác nhận kết quả thông qua việc bật/tắt đèn LED.
Chủ đề thực hành thứ hai là giao tiếp SPI. Lý do tôi chọn SPI là vì trong số nhiều loại giao diện, đây là giao diện tương đối dễ triển khai và được sử dụng rất phổ biến trong thực tế. Đầu tiên, chúng ta sẽ triển khai SPI Master, sau đó là SPI Slave. Tiếp theo, chúng ta sẽ thực hiện giao tiếp giữa Master và Slave rồi kiểm tra xem nó có hoạt động bình thường trên bo mạch hay không.
Nội dung thứ ba sẽ giải thích về Clock và Memory, những IP được cung cấp bởi Xilinx vốn được sử dụng rộng rãi và có thể tiếp cận một cách không quá khó khăn.
Nội dung thứ tư là về giao tiếp UART. Chúng ta sẽ thực hiện triển khai Bộ điều khiển UART và tiến hành kiểm chứng thông qua việc giao tiếp với PC.
Chủ đề thực hành thứ năm là giao tiếp I2C. Giao tiếp I2C nhìn có vẻ đơn giản nhưng việc hiện thực hóa bằng mã nguồn thì không hề dễ dàng chút nào. Độ khó của nó cao gấp 2 đến 3 lần so với SPI. Nếu bạn có thể tự tay lập trình I2C Master và Slave, bạn sẽ có thể hiện thực hóa các giao diện khác một cách không mấy khó khăn. Trước khi bắt tay vào viết mã, chúng ta sẽ tìm hiểu chi tiết về cách xác định thông số kỹ thuật (spec) và cách thiết kế SM (State Machine). Bộ điều khiển I2C sau khi hoàn thiện sẽ được kiểm tra hoạt động trực tiếp trên bo mạch.
Nội dung thứ sáu là nội dung mới được thêm vào phiên bản v2.1. Chúng ta sẽ triển khai bộ giải mã NRZL (Non-Return Zero Level). Đặc biệt, phương pháp thiết kế và sử dụng FIFO sẽ được giải thích chi tiết. FIFO là một IP rất quan trọng được sử dụng trong nhiều lĩnh vực. Thông qua chương này, bạn có thể hiểu được nội dung thiết kế và triển khai FIFO.
Nội dung thứ bảy là nội dung được thêm vào trong phiên bản v2.3. Nội dung này thực hiện giao diện FMC (Flexible Memory Controller). Đặc biệt, nó bao gồm cách giải quyết lỗi Timing Violation thường xảy ra khi sử dụng từ 2 clock trở lên.
Nội dung thứ tám là nội dung được thêm vào phiên bản v2.4. Đây là nội dung về việc kiểm tra tốc độ (hiệu suất) của Block Memory bên trong FPGA và xác nhận xem tốc độ nào là phù hợp nhất.
Q. Đối tượng tham gia khóa học là ai?
Bạn cần biết ngữ pháp Verilog ở mức độ nhất định (sơ cấp) và có kiến thức cơ bản về HW.
Q. Tôi cần chuẩn bị những gì để tham gia khóa học?
Bài giảng được thực hiện trên bo mạch thực hành (Arty A7 -35T hoặc 100T, sản phẩm của hãng Digilent), nhưng nếu bạn chưa chuẩn bị được bo mạch, bạn có thể nghe bài giảng trước, thực hiện theo nội dung được giải thích trong bài giảng (lập trình và mô phỏng Simulation), sau đó tiến hành thực hành khi đã có bo mạch. Ngoài ra, JTAG-HS2 (hoặc HS3) được sử dụng để tải chương trình xuống bo mạch.
Q. Sử dụng công cụ lập trình nào?
Khóa học này dành cho FPGA của hãng Xilinx. Công cụ phần mềm được sử dụng là phiên bản Vivado 2018.3. Nội dung về cài đặt phần mềm không được bao gồm trong khóa học. Vui lòng cài đặt công cụ phần mềm (Vivado 2018.3 hoặc mới hơn) trước khi tham gia khóa học.
Tôi đã làm việc với tư cách là nhà phát triển tại các doanh nghiệp lớn và vừa trong hơn 20 năm, và hiện đang điều hành một doanh nghiệp nhỏ. Tôi đã phát triển ISP (Image Signal Processing) ASIC cho CCTV và nhiều sản phẩm sử dụng FPGA như thiết bị kiểm tra OLED, DAQ (Data Acquisition System). Không chỉ FPGA, tôi còn có nhiều kinh nghiệm trong phát triển FW (STM32, PIC32, AVR, ATMEGA, v.v.), thiết kế mạch, chương trình Windows và nhiều lĩnh vực khác.
Khóa học này dành cho ai?
Những người quan tâm đến FPGA
Những ai quan tâm đến Verilog
Những ai muốn nâng tầm kỹ năng Verilog
Dành cho những ai muốn nâng tầm trình độ FPGA
Cần biết trước khi bắt đầu?
Verilog HDL
FPGA
Xác minh sự nghiệp
1,791
Học viên
96
Đánh giá
134
Trả lời
4.8
Xếp hạng
17
Các khóa học
Tôi đã làm việc với tư cách là nhà phát triển tại các doanh nghiệp lớn và vừa trong suốt hơn 20 năm qua, và
Hiện tại tôi đang là đại diện của một doanh nghiệp nhỏ.
Các kinh nghiệm làm việc chính là
Thiết kế FPGA sử dụng Verilog HDL
Phát triển ISP ASIC cho CCTV (khoảng 10 năm)
Phát triển thiết bị kiểm tra màn hình OLED (khoảng 3 năm)
Phát triển thiết bị sử dụng FPGA
Firmware cho MCU
STM32
PIC32
AVR, ATMEGA
DSP (TI)
Chương trình ứng dụng Windows
Visual Studio MFC, C++
là.
Tất cả
359 bài giảng
Tài liệu khóa học:
Tất cả
16 đánh giá
5.0
16 đánh giá
Đánh giá 1
∙
Đánh giá trung bình 5.0
5
Khóa học đã hoàn thành
Cảm ơn bạn đã làm việc chăm chỉ ~ Đó không phải là số tiền nhỏ nhưng chúc mừng bạn đã kiên trì. Tôi hy vọng bạn hiểu đầy đủ nội dung bài giảng và trở thành một nhà phát triển giỏi trong thực tế! Cảm ơn
Đánh giá 15
∙
Đánh giá trung bình 5.0
5
Tôi đang sử dụng nó như một cuốn bách khoa toàn thư~ Tôi lại một lần nữa cảm thấy thật hạnh phúc khi có một người thầy. Cảm ơn!
Cảm ơn lời khen của bạn. Chúng tôi sẽ tiếp tục bổ sung nội dung trong tương lai để bài giảng trở nên hữu ích và nhiều thông tin hơn. Cảm ơn bạn~!!
Đánh giá 2
∙
Đánh giá trung bình 5.0
5
Tôi đã học về FPGA trước bài giảng này, nhưng nó rất khó. Hiện tại tôi đang xem Pork và tôi nghĩ mình sẽ rất vui khi học nếu làm theo sự hướng dẫn của Lee Kang. Tôi nghĩ đó là một bài giảng hay. Tôi chắc chắn sẽ thành công.
FPGA không hề dễ dàng. Nếu bạn theo dõi nội dung bài giảng, kỹ năng của bạn sẽ dần dần được nâng cao. Chúc may mắn và ủng hộ ~ Cảm ơn bạn ~!!
Đánh giá 4
∙
Đánh giá trung bình 5.0
Đánh giá 2
∙
Đánh giá trung bình 5.0
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!