강의

멘토링

로드맵

Inflearn brand logo image
Hardware

/

Semiconductor

Chương trình Verilog FPGA 2 (MicroBlaze, Arty A7-35T)

Đây là nội dung về việc triển khai MicroBlaze trên Xilinx FPGA.

(5.0) 5 đánh giá

192 học viên

  • alex
fpga
verilog
hdl
xilinx
FPGA
MicroBlaze
Verilog HDL

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

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

  • Sử dụng MicroBlaze trong FPGA

  • Chương trình Verilog

  • Chương trình FPGA

FPGA MicroBlaze là một nhiệm vụ khó khăn để nghiên cứu!
Bạn có thể có được rất nhiều niềm vui với bài giảng này 💪

Sử dụng MicroBlaze trên FPGA Xilinx!

MicroBlaze là bộ xử lý có sẵn dưới dạng IP trên FPGA. MicroBlaze tách biệt Lõi bộ xử lý và Thiết bị ngoại vi, cho phép người dùng cấu hình Thiết bị ngoại vi phù hợp với mục đích của họ.

Chủ đề bài giảng 📖

Việc xử lý FPGA đặt ra nhiều thách thức. Để triển khai FPGA, bạn không chỉ cần có kiến ​​thức về phần cứng mà còn phải hiểu biết sâu sắc về các công cụ được sử dụng và cú pháp Verilog. Việc chuyển và sử dụng MCU đòi hỏi kiến ​​thức chuyên sâu hơn. Xilinx cung cấp rất nhiều tài liệu về FPGA, nhưng khi bạn xem tài liệu, nó thường giới thiệu bạn đến tài liệu khác. Vì vậy, sẽ rất khó để đọc và hiểu tài liệu do Xilinx cung cấp trừ khi bạn là một nhà phát triển có kinh nghiệm.

Bài giảng này trình bày chi tiết cách kết nối và sử dụng MicroBlaze trên Xilinx FPGA . Từ quá trình cài đặt công cụ Cách chuyển và sử dụng MicroBlaze , Nó trình bày chi tiết việc triển khai giao diện giữa logic người dùng và MCU . Nâng cao sự nghiệp của bạn lên một tầm cao mới với các kỹ năng sử dụng MicorBlaze trong FPGA!

Nếu có bất kỳ điều gì bạn không hiểu trong bài giảng, vui lòng đăng câu hỏi thông qua cộng đồng Inflearn hoặc quán cà phê tôi điều hành và tôi sẽ trả lời.

📢 Hãy nhớ kiểm tra trước khi tham gia lớp học!

  • Bài giảng này là bài giảng dạng văn bản điện tử. Đối với những người tham gia khóa học, chúng tôi cung cấp tất cả các tệp nguồn được giải thích trong khóa học. Bài giảng sẽ được sản xuất dưới dạng video trong tương lai.
  • Bài giảng này dựa trên Vitis 2022.1, phiên bản sau năm 2019.
  • Tài liệu bài giảng có thể tải xuống từ 'Mục 0 - Liên kết chia sẻ tài liệu - Tệp đính kèm'.

Tính năng bài giảng ✨

Nội dung bài giảng là
Có thể áp dụng ngay vào thực tế!

Đã được thử nghiệm và chứng minh
Cung cấp mã nguồn mở !

Gỡ lỗi, phát triển cần thiết
Đã cung cấp chương trình ứng dụng Windows !


Tôi giới thiệu điều này cho những người này 🙋‍♀️

Thiết kế FPGA với Verilog
Một người có kinh nghiệm

Sử dụng ngôn ngữ C
Bất kỳ ai đã thử FW

Tôi quan tâm đến MicroBlaze, nhưng
Người không có kinh nghiệm


Học những điều như thế này 📚

Mục 1 . Cấu hình phần cứng

Mục 2 . Quy trình cài đặt Vitis 2022.1

  • Vitis là một công cụ rất nặng. Giải thích những điều cần lưu ý trong quá trình cài đặt và cách cài đặt mà không xung đột với cài đặt Vivado hiện tại của bạn.

