강의

멘토링

커뮤니티

Hardware

/

Semiconductor

Cơ bản về FPGA

Trong khóa học này, chúng ta sẽ tìm hiểu khái niệm cơ bản và nguyên lý hoạt động của FPGA, cũng như ưu điểm của FPGA và sự khác biệt với ASIC. Tiếp theo, chúng ta sẽ được giải thích về quy trình thiết kế FPGA và các lĩnh vực thiết kế FPGA chi tiết. Tìm hiểu các loại và vai trò của công cụ phát triển FPGA, và tiến hành cài đặt Vivado, công cụ phát triển FPGA của AMD. Thông qua thực hành thiết kế ví dụ đơn giản, bạn sẽ trải nghiệm quá trình thiết kế FPGA.

(4.6) 27 đánh giá

453 học viên

Độ khó Nhập môn

Thời gian 6 tháng

  • EasyFPGA
Verilog HDL
Verilog HDL
FPGA
FPGA
system-verilog
system-verilog
Verilog HDL
Verilog HDL
FPGA
FPGA
system-verilog
system-verilog
Thumbnail

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

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

4.6

5.0

배부한

100% đã tham gia

Việc giải thích dễ hiểu và đơn giản về cách thức hoạt động của FPGA coding và cấu trúc bên trong đã giúp ích rất nhiều cho tôi.

5.0

haneuli

25% đã tham gia

Hiểu về cấu trúc FPGA đã giúp ích rất nhiều. Cảm ơn bạn.

5.0

dmax

100% đã tham gia

Đây là một bài học mới. Cảm ơn bạn.

Bạn sẽ nhận được điều này sau khi học.

  • Tìm hiểu định nghĩa và nguyên lý hoạt động của FPGA

  • Xác định giá trị sử dụng FPGA thông qua so sánh giữa FPGA và ASIC

  • Nắm vững quy trình thiết kế FPGA (Mã hóa HDL → Tổng hợp → Đặt và định tuyến → Tạo bitstream)

  • Nắm bắt các kỹ thuật cần thiết trong lĩnh vực thiết kế chi tiết FPGA (giao diện, thuật toán và xử lý song song)

  • Tìm hiểu về công cụ phát triển FPGA

  • Nắm bắt cách cài đặt Vivado và Vitis, công cụ phát triển FPGA của AMD

  • Quy trình phát triển Vivado với thiết kế mẫu

Hình ảnh FPGA

Giới thiệu về khóa học

Khóa học này bao gồm các khái niệm cơ bản về cấu trúc và quy trình thiết kế FPGA (Field-Programmable Gate Arrays) , đồng thời đề cập đến hai trục thiết kế giao diện và thiết kế thuật toán cấu thành nên thiết kế từ góc độ thực tế. Đây là khóa học nhập môn dành cho những ai muốn học thiết kế FPGA một cách hệ thống, từ người mới bắt đầu đến người đã có kinh nghiệm.

Ngoài ra, thiết kế FPGA về cơ bản tương tự như quy trình front-end của thiết kế ASIC. Do đó, đây là một quy trình chuẩn bị tốt để bước vào thiết kế ASIC . Trên thực tế, việc tạo mẫu bằng FPGA thường được thực hiện khi bắt đầu một dự án ASIC, và điểm chung này cũng là lý do tại sao có nhiều kỹ sư thành thạo cả ASIC và FPGA.

Mục tiêu học tập

  • Hiểu FPGA là gì và tại sao chúng được sử dụng.

  • Tìm hiểu quy trình thiết kế FPGA từng bước.

  • Xác định các yếu tố chính của thiết kế giao diện (đồng hồ, I/O, bộ nhớ, truyền thông tốc độ cao, v.v.).

  • Hiểu các khái niệm về thiết kế thuật toán và cấu trúc xử lý song song (DSP, LUT, pipeline, FSM, v.v.).

  • Hiểu cách cấu hình hệ thống theo cách tích hợp và những điều cần lưu ý.

  • Hiểu về các công cụ phát triển FPGA và tìm hiểu cách cài đặt các công cụ phát triển FPGA của AMD.

  • Tìm hiểu cách sử dụng các thành phần bên trong FPGA như CLB, khối bộ nhớ và DSP.

