1. Tên khoá đào tạo: Thiết kế vi mạch cơ bản
2. Số buổi: 12 buổi (05 tiết/buổi)
3. Mục tiêu khóa học:
Trang bị cho người học kiến thức cần thiết về thiết kế vi mạch số, thiết kế lõi IP theo yêu cầu của ứng dụng. Người học có thể phân tích và thực hiện các mô đun lõi IP trên FPGA. Khoá học còn giúp người học hướng đến phát triển các thiết bị vi điện tử đang được sử dụng ngày nay. Ngoài ra, khoá học còn trang bị cho người học các kỹ năng sử dụng ngôn ngữ mô tả phần cứng, sử dụng thành thạo các công cụ và phần mềm thiết kế và 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 cuối năm 2 trở lên các ngành điện, điện tử, kỹ thuật máy tính, công nghệ thông tin, AIOT.
- Người học cần có các kiến thức cơ bản về điện tử số, linh kiện điện tử, tư duy lập trình.
5. Chuẩn đầu ra
Sau khi hoàn thành khóa học, người học có khả năng:
- Thiết kế vi mạch số sử dụng ngôn ngữ mô tả phần cứng Verilog
- Phân tích, thiết kế, kiểm tra và sửa lỗi trên lõi IP theo yêu cầu
- Thực hiện các mô đun lõi IP trên nền FPGA
- Sử dụng thành thạo ngôn ngữ mô tả phần cứng Verilog và các công cụ, phần mềm thiết kế chuyên dụng.
STT |
Nội dung giảng dạy |
Số tiết
|
Nội dung và hướng dẫn tự học |
---|---|---|---|
1 |
Buổi 1: Giới thiệu ngôn ngữ mô tả phần cứng, công cụ mô phỏng và quy trình thiết kế phần cứng 1.1. Giới thiệu ngôn ngữ mô tả phần cứng Verilog/VHDL 1.2. Giới thiệu công cụ mô phỏng: Quartus/ Modelsim/University Waveform Simulation 1.4. Quy trình thiết kế vi mạch số Lab: Mô phỏng một thiết kế vi mạch số đơn giản |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
2 |
Buổi 2: Chủ đề nâng cao về thiết kế mạch logic tổ hợp 2.1. Giới thiệu các cổng logic cơ bản 2.2. Mạch logic tổ hợp 2.2. Lập trình Verilog nâng cao cho các mạch logic tổ hợp Lab: Thiết kế một mạch tổ hợp đơn giản và viết testbench tự động để kiểm thử |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
3 |
Buổi 3: Chủ đề nâng cao về thiết kế mạch logic tuần tự 3.1. Mạch logic tuần tự 3.3. Lập trình Verilog nâng cao cho các mạch logic tuần tự Lab: Thiết kế một mạch tuần tự đơn giản và viết testbench tự động để kiểm thử |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
4 |
Buổi 4: Chủ đề nâng cao về thiết kế máy trạng thái hữu hạn FSM 4.1. Giới thiệu máy trạng thái hữu hạn FSM 4.2. Phân loại máy trạng thái 4.3. Thiết kế máy trạng thái 4.4. Mã hoá máy trạng thái Lab: Lập trình máy trạng thái đơn giản, mô tả RTL code cho máy trạng thái |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
5 |
Buổi 5, 6: Quy trình thiết kế IP 5.1. Giới thiệu thành phần của một IP và các giao diện kết nối (interface) 5.2. Quy trình thiết kế IP 5.3. Xây dựng testbench để kiểm tra IP 5.4. 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 5.5. Xây dựng một trường hợp kiểm thử của IP Lab 1: Thiết kế một IP đơn giản (IO driver hoặc một core AES) |
10 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
6 |
Buổi 7: Thiết kế hệ thống truyền thông trên chip 7.1. Avalon Bus 7.2. Avalon Slave Interface; Avalon Master Interface Lab: Truy cập bộ nhớ trực tiếp (Direct Memory Access) |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
7 |
Buổi 8: Tổng hợp phần cứng và thực thi trên KIT FPGA 8.1. Phần mềm Quartus 8.2. Thiết kế để tổng hợp phần cứng 8.3. Tạo các ràng buộc cho thiết kế 8.4. Tổng hợp phần cứng với Quartus 8.5. Thực thi phần cứng với Quartus 8.6. Kiểm tra thiết kế sau khi thực thi với KIT phát triển Lab: Tổng hợp và thực thi một thiết kế với Quartus |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
9 |
Buổi 9, 10, 11: Giới thiệu NiosII, IP integrator và Môi trường phát triển phần mềm 9.1. Giới thiệu về NiosII 9.2 Sử dụng Quartus để tạo một vi xử lý mềm (soft processor) 9.3. Sử dụng Qsys/Platform Designer để tạo ra một hệ thống trên chip (SoC) trên FPGA Lab 1: Sử dụng Quartus để tạo ra một SoC chạy trên FPGA (Chức năng Debug) 9.4. Tạo gói hỗ trợ bo mạch (board supported package – BSP) 9.5. Viết chương trình chạy trên SoC Lab 2: Viết chương trình HelloWorld |
15 |
Đọc giáo trình, slide bài giảng Thực hành LAB |
10 |
Buổi 12: Tạo một IP tùy biến 12.1. Sử dụng Qsys/Platform Designer của Quartus để 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 |
5 |
Đọc giáo trình, slide bài giảng Thực hành LAB |