Thiết kế vi mạch cơ bản | Các Chương trình Đào tạo ngắn hạn - Viện Công nghệ Thông tin, ĐHQG Hà Nội

Trang chủ / Chương trình đào tạo / Thiết kế vi mạch cơ bản ĐỀ 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