FPGA là gì?

FPGA (Field Programmable Gate Array) là viết tắt của "field programmable gate array" (mảng cổng lập trình trường) và là một chip bán dẫn cho phép người dùng tự do cấu hình cấu trúc mạch phần cứng.

  • Khả năng cấu hình lại: khả năng lập trình lại mạch phần cứng để phù hợp với hành vi mong muốn.

  • Ứng dụng: Truyền thông, xử lý tín hiệu, trí tuệ nhân tạo, điều khiển robot, giao diện tốc độ cao, v.v.

  • Các thành phần: Khối logic, LUT, Flip-Flop, Mạng xung nhịp, RAM khối, DSP Slice, v.v.

Quy trình thiết kế FPGA

  1. Định nghĩa yêu cầu

    • Xác định rõ ràng các chức năng, hiệu suất và điều kiện đầu vào/đầu ra cần triển khai

  2. Thiết kế RTL

    • Thiết kế bằng ngôn ngữ mô tả phần cứng như Verilog HDL, system-verilog hoặc VHDL

  3. Mô phỏng chức năng

    • Xác minh rằng logic thiết kế đáp ứng các yêu cầu thông qua mô phỏng

  4. Tổng hợp

    • Chuyển đổi mã RTL thành mạch cấp cổng thực tế

  5. Địa điểm & Tuyến đường

    • Thiết kế vị trí trên các tài nguyên thực tế của FPGA (LUT, FF, DSP, v.v.)

  6. Tạo luồng bit

    • Tạo dữ liệu cấu hình mà FPGA có thể nhận dạng

  7. Lập trình và gỡ lỗi


    • Tải xuống FPGA, kiểm tra hoạt động, sửa đổi nếu cần thiết

Các lĩnh vực thiết kế FPGA

  1. Thiết kế giao diện

    • Cần có hiểu biết về I/O đầu vào/đầu ra và bộ đệm, cấu trúc xung nhịp, Bộ thu phát Gigabit và Giao diện bộ nhớ.


  2. Thiết kế thuật toán và xử lý song song

    • Sử dụng DSP, Thiết kế logic tùy chỉnh, Thiết kế FSM

    • Thiết kế đường ống và xử lý song song là chìa khóa.

Công cụ thiết kế FPGA

  1. Công cụ thiết kế từ các nhà sản xuất thiết bị lớn

    1. AMD FPGA: Vivado, Vitis

    2. Intel FPGA: Quartus

  2. Các tính năng chính

    1. Viết mã HDL/mô phỏng/tổng hợp

    2. Thiết lập các ràng buộc thiết kế (XDC, SDC, v.v.)

    3. Phân tích thời gian và tạo luồng bit

    4. Gỡ lỗi trên chip

  3. Quy trình làm việc của Vivado + Vitis

    1. Vivado: Thiết kế phần cứng

    2. Vitis: Thiết kế phần mềm


Cài đặt Vivado

  1. Vivado và Vitis là những công cụ cơ bản cần thiết cho quá trình phát triển FPGA của AMD.

  2. Bạn cần tạo một tài khoản trên Trang web AMD và tải xuống phiên bản bạn muốn.

    1. Phiên bản Standard miễn phí sử dụng nhưng hỗ trợ cho một số thiết bị bị hạn chế.

    2. Kích thước logic của thiết bị càng lớn thì dung lượng bộ nhớ cần thiết cho PC càng lớn.

  3. cài đặt

    1. Yêu cầu dung lượng ổ cứng 100GB trở lên.

    2. Phải mất 1~2 giờ hoặc lâu hơn.

Đèn LED nhấp nháy (Ví dụ)

  1. Sử dụng system-verilog, phân chia xung nhịp và RTL, hãy thiết kế một đèn LED bật tắt theo khoảng thời gian 1 giây.

  2. Tạo một băng ghế thử nghiệm và chạy mô phỏng.

  3. Chỉ định các ràng buộc trong tệp XDC.

  4. Đang trong quá trình tổng hợp và triển khai.

  5. Thêm tín hiệu gỡ lỗi vào ILA.

  6. Lập trình và thử nghiệm FPGA.

