Date post: | 01-May-2023 |
Category: |
Documents |
Upload: | independent |
View: | 0 times |
Download: | 0 times |
2008dce
Verilog - HDL
Thiết kế luận lý với VerilogThiết kế luận lý với Verilog
Chapter 4: Verilog ©2008, Pham Quoc Cuong
09 Nội dung chínhg
200
• Giới thiệu về HDLs và verilogổ
erin
g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và
gine
e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra
ễ ề
Eng • Thời gian trễ truyền lan
• Mô hình bảng sự thật cho mạch luận lý tổ
uter
Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog
omp
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 23/10/2009
09 Nội dung chínhg
200
• Giới thiệu về HDLs và verilogổ
erin
g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và
gine
e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra
ễ ề
Eng • Thời gian trễ truyền lan
• Mô hình bảng sự thật cho mạch luận lý tổ
uter
Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog
omp
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 33/10/2009
09 Giới thiệu HDLsg
200
• HDLs (Hardware Description Languages)
erin
g Không là một ngôn ngữ lập trình Tựa C
gine
e ự Thêm những chức năng mô hình hóa, mô
phỏng chức năng
Eng phỏng chức năng
Verilog vs. VHDLCá b ớ thiết kế bằ HDL
uter
• Các bước thiết kế bằng HDL Mô tả mạch từ khóa
omp Biên dịch để kiểm tra cú pháp (syntax) Mô phỏng để kiểm tra chức năng của mạch
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 43/10/2009
Mô phỏng để kiểm tra chức năng của mạch
09 Phương pháp luận thiết kế HDLg
200
erin
g
Đặc tả bằng HDL Cấu trúc/hành vi của mạch
gine
eEn
g
Mô phỏng
ể ế ế ầ
Tổng hợp
Á
uter
Kiểm tra: thiết kế đã đúng yêu cầu chưa?Chức năng: Hành vi I/OMức thanh ghil (Kiến trúcl)Mức luận lý (Cổng)
Ánh xạ đặc tả thành các hiện thực
omp Mức luận lý (Cổng)
Mức transistor (Điển tử)Timing: Waveform Behavior
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 53/10/2009
09Mô hình cấu trúc và mô hình hành vi trong HDLs
g 20
0 HDLs• Cấu trúc (Structural) chỉ tra cấu trúc phần cứng
thật sự của mạch
erin
g thật sự của mạch Mức trừu tượng thấp
• Các cổng cơ bản (ví dụ and, or, not)
gine
e g ( ụ , , )• Cấu trúc phân cấp thông qua các module
Tương tự lập trình hợp ngữ
Eng • Hành vi (Behavioral) chỉ ra hoạt động của mạch
trên các bits
uter
Mức trừu tượng cao hơn• Biểu diễn bằng các biểu thức (ví dụ out = (a & b) | c)
Không phải tất cả các đặc tả hành vi đều tổng
omp • Không phải tất cả các đặc tả hành vi đều tổng
hợp được Không sử dụng: + * / % > >= < <= >> <<
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 63/10/2009
Không sử dụng: + - / % > >= < <= >> <<
09 Những nguy hiểm trong thiết kế Verilogg
200
• Chương trình tuần tự, bộ tổng hợp có thể sẽ phải thêm nhiều chi tiết phần cứng
erin
g phải thêm nhiều chi tiết phần cứng Cần một bộ priority encoder
• Nếu chương trình song song có thể có những
gine
e • Nếu chương trình song song, có thể có những trạng thái không xác định Nhiều khối “always”, khối nào thực thi trước?
Eng Nhiều khối always , khối nào thực thi trước?
• Tạo ra nhiều trạng thái không dự dịnh trướcif (x == 1) out = 0;
uter
if (x 1) out 0;if (y == 1) out = 1; // else out retains previous state?
R-S latch!
omp • Không tính trước được số phần tử phần cứng x = x + 1 có thể cần RẤT NHIỀU phần tử phần cứng
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 73/10/2009
09 Lịch sử phát triển HDLsg
200
• ISP (circa 1977) – dự án nghiên cứu CMU (Carnegie Mellon University) Mô phỏng nhưng không tổng hợp
• Abel (circa 1983) được phát triển bởi Data-I/O
erin
g • Abel (circa 1983) – được phát triển bởi Data-I/O Mục tiêu dùng cho các thiết bị luận lý khả lập trình Không tốt cho máy trạng thái
• Verilog (circa 1985) – phát triển bởi Gateway (now Cadence)
gine
e g ( ) p y ( ) Đặc tả được đưa ra từ 1985 Ban đầu được phát triển cho mô phỏng, tương tự C và Pascal Hiệu quả và dễ viết Berkeley phát triển công cụ tổng hợp vào thập niên 80
Eng Berkeley phát triển công cụ tổng hợp vào thập niên 80
Được IEEE chuẩn hóa• Verilog standardized (Verilog-1995 standard)• Verilog-2001 standard
uter
• VHDL (circa 1987) - DoD sponsored standard Dưa trên VHSIC phát triển bởi DARPA Tương tự như Ada (Nhấn mạnh vào tái sử dụng và bảo trì) Ngữ nghĩa mô phỏng rõ ràng
omp Ngữ nghĩa mô phỏng rõ ràng
Rất tổng quát nhưng dài dòng Được IEEE chuẩn hóa
• VHDL standardized (’87 and ’93)ấ
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 83/10/2009
Cấu trúc nghiêm ngặt
09 Verilog HDLg
200
• Verilog là một ngôn ngữ lớn Có nhiều tính năng cho tổng hợp và mô phỏng phần cứng
erin
g g g ợp p g p g Có thể biểu diễn những đặc trưng mức thấp
• Transistor Có thể hoạt động như ngôn ngữ lập trình
gine
e Có thể hoạt động như ngôn ngữ lập trình• Cấu trúc lặp• Cấu trúc điều khiển….
ấ
Eng • Các công cụ mô phỏng chấp nhận toàn bộ khái niệm
của Verilog• Các công cụ tổng hợp chỉ chấp nhận một phần các khái
uter
• Các công cụ tổng hợp chỉ chấp nhận một phần các khái niệm của Verilog
• Chỉ tập trung nghiên cứu một phần
omp ập g g ộ p Sử dụng ở một mức thích hợp Tập trung trên những cấu trúc tổng hợp được
Tậ t t á h hữ ấ t ú â lỗi khi tổ hCo
Chapter 4: Verilog ©2008, Pham Quoc Cuong 93/10/2009
Tập trung tránh những cấu trúc gây lỗi khi tổng hợp
09 Nội dung chínhg
200
• Giới thiệu về HDLs và verilogổ
erin
g • Mô hình cấu trúc cho mạch luận lý tổ hợp
gine
e ợp• Mô phỏng luận lý, kiểm chứng thiết kế và
phương pháp luận kiểm tra
Eng phương pháp luận kiểm tra
• Thời gian trễ truyền lan
uter
g y• Mô hình bảng sự thật cho mạch luận lý tổ
hợp và tuần tự với Verilog
omp hợp và tuần tự với Verilog
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 103/10/2009
09 Mô hình mạch tổ hợpg
200
• Một mô hình Verilog của một mạch tóm tắt các mô tả chức năng bằng góc nhìn cấu trúc hay
erin
g mô tả chức năng bằng góc nhìn cấu trúc hay hành vi trên những mối quan hệ ngõ vào-ngõ ra
• Một mô hình cấu trúc là một cấu trúc kết nối
gine
e Một mô hình cấu trúc là một cấu trúc kết nối (netlist) chứa Các cổng
Eng Các cổng
Các khối chức năng• Một mô hình hành vi là
uter
Một mô hình hành vi là Các biểu thức Boolean đơn giản Mô hình chuyển đổi mức thanh ghi (Register Transfer
omp
y g ( gLevel – RTL)
Một giải thuật
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 113/10/2009
09 Mô hình cấu trúc mạch tổ hợpg
200
• Thiết kế cấu trúc tương tự như tạo ra một sơ đồ
erin
g tự như tạo ra một sơ đồ (schematic)
• Schematic
gine
e
Hình biểu diễn cổng logic, Ngõ vào ra,
Eng Các đường kết nối giữa
các cổng.
• Mô hình cấu trúc HDL
uter
• Mô hình cấu trúc HDL Danh sách các cổng cơ
bản và kết nối giữa chúng
omp Các phát biểu chỉ ra ngõ vào-ra
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 123/10/2009
09 Verilog primitivesg
200
• Primitives là các đối tượng cơ bản có thể được sử dụng trong thiết kế
erin
g g• 26 đối tượng chức năng được định nghĩa trước
t t
gine
e
n-inputn-output3-states
and buf
Eng and buf
nand notor bufif0 nand (y, a, b, c);
output kết thúc phát biểu
uter
or bufif0nor bufif1xor notif0
keyword nameinput
omp xnor notif1
nand N1(y, a, b, c);Ngõ ra là phần tử đầu tiên trong
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 133/10/2009
instance name (optional)
Ngõ ra là phần tử đầu tiên trong danh sách các ngõ vào-ra
09 Mô hình cấu trúc trong Verilogg
200
• Module Tên module và đi theo module module_name (port_list);
erin
g Tên module và đi theo sau là danh sách các ngõ vào-ra (port)
Danh sách đặc tả loại
_ (p _ )//Declarations:
reg, wire, parameter,input output inout
gine
e Danh sách đặc tả loại port (input/output)
Danh sách các dây nối, á biế ử d bê
input, output, inout,function, task, …
//Statements:
Eng các biến sử dụng bên
trong module (optional) Danh sách các kết nối
Initial statementAlways statementModule instantiation
uter
Danh sách các kết nối giữa các cổng và các module khác bên trong
endmodule
Module instantiationGate instantiationUDP instantiation
omp endmodule Continuous assignment
endmodule
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 143/10/2009
09 Ví dụg
200
Module ports
erin
g
port modes
Module ports
gine
e
Internal wires
I t ti t d i iti
Eng Instantiated primitives
uter
om
pC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 153/10/2009
09 Module portsg
200
• Giao tiếp với “môi trường” bên ngoàiKiể ủ t ết đị h hiề t ề dữ
erin
g • Kiểu của port quyết định chiều truyền dữ liệu
gine
e
Một chiều (Unidirectional)• input
Eng • output
Hai chiều (Bidirectional)
uter
• inout
• Kiểu của module port phải được khai báo
omp
p p ợtường minh và không cần theo thứ tự xuất hiện trong port list
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 163/10/2009
ệ g p
09 Quy tắt trong Verilogg
200
• Phân biệt chữ hoa thường (Case sensitive)Id tifi A Z 0 9 ‘ ’ à ‘$’
erin
g • Identifier: a-z, A-Z, 0-9, ‘_’ và ‘$’• Tên biến không được bắt đầu bằng ‘$’ hay ký số
gine
e
và có thể tối đa là 1024 ký tự• Một phát biểu được kết thúc bằng ‘;’
Eng ộ p ợ g ;
• Chú thích ‘//’ một dòng chú thích
uter
// một dòng chú thích /*…*/ chú thích nhiều dòng
• Các identifiers có phạm vi nhất định
omp • Các identifiers có phạm vi nhất định
• Có thể viết các phát biểu trên một dòng hay hiề dòC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 173/10/2009
nhiều dòng
09 Thiết kế từ trên xuống (top-down)g
200
• Hệ thống phức tạp được phân chia thành nhữngđơn vị chức năng nhỏ hơn
erin
g ị g Dễ thiết kế Dễ kiểm tra
ồ ỗ ế
gine
e • Các module lồng nhau trong Verilog hỗ trợ thiếtkế từ trên xuốngM d l th khả đế d l khá đ i là
Eng • Module tham khảo đến module khác được gọi là
module “cha”, module được module khác thamkhảo đến gọi là module “con”
uter
khảo đến gọi là module con• Độ sâu của các module lồng nhau không giới
hạn
omp • Mỗi module con phải có tên duy nhất trong
phạm vi module cha (trừ các primitives)
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 183/10/2009
09 Binary full adderg
200
a sumc_in sumM2
a b c_in
erin
g
Half_addera sum
Half_adderb c_outa
c_outw1
w2
w3
gine
e b c_outb
M1
w2
Eng
uter
om
pC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 193/10/2009
09 Thiết kế phân cấp và tổ chức mã nguồng
200
• Top-level module là module ở cấp cao hất
erin
g nhất• Module ở mức thấp nhất
gine
e p Chứa các primitives Các module không phân chia nhỏ hơn
Eng Các module không phân chia nhỏ hơn
• Tất cả các module được đặt trong một hay
uter
nhiều tập tin khác nhau• Công cụ mô phỏng tích hợp các module
omp • Công cụ mô phỏng tích hợp các module
từ các tập tin
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 203/10/2009
09 Mạch cộng 16-bit ripple carryg
200
a[15:0] b[15:0] c_in
erin
g
Add_rca_16
gine
e
sum[15:0]c_out
Eng
c_in
a[3:0]a[7:4]a[11:8]a[15:12] b[3:0]b[7:4]b[11:8]b[15:12]
uter
Add_rca_4 Add_rca_4 Add_rca_4 Add_rca_4
omp M4 M3 M2 M1c_out
c_in4c_in8c_in12
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 213/10/2009
sum[15:12] sum[11:8] sum[7:4] sum[3:1]
09 Cây phân cấp mạch cộng 16-bit ripple carryg
200
Add_rca_16
M1 M2 M3 M4
erin
g
Add_rca_4 Add_rca_4 Add_rca_4 Add_rca_4M1 M2 M3 M4
... ... ...
gine
e
Add full Add fullAdd full Add fullM1 M2 M3 M4
Eng _ __ _
M3M2M1
... ... ...
uter
Add_halforAdd_half
omp
or xoror xor
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 223/10/2009
Cây phân cấp thiết kế mạch cộng 16 bit ripple carry
09 Hiện thực mạch cộng 16-bit ripple carryg
200
erin
ggi
nee
Eng
uter
om
pC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 233/10/2009
09 Vectors trong Verilogg
200
• Một vector được biểu diễn bằng ngoặc vuôngchứa dãy liên tiếp các bit
erin
g chứa dãy liên tiếp các bit sum[3:0] vector sum kích thước 4 bit
Bi ái hấ là MSB
gine
e • Bit trái nhất là MSB• Bit phải nhất là LSB
Eng
• Có thể truy xuất từng bit hay từng dãy bit trongvector
uter
sum[1] bit thứ 2 từ phải sang của sum sum[2:1] bit thứ 2 và 3 từ phải sang của sum
omp sum[2:1] bit thứ 2 và 3 từ phải sang của sum
• sum[4] giá trị x (không xác định)Có thể gán so sánh 2 vector với nhauC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 243/10/2009
• Có thể gán, so sánh 2 vector với nhau
09 Cấu trúc liên kết (connectivity)g
200
• Wire Thiết lập các liên kết giữa các đối tượng thiết kế
erin
g Thiết lập các liên kết giữa các đối tượng thiết kế Giá trị được quyết định trong quá trình mô phỏng bởi
cái mà nó được nối vàoKiể i
gine
e • Kiểu wire Khai báo bằng từ khóa wire
• wire y out
Eng • wire y_out
Các biến sử dụng không khai báo• Các ngõ vào và ra mặc định là kiểu wire (trừ khi
uter
g ặ ị (được khai báo kiểu khác)
• Kết nối giữa port hình thức và port thực tế
omp Theo thứ tự trong danh sách các port .tên_hình_thức (tên_thực_tế)
• half adder ( b(b) Cout(w2) a(a) sum(w1));
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 253/10/2009
• half_adder (.b(b), .Cout(w2), .a(a), .sum(w1));
09 Nội dung chínhg
200
• Giới thiệu về HDLs và verilogổ
erin
g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế
gine
e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra
ễ ề
Eng • Thời gian trễ truyền lan
• Mô hình bảng sự thật cho mạch luận lý tổ
uter
Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog
omp
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 263/10/2009
09 Các giá trị luận lý trong Verilogg
200
• Verilog sử dụng 4 giá trị luận lý 1 True
0 F lx z
a 0 1
a
by
erin
g 0 False x Không xác định z tổng trở cao
x x x
a
b
y
1
x z x z x z x z
gine
e x x xy
Eng
uter
x x z
s0
a
s1
x x za
xb
omp x
z z x
b
out3
x
x x
xout5
out6
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 273/10/2009
z z x
z z x x
out4
out1x xxout2
09 Phương pháp luận kiểm trag
200
• Kiểm tra mạch thực hiện đúng chức năng Kiểm tra ngẫu nhiên phức tạp và không chính xác
erin
g Kiểm tra ngẫu nhiên phức tạp và không chính xác Cần lập kế hoạch kiểm tra tỉ mỉ
• Kiểm tra mạch lớn
gine
e • Kiểm tra mạch lớn Kiểm tra tất cả các trường hợp
• Mạch cộng 16 bit cần kiểm tra 223 trường hợp
Eng Mạch cộng 16 bit cần kiểm tra 2 trường hợp
• Kiểm tra phân cấp half_adder full adder
uter
full_adder Add_rca_4 cần kiểm tra 29 trường hợp Chọn một số trường hợp để kiểm tra kết nối của các
Add rca 4 trong Add rca 16
omp Add_rca_4 trong Add_rca_16
• Kiểm tra theo chiều ngược so với cây phân cấp thiết kế
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 283/10/2009
thiết kế
09 Mô phỏng luận lýg
200
• Xây dựng các testbench đưa vào
StimulusGenerator
erin
g testbench đưa vào mạch và hiển thị dạng sóng của kết quả unit under test
gine
e sóng của kết quả• Bộ mô phỏng
ể ồ
unit_under_test(UUT)
Eng Kiểm tra mã nguồn
Báo lỗiResponse
Monitor
uter
Mô phỏng hành vi của mạch thông qua các tín hiệu vào trong
Người sử dụng hay phần mềm
omp tín hiệu vào trong testbench
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 293/10/2009
Không có lỗi cú pháp Mạch thực thi đúng kết quả
09 Sinh tín hiệu để kiểm trag
200
• Một hành vi (behavior) Tập hợp các phát biểu được thi trong quá trình mô phỏng (các
erin
g ập ợp p ợ g q p g (phát biểu thủ tục)
Được gán giá trị mô phỏng giống như là được điểu khiển bởi phần cứng
gine
e phần cứng• Initial khai báo hành vi một lượt (single-pass)• begin … end
Eng g
Chứa danh sách các phát biểu của hành vi Thời gian thực thi các phát biểu thủ tục tùy thuộc vào thứ tự và
thời gian trễ truyền
uter
thời gian trễ truyền Các phát biểu được thực thi từ trên xuống, từ trái sang phải
• # <integer> <statement>
omp Điều khiển trễ truyền Các phát biểu phía sau phải đợi
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 303/10/2009
09 Khuôn mẫu cho testbenchg
200
module t_module ();reg …;
Tên module UUTKhai báo kiểu thanh ghi để chứa
erin
g g ; ggiá trị cho các biến ngõ vào của UUT
Khai báo kiểu wire cho các ngõ ra
gine
e wire …;parameter time_out = 100;UUT name U1 (port list);
Khai báo kiểu wire cho các ngõ ra của UUT
Khai báo các tham số
Eng UUT_name U1 (port_list);
initial $monitor();Tín hiệu được xuất ra dạng textKết thú ô hỏ thời i
uter
initial #time_out $finishinitial
Kết thúc mô phỏng sau thời gian time_out
omp begin … end
endmodule
Xây dựng các tín hiệu ngõ vào cho U1
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 313/10/2009
endmodule
09 Kích thước sốg
200
• Chỉ ra số lượng bit dùng để lưu trữ sốf bit ‘ b l
erin
g • <num_of_bit> ‘ <base> <value> 8’b1000_0001
gine
e
3’d2987 16’h24ce
Eng 3’o7
• Những số không khai báo kích thước được hiểu
uter
g gở dạng integer (thông thường 32 bits)
• Mặc định các số ở dạng decimal
omp Mặc định các số ở dạng decimal
• Không phân biệt hoa thường trong khai báo sốDấ “ ” đ ợc bỏ q aC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 333/10/2009
• Dấu “_” được bỏ qua
09 Nội dung chínhg
200
• Giới thiệu về HDLs và verilogổ
erin
g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và
gine
e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra
ễ ề
Eng • Thời gian trễ truyền lan
• Mô hình bảng sự thật cho mạch luận lý tổ
uter
Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog
omp
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 343/10/2009
09 Thời gian trễ truyềng
200
• Ngõ vào thay đổi ngõ ra không thay đổi ngay lập tức
erin
g
• Các phần tử cơ bản của verilog có thời gian trễ là 0
gine
e
• Các vi mạch thực tế được sản xuất dựa trên các thư viện chuẩn được định nghĩa trướcN ời thiết kế hỉ tâ đế tí h đú đắ
Eng • Người thiết kế chỉ quan tâm đến tính đúng đắn
của mạch• Sử dụng các công cụ tổng hợp để hiện thực các
uter
• Sử dụng các công cụ tổng hợp để hiện thực các thiết kế thỏa mãn các ràng buộc thời gian
• ‘timescale <time unit base>/<precision base>
omp timescale <time_unit base>/<precision base> Chỉ thị biên dịch Chỉ ra đơn vị thời gian và độ chính xác thời gian trễ
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 353/10/2009
g g Phải được khai báo trước khi các module
09 Ví dụ `timescaleg
200
erin
ggi
nee
Eng
uter
om
pC
o
Chapter 4: Verilog ©2008, Pham Quoc Cuong 363/10/2009
09 Các loại trễ lan truyềng
200
• Trễ quán tính (inertial delay) tpd
erin
g p
t t
gine
e
tpd
t t
Eng
• Trễ truyền (transport delay)t t
uter
Gây ra do các dây nối 0.033ns/1cm
omp Có thể bỏ qua wire #2 long wire
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 373/10/2009
wire #2 long_wire
09 Nội dung chínhg
200
• Giới thiệu về HDLs và verilogổ
erin
g • Mô hình cấu trúc cho mạch luận lý tổ hợp• Mô phỏng luận lý kiểm chứng thiết kế và
gine
e Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra
ễ ề
Eng • Thời gian trễ truyền lan
• Mô hình bảng sự thật cho mạch luận lý
uter
Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với Verilog
omp
Co
Chapter 4: Verilog ©2008, Pham Quoc Cuong 383/10/2009
09 Bảng sự thật trong Verilogg
200
• tableN õ hải ó kiể ô h ớ ( l )
erin
g • Ngõ ra phải có kiểu vô hướng (scalar)• Dùng kí hiệu ‘?’ thay cho 0, 1, x
gine
e
• Thứ tự các cột trong <input_list> tương ứng với thứ tự trong khai báo input của module
Eng ự g p
• Mạch tổ hợp <input list>:<output>
uter
<input_list>:<output>• Mạch tuần tự
<i t li t> < t t > < t t/ t t t >
omp <input_list>:<state>:<output/next_state> Ngõ ra phải được khai báo kiểu thanh ghi
Dù kí hiệ ‘ ’ biể diễ õ khô th đổiCo
Chapter 4: Verilog ©2008, Pham Quoc Cuong 393/10/2009
Dùng kí hiệu ‘-’ biểu diễn ngõ ra không thay đổi