ĐẠI HỌC QUỐC GIA THÀNH PH HỒ C
MINH
TRƯỜNG ĐẠI HC NG NGH THÔNG
TIN
--------------oOo--------------
Giáo
t
nh
NN NG MÔ T PHN
C
N
G
VERILOG
Biên son: TS. Vũ Đức Lung
ThS. Lâm Đức Khải
Ks. Phan Đình Duy
2012
Giáo trình Verilog
[Type text] Page 2
Li nói
đầu
Ngày nay, khi mạch thiết kế vi hàng triệu cng logic được ch hp trong mt con Chip
thì việc thiết kế mạch và đi dây kết ni bng tay trở nên bất khthi, chính t lí do đó mt khái
nim ngôn ng mc độ tru tượng cao dùng để t thiết kế phn cứng được ra đời,
đó chính Verilog. Cùng vi s ra đời ca ngôn ng t phn cng Verilog là hàng lot
các công cụ EDA (Electronic Design Automation) và CAD (Computer Aided Design) đã
gp cho những kĩ sư thiết kế phn cng to nên những con Chip độ tích hợp rất cao,
tc độ siêu vit và chc năng đa dng.
Giáo trình Ngôn ng t phn cứng Verilog nhằm giúp sinh viên trang b kiến
thc v thiết kế vi mạch. Giáo trình tp trung vào mng thiết kế các mạch s vi mạch t
hp và mạch tun t. Giáo trình cũng gii thiu v các bước cn thc hiện trong quá trình
thiết kế vi mạch t vic tthiết kế, kiểm tra, phân tích cho đến tổng hợp phn cứng ca
thiết kế.
Giáo trình Ngôn ng t phn cng Verilog dùng cho sinh viên chuyên ngành Kĩ
thuật y tính sinh viên các khi Đin t. Để tiếp nhn kiến thc d ng, sinh viên cn
trang b trước kiến thc v thiết kế s và hthng s.
Giáo trình này được biên dịch tng hp t kinh nghiệm nghiên cu ging dạy ca tác
givà ba ngun tài liệu chính:
IEEE Standard for Verilog Hardware Description Language, 2006;
Verilog Digital System Design, Second Edition, McGraw-Hill;
The Complete Verilog Book, Vivek Sagdeo, Sun Micro System, Inc.
Nhằm cung cp mt luồng kiến thc mạch lc, giáo trình được chia ra làm 9 chương:
Chương 1: Dn nhp thiết kế h thng s với Verilog. Chương này s giới thiu
lch s phát triển ca nn ng mô t phn cứng Verilog, bên cạnh đó mt qui
trình thiết kế vi mạch s dng nn ng t phn cng Verilog cũng được trình
bày cụ thể ở đây.
Chương 2: Trình bày các t khóa được s dụng trong môi trường t thiết kế bi
Verilog.
Chương 3: Trình y các loi dliệu được s dng trong thiết kế mạch bi Verilog,
gm hai loi d liệu chính đó là loi d liu net loi d liệu biến.
Chương 4: Trình bày các toán t cũng như các dng biểu thc được h trợ bởi
Verilog.
Giáo trình Verilog
[Type text] Page 3
Chương 5: Gii thiu cấu trúc ca mt thiết kế, phương thc s dng thiết kế con.
Chương 6: Trình y phương pháp thiết kế s dụng hình cấu trúc, trong phương
thc y, module thiết kế được xây dng bng cách gi c module thiết kế nh hơn
và kết nối chúng li.
Chương 7: Trình bày phương thc thiết kế s dng hình RTL bi phép gán ni
tiếp và hình hành vi s dng nn ng nh tru tượng cao tương t như ngôn
ng lp trình. Phn thiết kế máy trạng thái s dụng hình hành vi cũng được nêu ra
trong chương này.
Chương 8: Trình bày phương pháp thiết kế và s dụng tác v và hàm.
Chương 9: Giới thiu các phương pháp kim tra chc năng ca thiết kế.
Do thi gian cũng như khối lượng trình bày giáo trình không cho phép tác gi đi sâu
hơn vmi khía cnh ca thiết kế vi mạch như phân tích định thi, tổng hợp phần cng, ...
Để có được nhng kiến thc này, độc gi ththam kho trong các tài liu tham khảo
giáo trình này đã cung cp.
Mặc nhóm tác gi đã cố gng biên soạn k lưỡng tuy nhiên cũng khó tránh khi
nhng thiếu sót. Nhóm tác gi mong nhn được nhng đóng góp mang tính xây dựng t
quý độc gi nhằm chỉnh sa giáo trình hoàn thin hơn.
Nhóm tác giả
Giáo trình Verilog
[Type text] Page 4
Contents
Li nói
đầu
................................................................................................................................ 2
1 Chương 1. Dn nhp thiết kế hệ thng s với Verilog ....................................................... 14
1.1 Qui trình thiết kế s .................................................................................................. 14
1.1.1 Dẫn nhập thiết kế .............................................................................................. 16
1.1.2 Testbench trong Verilog.................................................................................... 17
1.1.3 Đánh giá thiết kế ............................................................................................... 17
1.1.3.1 Mô phỏng ................................................................................................................. 17
1.1.3.2 Kĩ thuật chèn kim tra (assertion) ............................................................................ 19
1.1.3.3 Kim tra thô ng tng ............................................................................................. 20
1.1.4 Biên dịch và tổng hp thiết kế ........................................................................... 20
1.1.4.1 P n tích................................................................................................................... 21
1.1.4.2 Tạo phần cứng .......................................................................................................... 21
1.1.4.3 Tối ưu logic ............................................................................................................... 22
1.1.4.4 Binding ..................................................................................................................... 22
1.1.4.5 Sắp xếp cell đi y kết nối .................................................................................... 22
1.1.5 phỏng sau khi tổng hp thiết kế .................................................................. 23
1.1.6 Phân tích thi gian............................................................................................. 24
1.1.7 Tạo linh kin phần cng .................................................................................... 24
1.2 Nn ng mô tả phn cng Verilog (Verilog HDL) ........................................................ 24
1.2.1 Quá trình phát triển Verilog .............................................................................. 24
1.2.2 Nhng đặc tính ca Verilog .............................................................................. 25
1.2.2.1 Mức độ chuyn mch ............................................................................................... 25
1.2.2.2 Mức độ cổng ............................................................................................................ 26
1.2.2.3 Độ trì hoãn giữa pin đến pin .................................................................................... 26
1.2.2.4 Mô t Bus ................................................................................................................. 26
1.2.2.5 Mức độ nh vi ........................................................................................................ 26
1.2.2.6 Những tin ích hệ thống ........................................................................................... 26
1.2.2.7 PLI ............................................................................................................................. 27
1.2.3 Sơ lược về Verilog ............................................................................................ 27
Giáo trình Verilog
[Type text] Page 5
1.3 Tổng kết .................................................................................................................... 27
1.4 Bài tập ...................................................................................................................... 28
2 Chương 2. Qui ước v t khóa..................................................................................... 29
2.1 Khoảng trng ............................................................................................................ 29
2.2 Chú thích .................................................................................................................. 29
2.3 Toán t ...................................................................................................................... 29
2.4 Số hc ....................................................................................................................... 29
2.4.1 Hng số ngun ................................................................................................. 30
2.4.2 Hng số thực ..................................................................................................... 33
2.4.3 S đảo................................................................................................................ 34
2.5 Chui ........................................................................................................................ 34
2.5.1.1 Khai báo biến chuỗi .................................................................................................. 35
2.5.1.2 Xử chuỗi ................................................................................................................. 35
2.5.1.3 Những t đặc bit trong chuỗi ............................................................................. 35
2.6 Định danh, t khóa và tên hệ thng .......................................................................... 36
2.6.1 Định danh vi kí t “” ....................................................................................... 36
2.6.2 Tác vụ hệ thống hàm hệ thống...................................................................... 37
2.7 Bài tập ...................................................................................................................... 37
3 Chương 3. Loại dữ liệu trong Verilog ............................................................................. 70
3.1 Khái quát .................................................................................................................. 70
3.2 Nhng h thng g trị .............................................................................................. 70
3.3 Khai báo loại dữ liệu ................................................................................................ 71
3.3.1 Gii thiu .......................................................................................................... 71
3.4 Khai báo loại dữ liệu net .......................................................................................... 72
3.4.1 Gii thiu .......................................................................................................... 72
3.4.2 Wire Tri ........................................................................................................ 74
3.4.3 Wired net ........................................................................................................... 75
3.4.3.1 Wand và tri and Nets ................................................................................................ 75