Mục 3 . In “Hello world” trên màn hình bằng MicroBlaze

  • Mục đích của phần này là cung cấp cho bạn cái nhìn tổng quan về luồng.

Mục 4 . Thiết bị ngoại vi của MicoBlaze

  • Mô tả các loại GPIO, Timer, Uart và Interrupt được sử dụng phổ biến nhất. Vì các thiết bị ngoại vi do MicroBlaze cung cấp đều tương tự nhau nên sau khi bạn đã nắm được nội dung bài giảng, bạn có thể dễ dàng sử dụng các thiết bị ngoại vi khác.

Mục 5 . Kiến thức có thể áp dụng vào thực tế

  • Phần lớn vật liệu sẽ bao phủ các thiết bị ngoại vi. Tuy nhiên, mục đích của việc sử dụng MicroBlaze trong FPGA là để điều khiển logic do người dùng thiết kế thông qua MicroBlaze. Cuối cùng, mục đích của nó là kiểm soát logic được người dùng thiết kế thông qua UI (Giao diện người dùng).
  • Trong bài giảng này, chúng tôi đã thêm 4 mô-đun PWM để cấu hình Logic người dùng. Cấu hình Register Map để kiểm soát User Logic và kiểm soát User Logic thông qua MicroBlaze và UI. Chúng tôi giải thích toàn bộ quá trình, thực hiện và hiển thị kết quả.
  • Nội dung được đề cập trong phần này có thể áp dụng ngay vào công việc thực tế của bạn. Nếu bạn thêm User Logic và Register Map, bạn có thể sử dụng tất cả các quy trình khác khi đã triển khai.

Mục 6 . Máy chủ Echo lwIP

  • Bài viết này sẽ hướng dẫn bạn triển khai Echo Server bằng lwIP. Triển khai Bộ điều khiển DDR để sử dụng Bộ nhớ đệm (Bộ nhớ đệm hướng dẫn, Bộ nhớ đệm dữ liệu) trong MicroBlaze.

Mục 7 . Tận dụng lwIP

  • Phần này giải thích quá trình thêm Logic người dùng vào giao tiếp TCP/IP bằng cách sử dụng lwIP. Phần này giải thích quá trình gửi lệnh bằng TCP/IP từ PC, nhận lệnh qua lwIP và điều khiển đèn LED trên bo mạch trong User Logic. Thông qua đó, chúng tôi triển khai giao diện giữa lwIP và User Logic và kiểm tra kết quả.

Mục 8 . Triển khai TCP/IP bằng mô-đun W5500

  • Đã thêm vào v1.4. Bài viết này sẽ hướng dẫn triển khai TCP/IP bằng mô-đun w5500 của Wiznet. Thực hiện truyền và nhận dữ liệu bằng cách kết nối với máy tính và mạng. Nếu chúng ta áp dụng điều này, nó có thể được áp dụng trong nhiều lĩnh vực sử dụng TCP/IP.

Mục 9 . Giao diện bộ nhớ khối - 1

  • Đã thêm vào v1.5. Triển khai Giao diện bộ nhớ khối được cung cấp theo mặc định trong Thiết kế khối.

Mục 10 . Giao diện bộ nhớ khối - 2

  • Đã thêm vào v1.5. Triển khai Giao diện Bộ nhớ Khối bằng cách thêm Bộ nhớ Khối vào Logic Người dùng. Bằng cách áp dụng điều này, chúng tôi triển khai Bản đồ đăng ký người dùng và ví dụ về việc kiểm soát tần số và nhiệm vụ của PWM.
