
TRƯỜNG ĐẠI HỌC SÀI GÒN
KHOA ĐIỆN TỬ VIỄN THÔNG
GIÁO TRÌNH
THIẾT KẾ LOGIC SỐ
Biên soạn: TS. Hồ Văn Cừu
ThS. Nguyễn Hữu Phúc
ThS. Nguyễn Thị Thu Hằng
Thành phố Hồ Chí Minh, 2018

Mục lục
3
MỤC LỤC
LỜI GIỚI THIỆU ............................................................................................................. 2
MỤC LỤC ........................................................................................................................ 3
CHƯƠNG 1 – TỔNG QUAN VỀ THIẾT KẾ HỆ THỐNG SỐ ...................................... 7
1.1 GIỚI THIỆU CHUNG ................................................................................................ 7
1.2 QUY TRÌNH PHÁT TRIỂN HỆ THỐNG ĐIỆN TỬ ................................................ 7
1.2.1 Quy trình phát triển sản phẩm tuần tự.................................................................. 8
1.2.2 Quy trình phát triển sản phẩm song song ............................................................. 9
1.3 MÔ HÌNH KIẾN TRÚC VÀ CÁC MỨC THIẾT KẾ HỆ THỐNG SỐ .................. 11
1.3.1 Kiến trúc của hệ thống số ................................................................................... 11
1.3.2 Các Mức thiết kế hệ thống số ............................................................................. 12
1.4. TỔNG QUAN VỀ CÁC CÔNG NGHỆ THỰC HIỆN HỆ THỐNG SỐ ................ 13
1.4.1 Phân loại các công nghệ logic số ....................................................................... 13
1.4.2 So sánh các loại cấu kiện chuẩn ......................................................................... 16
1.5 QUY TRÌNH THIẾT KẾ VI ĐIỆN TỬ ................................................................... 20
1.6 VAI TRÒ CỦA THIẾT KẾ VI ĐIỆN TỬ SỬ DỤNG HDL .................................... 21
1.7 LƯU ĐỒ THIẾT KẾ VI ĐIỆN TỬ DÙNG HDL .................................................... 24
1.7.1. Thiết kế logic .................................................................................................... 24
1.7.2. Tổng hợp thiết kế (Synthesis) ........................................................................... 24
1.7.3. Thiết kế mức vật lý (Physical Design) .............................................................. 25
1.7.4. Kiểm tra thiết kế (Verification) ......................................................................... 26
1.7.5 Sản xuất và đóng gói .......................................................................................... 27
1.8 CÁC PHẦN MỀM EDA HỖ TRỢ THIẾT KẾ LOGIC SỐ DÙNG HDL ............... 27
CHƯƠNG 2 – CẤU KIỆN LOGIC KHẢ TRÌNH (PLD). ........................................ 28
2.1. GIỚI THIỆU CHUNG VỀ CÔNG NGHỆ LOGIC KHẢ TRÌNH (PLD) ............... 28
2.1.1. SPLD ................................................................................................................. 28
2.1.2. CPLD (Complex PLD) ..................................................................................... 31
2.1.3. FPGA ................................................................................................................ 32
2.2. GIỚI THIỆU PHƯƠNG PHÁP THIẾT LẬP CẤU HÌNH CHO CPLD/FPGA ..... 34
2.2.1 Phương pháp dùng sơ đồ mô tả .......................................................................... 34
2.2.2. Phương pháp dùng ngôn ngữ mô tả phần cứng (HDL) ..................................... 35
2.3. YÊU CẦU CHUNG KHI THIẾT KẾ VỚI CPLD/FPGA ....................................... 35
2.3.1 Chọn vi mạch CPLD hoặc FPGA phù hợp ........................................................ 35
2.3.2 Chọn giải pháp cấu hình cho CPDL/FPGA ....................................................... 36
2.3.3 Chọn công cụ phần mềm phù hợp ..................................................................... 38
2.4. LƯU ĐỒ THIẾT KẾ CHO CPLD/FPGA ............................................................... 38
2.4.1 Lưu đồ thiết kế cho CPLD ................................................................................. 38
2.4.2 Lưu đồ thiết kế cho FPGA ................................................................................. 42
2.4.3. Ví dụ thiết kế đơn giản dùng phần mềm ISE .................................................... 44
CHƯƠNG 3 – CĂN BẢN VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL ........... 62
3.1. LỊCH SỬ PHÁT TRIỂN CỦA VHDL .................................................................... 62
3.2 NHỮNG ƯU ĐIỂM CỦA VHDL ............................................................................ 63
3.3 CẤU TRÚC NGÔN NGỮ CỦA VHDL .................................................................. 64
3.3.1 Đối tượng trong VHDL ...................................................................................... 65
3.3.2 Kiểu dữ liệu trong VHDL .................................................................................. 69
3.3.3 Các phép toán trong VHDL ............................................................................... 78
3.3.4 Các đơn vị thiết kế trong VHDL ........................................................................ 84
3.3.5 Cấu trúc chung của một chương trình mô tả VHDL .......................................... 93

