2008
dc e
Thiếtkếmch sviHDL
Chương 4: Thiếtkếlunlývi
Verilog
Computer Engineering 2008
2
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Ni dung chính
•GiithiuvHDLs verilog
•Môhìnhcutrúcchomch lunlýthp
•Môphng lun lý, kimchng thiếtkế
phương pháp lunkimtra
•Thigiantrtruynlan
•Môhìnhbng sthtchomch lunlýt
hpvàtuntvi Verilog
Computer Engineering 2008
3
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Ni dung chính
GiithiuvHDLs verilog
•Môhìnhcutrúcchomch lunlýthp
•Môphng lun lý, kimchng thiếtkế
phương pháp lunkimtra
•Thigiantrtruynlan
•Môhìnhbng sthtchomch lunlýt
hpvàtuntvi Verilog
Computer Engineering 2008
4
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Giithiu HDLs
HDLs (Hardware Description Languages)
Không mt ngôn nglp trình
TaC
Thêm nhng chcnăng hình hóa, mô
phng chcnăng
Verilog vs. VHDL
•Cácbướcthiếtkếbng HDL
tmch tkhóa
Biên dch để kim tra pháp (syntax)
phng để kimtrachcnăng camch
Computer Engineering 2008
5
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Đặctbng HDL Cutrúc/hànhvi camch
phng
Kimtra: thiếtkếđãđúng yêu cuchưa?
Chcnăng: Hành vi I/O
Mc thanh ghil (Kiếntrúcl)
Mclunlý(Cng)
Mc transistor (Đint)
Timing: Waveform Behavior
Tng hp
Ánh xạđctthành các hinthc
Phương pháp lunthiếtkếHDL
Computer Engineering 2008
6
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
hình cutrúcvàmôhìnhhànhvi trong
HDLs
Cu trúc (Structural) chra cu trúc phncng
thtscamch
Mctrutượng thp
•Cáccng cơbn(vídand, or, not)
•Cutrúcphâncp thông qua các module
Tương tlptrìnhhpng
Hành vi (Behavioral) chra hotđộng camch
trên các bits
Mctrutượng cao hơn
•Biudinbng các biuthc(vídout = (a & b) | c)
Không phittccác đặcthành vi đềutng
hpđược
Không sdng: + - * / % > >= < <= >> <<
Computer Engineering 2008
7
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Nhng nguy him trong thiếtkếVerilog
•Chương trình tunt, btng hpcóths
phi thêm nhiu chi tiếtphncng
Cnmtbpriority encoder
•Nếuchương trình song song, có th nhng
trng thái không xác định
Nhiukhi “always”, khi nào thcthitrước?
•Toranhiutrng thái không ddnh trước
if (x == 1) out = 0;
if (y == 1) out = 1; // else out retains previous state?
R-S latch!
Không tính trướcđượcsphntphncng
x = x + 1 có thcnRT NHIU phntphncng
Computer Engineering 2008
8
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Lch sphát trin HDLs
ISP (circa 1977) – dán nghiên cu CMU (Carnegie Mellon University)
phng nhưng không tng hp
Abel (circa 1983) – được phát trinbi Data-I/O
Mc tiêu dùng cho các thiếtblunlýkhlptrình
Không ttchomáytrng thái
Verilog (circa 1985) – phát trinbi Gateway (now Cadence)
Đặctảđưcđưarat1985
Ban đầuđược phát trin cho phng, tương tC và Pascal
Hiuqu dviết
Berkeley phát trin công ctng hpvàothpniên80
Được IEEE chun hóa
Verilog standardized (Verilog-1995 standard)
Verilog-2001 standard
VHDL (circa 1987) - DoD sponsored standard
Dưa trên VHSIC phát trinbi DARPA
Tương tnhưAda (Nhnmnh vào tái sdng botrì)
Ngnghĩamôphng ràng
Rttng quát nhưng dài dòng
Được IEEE chun hóa
VHDL standardized (’87 and ’93)
Cu trúc nghiêm ngt
Computer Engineering 2008
9
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Verilog HDL
•Veriloglàmt ngôn ngln
nhiu tính năng cho tng hpvàmôphng phncng
thbiudinnhng đặctrưng mcthp
Transistor
thhotđộng nhưngôn nglptrình
•Cutrúclp
•Cutrúcđiukhin….
Các công c phng chpnhn toàn bkhái nim
ca Verilog
Các công ctng hpchchpnhnmtphn các khái
nimcaVerilog
•Chtp trung nghiên cumtphn
Sdng mtmcthíchhp
Tp trung trên nhng cutrúctng hpđược
Tp trung tránh nhng cu trúc gây likhitng hp
Computer Engineering 2008
10
Advanced Digital Design with the Verilog HDL –
cha
p
ter 4
Ni dung chính
•GiithiuvHDLs verilog
hình cutrúcchomch lunlýt
hp
•Môphng lun lý, kimchng thiếtkế
phương pháp lunkimtra
•Thigiantrtruynlan
•Môhìnhbng sthtchomch lunlýt
hpvàtuntvi Verilog