Bạn có tò mò về chương trình giảng dạy chi tiết không?
  1. Tổng quan (4)
  2. Cấu hình HW (6)
  3. Cài đặt SW (7)
  4. Triển khai Hello World (12)
    1. Triển khai mẫu cơ bản (12)
      1. Tạo một dự án (12)
      2. Tạo khối thiết kế (15)
      3. Tạo HDL Wrapper (21)
      4. Triển khai Logic Người dùng (22)
      5. triển khai xdc (27)
      6. Tạo Bitstream (30)
      7. Xuất khẩu phần cứng (31)
    2. Triển khai SW nhúng (34)
    3. Tải chương trình trong Flash (45)
      1. Tải xuống từ vitis (45)
      2. Thêm tệp elf vào vivado và tải xuống (50)
  5. Triển khai thiết bị ngoại vi MicroBlaze (59)
    1. Thiết kế khối (59)
      1. GPIO: LED_4bit (60)
      2. GPIO : btn0 (Ngắt ngoài-1) (61)
      3. GPIO : btn1 (Ngắt ngoài-2) (62)
      4. GPIO: btn3, 4 (Đầu vào chung, Công tắc bật tắt) (63)
      5. Bộ đếm thời gian (64)
    2. Ứng dụng SW (71)
      1. tập tin xparameters.h (72)
      2. Cấu trúc nguồn (75)
      3. Thực hiện mã (77)
    3. Tải xuống và kiểm tra kết quả (82)
  6. Triển khai Giao diện Logic Người dùng (83)
    1. Thiết kế khối (84)
    2. Triển khai Logic Người dùng (88)
      1. mcu_pwm.v (89)
      2. pwm_top.v (90)
      3. spi_nô lệ.v (91)
        1. Giao thức truyền thông (93)
        2. Đăng ký Bản đồ (93)
        3. Phân tích dạng sóng (94)
        4. Thực hiện mã (96)
        5. Mô phỏng (103)
      4. BlazeTop.v (106)
      5. thế hệ xdc (109)
    3. Ứng dụng SW (112)
      1. Sao chép comm_task (116)
      2. xin chào thế giới.c (116)
      3. Giao thức truyền thông (118)
      4. comm_task (119)
    4. Tải xuống và kiểm tra kết quả (120)
    5. Cập nhật bài tập về nhà (124)
  7. Triển khai máy chủ Echo lwIP (126)
    1. Cấu hình hệ thống (126)
    2. Triển khai phần cứng lwIP (128)
      1. Tạo một dự án (128)
      2. Tạo khối HW (130)
      3. Tạo HDL Wrapper (152)
      4. Ứng dụng SW (158)
      5. Kiểm tra kết quả (167)
      6. Phân tích nguồn (174)
  8. Tận dụng lwIP (180)
    1. Thiết kế HW (180)
    2. Triển khai Logic Người dùng (185)
    3. Triển khai SW ứng dụng (192)
  9. Triển khai TCP/IP sử dụng W5500 (202)
    1. Tạo một dự án (206)
    2. Thiết kế khối (207)
    3. Triển khai mô-đun hàng đầu (217)
    4. Triển khai SW ứng dụng (222)
      1. Kích thước bộ nhớ (232)
      2. Cấu trúc tập tin (233)
      3. data_type.h (233)
      4. ax_common.h (234)
      5. w5500.c, w5500.h (234)
      6. w5500_task.c, w5500_task.h (234)
      7. w5500_socket.c, w5500_socket.h (235)
      8. w5500_loopback.c, w5500_loopback.h (235)
      9. helloworld.c (238)
    5. Kiểm tra kết quả (240)
      1. Xây dựng dự án (240)
      2. Cài đặt mạng PC (241)
      3. Tải chương trình và kiểm tra kết quả (242)
      4. Tải chương trình xuống Flash ngoài (246)
    6. Kết luận (247)
  10. Giao diện bộ nhớ khối - 1 (248)
    1. Tạo một dự án (248)
    2. Thiết kế khối (250)
    3. Thêm tệp ràng buộc (260)
    4. Triển khai SW ứng dụng (263)
  11. Giao diện bộ nhớ khối - 2 (268)
    1. Tạo một dự án (269)
    2. Thiết kế khối (270)
    3. Thiết kế logic người dùng (279)
    4. Triển khai SW ứng dụng (289)
    5. Tải xuống và kiểm tra kết quả (289)
    6. Sửa lỗi liên kết tập lệnh (295)
  12. Tài liệu tham khảo (297)
  13. Lịch sử sửa đổi (298)