Linh kiện bên trong FPGA

  1. CLB (Khối logic có thể cấu hình)

  2. Ký ức

  3. DSP

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

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

  • Người quan tâm đến thiết kế FPGA

  • Những ai đang tò mò FPGA là gì

  • Người có ước mơ thiết kế bán dẫn

Xin chào
Đây là

514

Học viên

31

Đánh giá

4

Trả lời

4.5

Xếp hạng

3

Các khóa học

  • Khác với quy trình thiết kế bán dẫn truyền thống, FPGA là thiết bị có ưu điểm cho phép triển khai thiết kế một cách dễ dàng và nhanh chóng. Chỉ cần có mã nguồn thiết kế, bạn có thể ngay lập tức thực hiện việc bố trí và kết nối bằng cách tận dụng các phần tử logic của FPGA. Ngoài ra, vì mang tính chất phần cứng mạnh mẽ nên mã nguồn cũng không phức tạp và có thể được viết một cách trực quan.

  • Điều quan trọng là phải hiểu được khái niệm và quy trình (flow) thiết kế FPGA, xa hơn nữa là hiểu rõ mục đích và đối tượng thiết kế. Dựa trên cơ sở đó, việc tối ưu hóa cấu trúc của nguồn thiết kế và nhập các điều kiện ràng buộc (constraints) phù hợp để thiết kế một FPGA hoạt động ổn định chính là điểm mấu chốt.

  • Khóa học sẽ tập trung vào khái niệm, cấu trúc, phương pháp và quy trình thiết kế FPGA thay vì chỉ thuần túy là lập trình, đồng thời bao gồm các nội dung thực hành theo từng bước (step-by-step). Việc trực tiếp triển khai, thực hành và tích lũy bí quyết chính là cốt lõi của một kỹ sư FPGA, và điều này sẽ mang lại giá trị lớn hơn cả việc lập trình vốn có thể bị thay thế bởi AI trong tương lai.

  • Chuyên gia thiết kế phần cứng và FPGA với hơn 10 năm kinh nghiệm, chuyên về thiết kế hệ thống truyền thông và xử lý dữ liệu tốc độ cao, xử lý hình ảnh, và đã tham gia vào nhiều dự án FPGA đa dạng.

  • Bạn có thể tìm thêm thông tin bổ sung tại Youtube hoặc Blog dưới đây.

Chuyên sâu về các lĩnh vực như vậy và đã tham gia vào nhiều dự án FPGA khác nhau. Bạn có thể tìm thêm thông tin chi tiết tại kênh Youtube hoặc Blog dưới đây. https://www.youtube.com/@easy-fpga easyfpga.blog

Chuyên về các lĩnh vực như..., và tham gia vào nhiều dự án FPGA đa dạng. Bạn có thể tìm hiểu thêm thông tin chi tiết tại kênh Youtube hoặc Blog dưới đây. https://www.youtube.com/@easy-fpga easyfpga.blog

Chương trình giảng dạy

Tất cả

16 bài giảng ∙ (1giờ 39phút)

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ả

27 đánh giá

4.6

27 đánh giá

  • jeruel119219님의 프로필 이미지
    jeruel119219

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Việc giải thích dễ hiểu và đơn giản về cách thức hoạt động của FPGA coding và cấu trúc bên trong đã giúp ích rất nhiều cho tôi.

    • deokryul님의 프로필 이미지
      deokryul

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      31% đã tham gia

      • neulha님의 프로필 이미지
        neulha

        Đánh giá 15

        Đánh giá trung bình 5.0

        Đã chỉnh sửa

        5

        25% đã tham gia

        Hiểu về cấu trúc FPGA đã giúp ích rất nhiều. Cảm ơn bạn.

        • sirochiri님의 프로필 이미지
          sirochiri

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          63% đã tham gia

          • ninety25296님의 프로필 이미지
            ninety25296

            Đánh giá 145

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Đây là một bài học mới. Cảm ơn bạn.

            Miễn phí

            Khóa học khác của EasyFPGA

            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!