Mục lục
4
3.3.6 Môi trường kiểm tra “testbench” ........................................................................ 94
3.3.7 Các cấu trúc lệnh song song ............................................................................... 97
3.3.8 Cấu trúc lệnh tuần tự ........................................................................................ 116
3.3.9 Hàm và thủ tục.................................................................................................. 124
TÓM TẮT ..................................................................................................................... 132
BÀI TẬP ........................................................................................................................ 132
CHƯƠNG 4 – PHƯƠNG PHÁP THIẾT KẾ LOGIC DÙNG VHDL .................... 135
4.1 CÁC PHƯƠNG PHÁP MÔ TẢ MẠCH SỐ ........................................................... 135
4.1.1. Mô hình hoạt động (Behavioral views) ........................................................... 135
4.1.2. Mô hình cấu trúc (Strucstural views) .............................................................. 135
4.1.3. Mô hình vật lý (Physical views) ...................................................................... 135
4.2 CÁC MỨC ĐỘ TRỪU TƯỢNG TRONG MÔ TẢ HỆ THỐNG SỐ .................... 136
4.2.1. Mô tả mức mạch điện (Circuit Level or Transistor Level) ............................. 137
4.2.2. Mô tả mức logic (Logic Lever or Gate Level) ................................................ 137
4.2.3 Mô tả mức RTL (Register Transfer Level – Mức truyền đạt thanh ghi) .......... 137
4.2.4. Mô tả mức hệ thống (System Level or Processor Level) ................................ 138
4.2.5. Ví dụ các mô hình hệ thống số ........................................................................ 138
4.3 MÔ TẢ THEO MÔ HÌNH HOẠT ĐỘNG (BEHAVIORAL) ................................ 141
4.3.1 Mô tả theo mức hệ thống .................................................................................. 141
4.3.1 Mô tả theo mức RTL ........................................................................................ 142
4.4.3. Viết mô tả Testbench ....................................................................................... 144
4.5 THIẾT KẾ MẠCH TỔ HỢP DÙNG VHDL ......................................................... 167
4.6. THIẾT KẾ MẠCH TUẦN TỰ DÙNG VHDL ...................................................... 170
4.7. MÁY TRẠNG THÁI HỮU HẠN - FSM............................................................... 173
4.8 MÁY TRẠNG THÁI ASM……………………………………………………. 190
4.9 PHƯƠNG PHÁP THIẾT KẾ TOP DOWN, ĐỒNG BỘ, KHÔNG ĐỒNG BỘ….192
4.10 CÁC VÍ DỤ THIẾT KẾ THEO MÔ HÌNH RTL……………………… . .. 195
4.8.1 MẠCH CỘNG……………….……………………………………………… 195
4.8.2 MẠCH TRỪ………………………………………………………………….196
4.8.3 BỘ CỘNG TÍCH LUỸ……………………………………………………….198
4.8.4 BỘ NHÂN ………………………………………………...………………. 200
4.8.5 RAM………………………………………………………………………….201
4.8.6 ROM………………………………………………………………………….204
4.8.7 FIFO………………….……………………………………………………….206
4.8.8 LIFO………………………………………………………………………. 210
4.8.9 SONG SONG SANG NỐI TIẾP……………………………………………..211
4.8.10 NỐI TIẾP SANG SONG SONG……………………………………………212
4.8.11 UART………………………………………………………………….. 213
BÀI TẬP ........................................................................................................................ 216
CHƯƠNG 5 – THIẾT KẾ CÁC HỆ THỐNG SỐ ỨNG DỤNG DÙNG VHDL ... 217
5.1. THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LED .............................................. 217
5.1.1 Thiết kế mạch điều khiển màn chỉ thị số LED. ............................................... 217
5.1.2 Thiết kế mạch điều khiển ma trận LED ............................................................ 222
5.1.3. Thiết kế ứng dụng điều hiển thị 8 led đơn sáng theo quy luật ........................ 228
5.2 THIẾT KẾ BỘ ĐẾM LÊN XUỐNG THEO ĐIỀU KHIỂN ................................... 232
5.3. THIẾT KẾ BỘ ĐẾM TẦN TỰ ĐỘNG THAY ĐỔI THANG ĐO ....................... 235
5.4. THIẾT KẾ MẠCH GIAO TIẾP ĐIỀU KHIỂN VGA ........................................... 243
5.5. THIẾT KẾ MẠCH ĐIỀU KHIỂN HIỂN THỊ LCD .............................................. 250
5.6 THIẾT KẾ MẠCH ĐIÈU KHIỂN MA TRẬN PHÍM ............................................ 266

Mục lục
5
5.7. THIẾT KẾ GIAO TIẾP PS2 VỚI BÀN PHÍM ..................................................... 270
5.8. THIẾT KẾ BỘ ĐIỀU KIỂN TRUYỀN THÔNG NỐI TIẾP UART .................... 275
5.9 THIẾT KẾ BỘ TRUY NHẬP VỚI SDRAM NGOÀI……………………………283
PHỤ LỤC – QUY ƯỚC VỀ ĐẶT TÊN TRONG VHDL VÀ CẤU TRÚC LỆNH
CƠ BẢN CỦA VHDL .......................................................................................................... 288
DANH SÁCH CÁC KÝ HIỆU VIẾT TẮT ………………………………………..294
TÀI LIỆU THAM KHẢO .......................................................................................... 294

Mục lục
6