Câu hỏi dự kiến ​​Q&A 💬

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

Khóa học này dành cho những người hiểu cú pháp Verilog, có kinh nghiệm thiết kế FPGA và có kinh nghiệm phát triển hệ thống nhúng (FW). Tuy nhiên, ngay cả khi bạn chỉ có một chút kinh nghiệm, bạn vẫn có thể hiểu được nếu bạn theo dõi chính xác nội dung.

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

Bài giảng này sẽ được thực hiện trên ván thực hành Arty A7-35T (100T, sản phẩm Digilent). Nếu bạn không có sẵn bảng, vui lòng kiểm tra nội dung trước rồi mới mua bảng sau và nhớ kiểm tra nội dung trên bảng. Việc triển khai FPGA không kết thúc bằng mô phỏng mà phải được xác minh trong phần cứng.

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

Chúng tôi sử dụng phiên bản mới nhất, vitis 2022.1. Quá trình cài đặt được giải thích chi tiết trong hướng dẫn này.


Giới thiệu người chia sẻ kiến ​​thức ✒️

Lịch sử

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


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

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

  • Những ai quan tâm đến MicroBlaze

  • FPGA quan tâm

  • Những ai quan tâm đến Verilog

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

  • ngôn ngữ C

  • VerilogHDL

  • FPGA của Xilinx

Xin chào
Đây là

1,657

Học viên

67

Đánh giá

124

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ả

290 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ả

5 đánh giá

5.0

5 đánh giá

  • withuman3898님의 프로필 이미지
    withuman3898

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    52% đã tham gia

    It is very helpful for my work. Thank you for the great lecture!!

    • soi897님의 프로필 이미지
      soi897

      Đánh giá 6

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      Unless it has ARM built-in like Zybo, it is easier to develop with Microblaze. However, the method of using Microblaze is spread all over the Internet, so you have to study by Googling, and if a beginner studies like that, it seems like it is difficult to distinguish what is really necessary. However, this lecture will provide basic knowledge for using Microblaze. If you apply the contents of this lecture a little, you will be able to apply it sufficiently in practice. And the best part is that you can immediately find and review it whenever you need it.

      • ihil
        Giảng viên

        Thank you so much for your sincere review. I am also grateful that it was helpful. I hope you will become a great developer in the future. These days, there are so many video materials, so videos can be convenient and have many advantages. However, as you said, when you want to watch the material repeatedly, documents are better. This is because you can find where and what is in the document right away. I will continue to create useful materials so that many people can benefit from them. Thank you~!!

    • neulha님의 프로필 이미지
      neulha

      Đánh giá 12

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • park395989962님의 프로필 이미지
        park395989962

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        26% đã tham gia

        I am currently working on a project using Microblaze. There are not many resources on the Internet and it was difficult to find practical information, but I am getting a lot of help. I can see the traces of a lot of time and effort put into creating the resources. Anyway, it was a very good lecture. I think it will be helpful to many people.

        • ihil
          Giảng viên

          Thank you for your course review. I hope that your project with MicroBlaze goes well and you get good results. Thank you~!!

      • baekga839465님의 프로필 이미지
        baekga839465

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        61% đã tham gia

        It's not difficult because it's been explained easily so far. It seems like a good lecture. I'm designing FPGA Logic and HW in the field, and these days, it seems like a lot of people are demanding the ability to handle MB or NIOS. I think it will be a good stepping stone. I ask for good education in the future.

        • ihil
          Giảng viên

          Thank you so much for your review. I appreciate that you found it helpful. The world seems to be changing so fast. Technology is also changing so fast. There are so many things to do. Anyway, I hope everything goes well. Thank you~!!

      1.733.864 ₫

      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!

      Khóa học tương tự

      Khám phá các khóa học khác trong cùng lĩnh vực!