Thiết kế logic số<br />
(VLSI design)<br />
Chương 2: Ngôn ngữ VHDL<br />
Bài giảng 5: Phát biểu đồng thời, mô hình FSM<br />
và testbench trên VHDL<br />
Giáo viên: Hoàng Văn Phúc<br />
Bộ môn KT Xung-Số-Vi xử lý, Khoa Vô tuyến Điện tử<br />
02/2017<br />
https://sites.google.com/site/phucvlsi/teaching<br />
<br />
Giới thiệu Bài giảng<br />
Nội dung: Phát biểu đồng thời; mô tả FSM; VHDL<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
testbench<br />
Thời lượng: 3 tiết bài giảng<br />
Phương pháp: Thuyết trình (Slides, Bảng), Thảo luận,<br />
Minh hoạ trên ModelSim<br />
Yêu cầu: Đọc trước Slides và tài liệu GV đã gửi<br />
Mục tiêu: Nắm được cách sử dụng các phát biểu đồng<br />
thời; cách mô tả FSM và viết testbench trên VHDL<br />
Tài liệu tham khảo:<br />
Giáo trình “Thiết kế logic số”, HVKTQS, 2012, chương 2.<br />
Circuit design with VHDL, MIT Press, 2005, chapter 5.<br />
<br />
Chương 2: Ngôn ngữ VHDL<br />
<br />
2<br />
<br />
Nhắc lại bài cũ<br />
VHDL khác với các ngôn ngữ lập trình khác như thế<br />
<br />
nào?<br />
Hai loại phát biểu trong VHDL: tuần tự và đồng thời<br />
Các phát biểu tuần tự cơ bản: If, case, loop<br />
<br />
Ứng dụng chính của phát biểu tuần tự: các mạch số<br />
<br />
tuần tự, cấu trúc mô phỏng kiểm tra<br />
<br />
Chương 2: Ngôn ngữ VHDL<br />
<br />
3<br />
<br />
Câu hỏi thảo luận chính<br />
Điểm khác biệt giữa phát biểu tuần tự và<br />
<br />
<br />
<br />
<br />
<br />
<br />
đồng thời?<br />
Phân biệt generic và constant trong VHDL?<br />
Phân biệt các phát biểu loop và generate?<br />
Phân biệt các phát biểu gán tín hiệu có điều<br />
kiện và các phát biểu if, case?<br />
Khi nào dùng kiểu testbench tự động?<br />
<br />
Chương 2: Ngôn ngữ VHDL<br />
<br />
4<br />
<br />
VHDL statements (Phát biểu VHDL)<br />
<br />
VHDL<br />
statements<br />
<br />
Concurrent<br />
Đồng thời<br />
Chương 2: Ngôn ngữ VHDL<br />
<br />
Sequential<br />
Tuần tự<br />
5<br />
<br />