ĐỀ CƯƠNG KHÓA HỌC

THIẾT KẾ VI MẠCH CƠ BẢN

1. Tổng quan nội dụng:

Chương trình “thiết kế vi mạch cơ bản” bao gồm hai phần chính:

a) Lý thuyết thiết kế cơ bản:- Kiến thức về thiết kế lõi IP (ví dụ, thiết kế IP điều khiển ngắt)- Quy trình thiết kế lõi IP- Kiểm thử kiến trúc đường truyền dữ liệu AMBA trên FPGA- Thiết kế vi xử lí mềm Microblaze- Xây dựng firmware, thiết kế và kiểm thử trên hệ thống trên chipb) Thực hành thiết kế:- Thiết kế IP cơ bản và kiểm thử trên FPGA (ví dụ như AES-128)

2. Thời lượng khóa học: 40 tiết.

3. Mục tiêu khóa học:

– Kiến thức: Nắm được kiến thức cơ bản về thiết kế, phát triển các thiết bị vi điện tử đang được sử dụng ngày nay- Kỹ năng: Sử dụng thành thạo ngôn ngữ mô tả phần cứng, sử dụng thành thạo các công cụ, phầm mềm thiết kế- Thái độ, chuyên cần: Nâng cao tính tích cực trong học và tự học

4. Đối tượng tham gia khóa học: Tốt nghiệp đại học (hoặc đang học năm 3, năm cuối) các ngành điện, điện tử, kỹ thuật máy tính, công nghệ thông tin

5. Yêu cầu kiến thức: Người học cần có các kiến thức cơ bản về điện tử số, kiến trúc máy tính, cấu kiện điện tử, thiết kế lô-gic số, tư duy lập trình

6. Kỹ năng đạt được sau khóa học:

– Tư duy thiết kế phần cứng- Quy trình thiết kế và kiểm thử vi mạch số- Sử dụng thành thạo các công cụ hỗ trợ thiết kế và ngôn ngữ mô tả phần cứng- Thực thi được dự án đơn giản (mini-project) về thiết kế mạch

CHƯƠNG TRÌNH KHUNG

BUỔI NỘI DUNG SỐ TIẾT
1
  • Giới thiệu về quy trình thiết kế phần cứng, các kỹ thuật và các công cụ.
  • – Ngôn ngữ mô tả phần cứng: VHDL/Verilog/SystemVerilog
    – Công cụ mô phỏng: VCS/Modelsim/Vivado
    – Quy trình thiết kế vi mạch số
  • Bài thực hành (Lab): Mô phỏng một thiết kế dơn giản
4
2
  • Chủ đề nâng cao về ngôn ngữ mô tả phần cứng và chương trình mô tả
  • – Thiết kế mạch lô-gic tổ hợp
    – Thiết kế mạch lô-gic tuần tự
    – Thiết kế máy trạng thái hữu hạn
  • Bài thực hành (Lab): Thiết kế một mạch số đơn giản và viết testbench tự động để kiểm thử
4
3&4
  • Quy trình thiết kế IP
  • – Thành phần của một IP và các giao diện kết nối của IP (interface)
    – Quy trình thiết kế IP
    – Xây dựng testbench để kiểm tra IP
    – Xây dựng các trường hợp kiểm thử (testcase) để mô phỏng các tính năng cơ bản của IP
    – Xây dựng một trường hợp kiểm thử của IP
  • Bài thực hành 1: Thiết kế một IP đơn giản (LED driver hoặc một core AES)

    Bài thực hành 2: Viết một testbench

    Bài thực hành 3: Kiểm thử thiết kế (với các quy trình nâng cao và tùy chọn)
4
5
  • Thiết kế hệ thống truyền thông trên chip:
  • – Bus AMBA AXI/AHB
    – AXI Slave; AXI Master
    – Truy cập bộ nhớ trực tiếp (Direct Memory Access)
  • Bài thực hành thiết kế một giao diện kế nối bus đơn giản sử dụng Xilinx Vivado và viết testbench để kiểm thử thiết kế
4
6
  • Tổng hợp phần cứng và thực thi trên FPGA:
  • – Giới thiệu về phần mềm Vivado
    – Thiết kế để tổng hợp phần cứng
    – Tạo các ràng buộc cho thiết kế
    – Tổng hợp phần cứng với Vivado
    – Thực thi phần cứng với Vivado
    – Kiểm tra thiết kế sau khi thực thi với Dev kit
  • Bài thực hành: Tổng hợp và thực thi một thiết kế đơn giản với Vivado
4
7
  • Giới thiệu Microblaze và IP integrator
  • – Sử dụng Vivado để tạo ra một vi xử lý mềm (soft processor)
    – Sử dụng Vivado IP category để tạo ra một hệ thống trên chip (SoC) đơn giản trên FPGA
  • Bài thực hành: Sử dụng Vivado để tạo ra một SoC chạy trên FPGA
4
8
  • Môi trường phát triển phần mềm:
  • – Giới thiệu về Microblaze SDK
    – Tạo gói hỗ trợ bo mạch (board supported package – BSP)
    – Viết chương trình đơn giản chạy trên SoC vừa tạo
  • Bài thực hành: Viết chương trình HelloWorld
4
9
  • Tạo một IP tùy biến:
  • – Sử dụng công cụ Manage IP của Vivado để tạo ra một IP tùy biến và mở rộng hệ thống với giao diện kết nối tùy biến
  • Bài thực hành: Tạo một AES IP tùy biến với giao diện kết nối AXI Slave và viết phần mềm tương tác với IP
8