Thiết kế mạch số dùng HDL-Thiết kế luận lý với Verilog potx - Pdf 12

2008
dce
Thiếtkế mạch số vớiHDL
Chương 4: Thiếtkế luậnlývới
Verilog
Computer Engineering 2008
2
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Nội dung chính
•Giớithiệuvề HDLs và verilog
•Môhìnhcấutrúcchomạch luậnlýtổ hợp
•Môphỏng luận lý, kiểmchứng thiếtkế và
phương pháp luậnkiểmtra
•Thờigiantrễ truyềnlan
•Môhìnhbảng sự thậtchomạch luậnlýtổ
hợpvàtuầntự với Verilog
Computer Engineering 2008
3
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Nội dung chính
• Giớithiệuvề HDLs và verilog
•Môhìnhcấutrúcchomạch luậnlýtổ hợp
•Môphỏng luận lý, kiểmchứng thiếtkế và
phương pháp luậnkiểmtra
•Thờigiantrễ truyềnlan

Mức thanh ghil (Kiếntrúcl)
Mứcluậnlý(Cổng)
Mức transistor (Điểntử)
Timing: Waveform Behavior
Tổng hợp
Ánh xạđặctả thành các hiệnthực
Phương pháp luậnthiếtkế HDL
Computer Engineering 2008
6
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Mô hình cấutrúcvàmôhìnhhànhvi trong
HDLs
• Cấu trúc (Structural) chỉ ra cấu trúc phầncứng
thậtsự củamạch
 Mứctrừutượng thấp
•Cáccổng cơ bản(vídụ and, or, not)
•Cấutrúcphâncấp thông qua các module
 Tương tự lậptrìnhhợpngữ
• Hành vi (Behavioral) chỉ ra hoạt động củamạch
trên các bits
 Mứctrừutượng cao hơn
•Biểudiễnbằng các biểuthức(vídụ out = (a & b) | c)
• Không phảitấtcả các đặctả hành vi đềutổng
hợp được
 Không sử dụng: + - * / % > >= < <= >> <<
Computer Engineering 2008
7

 Đặctảđược đưaratừ 1985
 Ban đầu được phát triển cho mô phỏng, tương tự C và Pascal
 Hiệuquả và dễ viết
 Berkeley phát triển công cụ tổng hợpvàothậpniên80
 Được IEEE chuẩn hóa
• Verilog standardized (Verilog-1995 standard)
• Verilog-2001 standard
• VHDL (circa 1987) - DoD sponsored standard
 Dưa trên VHSIC phát triểnbởi DARPA
 Tương tự như Ada (Nhấnmạnh vào tái sử dụng và bảotrì)
 Ngữ nghĩamôphỏng rõ ràng
 Rấttổng quát nhưng dài dòng
 Được IEEE chuẩn hóa
• VHDL standardized (’87 and ’93)
 Cấu trúc nghiêm ngặt
Computer Engineering 2008
9
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Verilog HDL
•Veriloglàmột ngôn ngữ lớn
 Có nhiều tính năng cho tổng hợpvàmôphỏng phầncứng
 Có thể biểudiễnnhững đặctrưng mứcthấp
• Transistor
 Có thể hoạt động như ngôn ngữ lậptrình
•Cấutrúclặp
•Cấutrúcđiềukhiển….
• Các công cụ mô phỏng chấpnhận toàn bộ khái niệm

mô tả chứcnă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ộtmôhìnhcấutrúclàmộtcấu trúc kếtnối
(netlist) chứa
 Các cổng
 Các khốichứcnăng
•Một mô hình hành vi là
 Các biểuthức Boolean đơngiản
 Mô hình chuyển đổimức thanh ghi (Register Transfer
Level – RTL)
 Mộtgiảithuật
Computer Engineering 2008
12
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Mô hình cấutrúcmạch tổ hợp
•Thiếtkế cấutrúctương
tự như tạoramộtsơđồ
(schematic)
• Schematic
 Hình biểudiễncổng logic,
 Ngõ vào ra,
 Các đường kếtnốigiữa
các cổng.
• Môhìnhcấu trúc HDL
 Danh sách các cổng cơ
bảnvàkếtnốigiữa chúng
 Các phát biểuchỉ ra ngõ

14
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Mô hình cấu trúc trong Verilog
• Module
 Tên module và đi theo
sau là danh sách các
ngõ vào-ra (port)
 Danh sách đặctả loại
port (input/output)
 Danh sách các dây nối,
các biếnsử dụng bên
trong module (optional)
 Danh sách các kếtnối
giữacáccổng và các
module khác bên trong
 endmodule
module module_name (port_list);
//Declarations:
reg, wire, parameter,
input, output, inout,
function, task, …
//Statements:
Initial statement
Always statement
Module instantiation
Gate instantiation
UDP instantiation

•Kiểucủa module port phải được khai báo
tường minh và không cần theo thứ tự xuất
hiện trong port list
Computer Engineering 2008
18
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Quy tắt trong Verilog
• Phân biệtchữ hoa thường (Case sensitive)
• Identifier: a-z, A-Z, 0-9, ‘_’ và ‘$’
• Tên biến không đượcbắt đầubằng ‘$’ hay ký số
và có thể tối đa là 1024 ký tự
•Một phát biểu đượckết thúc bằng ‘;’
• Chú thích
 ‘//’ một dòng chú thích
 /*…*/ chú thích nhiều dòng
