강의

멘토링

로드맵

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.7) 9 đánh giá

166 học viên

  • EasyFPGA
fpga기초
fpga이해
fpga디자인플로우
Verilog HDL
FPGA
system-verilog
Thumbnail

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

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

  • 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à

209

Học viên

12

Đánh giá

3

Trả lời

4.2

Xếp hạng

3

Các khóa học

  • FPGA는 전통적인 반도체 설계 과정과 달리, 쉽고 빠르게 설계를 구현할 수 있는 장점을 가진 디바이스입니다. 디자인 소스만 있으면, FPGA의 논리 요소를 활용하여, 즉시 배치 및 연결이 가능합니다. 또한, 하드웨어적인 성격이 강하기 때문에 코드 역시 복잡하지 않고 직관적으로 작성할 수 있습니다.

  • 중요한 것은 FPGA의 설계 개념과 Flow를 이해하며, 나아가서는 설계 목적과 대상에 대해 이해를 하는 것입니다. 이를 바탕으로 디자인 소스의 구조를 최적화하고, 알맞은 제약조건을 입력해 안정적인 FPGA를 설계하는 것이 핵심입니다.

  • 강의에서는 코딩보다는 FPGA 설계 개념과 구조, 설계 방식 및 Flow를 중심으로 구성되며, Step-by-Step 실습 위주의 내용을 담을 것 입니다. 직접 구현하고 실습하며 노하우를 쌓아가는 것이 FPGA 엔지니어의 핵심이며, 앞으로 AI로 대체될 코딩 보다 더 큰 가치가 될 것입니다.

     

  • 10+ 경력의 FPGA 및 하드웨어 설계 전문가로, 고속 데이터 처리 및 통신 시스템 설계, 영상 처리 등에 특화되어 있으며, 다양한 FPGA 프로젝트에 참여.

  • 아래 Youtube나 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ả

9 đánh giá

4.7

9 đánh giá

  • haneuli님의 프로필 이미지
    haneuli

    Đánh giá 14

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    25% đã tham gia

    FPGA 구조를 이해하는데 도움이 많이 됐어요. 감사합니다.

    • dmax님의 프로필 이미지
      dmax

      Đánh giá 121

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      새로운 학습이었습니다. 고맙습니다

      • Jang Jaehoon님의 프로필 이미지
        Jang Jaehoon

        Đánh giá 564

        Đánh giá trung bình 4.8

        5

        100% đã tham gia

        좋은 강의 감사합니댜!

        • SH Chang님의 프로필 이미지
          SH Chang

          Đánh giá 2

          Đánh giá trung bình 5.0

          5

          63% đã tham gia

          • 이석중님의 프로필 이미지
            이석중

            Đánh giá 1

            Đánh giá trung bình 3.0

            3

            31% đã tham gia

            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!