•Cóthể viết các phát biểutrênmột dòng hay
nhiềudòng
Computer Engineering 2008
Quy tắt trong Verilog
Comments
Lower case
key words
identifiers
Computer Engineering 2008
20
Advanced Digital Design with the Verilog HDL –
cha

b
sum
c_out
a
b
c_in
sum
c_out
M1
M2
w1
w2
w3
a

b

c_in
Computer Engineering 2008
22
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Thiếtkế phân cấpvàtổ chứcmãnguồn
• Top-level module là module ở cấpcao
nhất
• Module ở mứcthấpnhất
 Chứa các primitives
 Các module không phân chia nhỏ hơn

Add_rca_4 Add_rca_4 Add_rca_4 Add_rca_4
M1 M2 M3 M4
Add_full Add_fullAdd_full Add_full
Add_halforAdd_half
M1 M2 M3 M4
M3M2M1or xoror xor
Cây phân cấpthiếtkế mạch cộng 16 bit ripple carry
Computer Engineering 2008
25
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Hiệnthựcmạch cộng 16-bit ripple carry
Computer Engineering 2008
26
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Vectors trong Verilog
•Một vector đượcbiểudiễnbằng ngoặc vuông
chứa dãy liên tiếp các bit
 sum[3:0] vector sum kích thước4 bit
• Bit trái nhấtlàMSB
•Bit phảinhấtlàLSB
•Cóthể truy xuấttừng bit hay từng dãy bit trong

p
ter 4
Nội dung chính
•Giớithiệuvề HDLs và verilog
•Môhìnhcấutrúcchomạch luậnlýtổ hợp
• Mô phỏng luận lý, kiểmchứng thiếtkế
và phương pháp luậnkiểmtra
•Thờigiantrễ truyềnlan
•Môhìnhbảng sự thậtchomạch luậnlýtổ
hợpvàtuầntự với Verilog
Computer Engineering 2008
29
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Các giá trị luận lý trong Verilog
• Verilog sử dụng 4 giá trị luậnlý
 1 True
 0 False
 x Không xác định
 z tổng trở cao
x z
x x x
a
b
y
0
1
a

cha
p
ter 4
Phương pháp luậnkiểmtra
•Kiểmtramạch thựchiện đúng chứcnăng
 Kiểmtrangẫu nhiên phứctạp và không chính xác
 Cầnlậpkế hoạch kiểmtratỉ mỉ
•Kiểmtramạch lớn
 Kiểmtratấtcả các trường hợp
•Mạch cộng 16 bit cầnkiểmtra2
23
trường hợp
•Kiểm tra phân cấp
 half_adder
 full_adder
 Add_rca_4 cầnkiểmtra2
9
trường hợp
 Chọnmộtsố trường hợp để kiểmtrakếtnốicủacác
Add_rca_4 trong Add_rca_16
•Kiểm tra theo chiềungượcso với cây phân cấp
thiếtkế
Computer Engineering 2008
31
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Mô phỏng luậnlý
•Xâydựng các

 Được gán giá trị mô phỏng giống như là được điểukhiểnbởi
phầncứng
• Initial khai báo hành vi mộtlượt(single-pass)
• begin … end
 Chứa danh sách các phát biểucủahànhvi
 Thờigianthựcthicácphátbiểuthủ tụctùythuộcvàothứ tự và
thờigiantrễ truyền
 Các phát biểu đượcthựcthitừ trên xuống, từ trái sang phải
• # <integer> <statement>
 Điềukhiểntrễ truyền
 Các phát biểu phía sau phải đợi
Computer Engineering 2008
33
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Khuôn mẫu cho testbench
module t_module ();
reg …;
wire …;
parameter time_out = 100;
UUT_name U1 (port_list);
initial $monitor();
initial #time_out $finish
initial
begin … end
endmodule
Tên module UUT
Khai báo kiểu thanh ghi để chứa

•Những số không khai báo kích thước đượchiểu
ở dạng integer (thông thường 32 bits)
•Mặc định các sốởdạng decimal
• Không phân biệt hoa thường trong khai báo số
•Dấu “_” đượcbỏ qua
Computer Engineering 2008
36
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Nội dung chính
•Giớithiệuvề HDLs và verilog
•Môhìnhcấutrúcchomạch luậnlýtổ hợp
•Môphỏng luận lý, kiểmchứng thiếtkế và
phương pháp luậnkiểmtra
• Thờigiantrễ truyềnlan
•Môhìnhbảng sự thậtchomạch luậnlýtổ
hợpvàtuầntự với Verilog
Computer Engineering 2008
37
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Thờigiantrễ truyền
• Ngõ vào thay đổi ngõ ra không thay đổi ngay lập
tức
• Các phầntử cơ bảncủaverilogcóthờigiantrễ
là 0

 wire #2 A_long_wire
Δ = 4
tpd
= 2
t
= 3
t
= 5
Δ = 4
Δ = 1
tpd
= 2
t
= 3
t
= 5
Computer Engineering 2008
40
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Nội dung chính
•Giớithiệuvề HDLs và verilog
•Môhìnhcấutrúcchomạch luậnlýtổ hợp
•Môphỏng luận lý, kiểmchứng thiếtkế và
phương pháp luậnkiểmtra
•Thờigiantrễ truyềnlan
• Mô hình bảng sự thậtchomạch luậnlý
tổ hợpvàtuầntự với Verilog


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status