BK
TP.HCM
2 0 0 8
dce
Tng hplunlývi mch
2 0 1 0
dce Giithiu
•Mônhc: Tng hplunlývi mch
–Mãs:
–Stín ch: 3
•Ging viên:
Dr. Tran Ngoc Thinh
Email: tnthinh@cse.hcmut.edu.vn
Phone: 8647256 (5843)
Office: A3 building,
Office hours: Tuesdays, 9:30-11:00
2
2 0 1 0
dce Giithiumônhc
•Ni dung:
–Giithiuvthiếtkếvi mch
–Biếnđổitcác đặctngôn ngHDL
–Nm quy trình tng hp, kimtra, kimthcác mch 2
lpvànhiulp
Đốitượng:
Sinh viên cao hc
Sinh viên đạihcnăm3-4
Đánh giá
–Tiulun: 30%
Trình bày: 30%
–Kimtracuik: 40%
3
2 0 1 0
dce Ni dung môn hc
•Tng quan vthiếtkếlunlývi mch
•Mch thp2 mc
•Tng hpmch thp2 mc
•Kimthmch thp2 mc
•Mch thp nhiumc
•Tng hpmch thp nhiumc
•Kimthmch thp nhiumc
4
2 0 1 0
dce Tài liu tham kho
[1]. Logic Senthesis Srinivas Devadas, Abhijit Ghosh, Kurt
Keutzer
[2]. Synthesis and Optimization of Digital Circuits –
Giovanni De Micheli
5
BK
TP.HCM
2 0 0 8
dce
Chương 1: Giithiutng quan
¾Tng quan
¾Mch thp2 mc
¾Mch thp nhiumc
¾Kim tra (verification)
¾Kimth(testing)
2 0 1 0
dce Tng quan
•Mch stích hp
•Phương pháp thiếtkếIC
•Btrí mctransistor
•Mccng
Initial use of Logic Optimizaion
Emergence of Synthesis-Base Design
A Logic Synthesis Design Methodology
7
2 0 1 0
dce Design of Integrated Circuits
System Level
System Level
Register Transfer Level
Register Transfer Level
Gate Level
Gate Level
Transistor Level
Transistor Level
Layout Level
Layout Level
Mask Level
Mask Level
Design
Design
Verification
Verification
2 0 1 0
dce System Level
Abstract algorithmic description of high-level behavior
e.g. C-Programming language
abstract bi không chabtchinthc chi tiết nào cho thi
gian hocdata
–Hiuquảđểđtđượcmtmôhìnhthcthirútgngiai đonđầu
tiên cathiếtkế
–Khókhănđể duy trì sxuyên sutdán bi không liên kếtđến
phnhinthc
Port*
compute_optimal_route_for_packet(Packet_t *packet,
Channel_t *channel)
{
static Queue_t *packet_queue;
packet_queue = add_packet(packet_queue, packet);
...
}
2 0 1 0
dce RTL Level
module mark1;
reg [31:0] m[0:8192];
reg [12:0] pc;
reg [31:0] acc;
reg [15:0] ir;
always
begin
ir = m[pc];
if (ir[15:13] == 3b’000)
pc = m[ir[12:0]];
else if (ir[15:13]==3’b010)
acc = -m[ir[12:0]];
...
end
endmodule
module mark1;
reg [31:0] m[0:8192];
reg [12:0] pc;
reg [31:0] acc;
reg [15:0] ir;
always
begin
ir = m[pc];
if (ir[15:13] == 3b’000)
pc = m[ir[12:0]];
else if (ir[15:13]==3’b010)
acc = -m[ir[12:0]];
...
end
endmodule
Cycle accurate model
“close” to the hardware
implementation
–Nhng kiudliubit-
vector và cách hotđộng
đượctrutượng hóa t
hinthc bit-level
–Cutrúctunt(e.g. if -
then - else, while loops) để
ng h hình dòng điu
khinphctp.
2 0 1 0
dce Gate Level
Model on finite-state machine level
–Nhng hình chcnăng trong lun Boolean
sdng registers và gates
Các hình delay khác nhau cho gates và wires
1ns
1ns
4ns
4ns
3ns
3ns
5ns
5ns
2 0 1 0
dce Transistor Level
Model on CMOS transistor level
Được dùng trong kimtrastương đương chc
năng
–Hoc phân tích chi tiếtvtiming
2 0 1 0
dce Layout Level
Transistors và wires đượcđặtnhưcác
polygons trong các lp khác nhau như
diffusion, poly-silicon, metal, etc.
2 0 1 0
dce Design of Integrated Systems
Relative Effort
Relative Effort
Project Time
Project Time
System
System
RTL
RTL
Logic
Logic
-
-Design phases overlap to large degrees
Design phases overlap to large degrees
-
-Parallel changes on multiple levels, multiple teams
Parallel changes on multiple levels, multiple teams
-
-Tight scheduling constraints for product
Tight scheduling constraints for product
Transistor
Transistor
2 0 1 0
dce Design Challenges
Systems đang trnên lnhơn, thigianthiếtkếngày càng
phi rút ngn
> 100 Mio gates càng phbiến cho ASICs
> 0.4 Mio dòng ca C-code để thành vi hthng
> 5 Mio dòng ca RLT code
Design teams rtln cho nhng projects ln
–Vàitrămngười
–Knăng khác nhau
Làm vicđồng thinhiumc khác nhau
–VIcqunlýđộ phctpvàliênlcthiếtkế rtkhókhăn
Design tools đang ngày ng phúc tphơnnhưng vnchưa
đáp ng yêu cu
Thông thường ngườithiếtkếphichykhong 50 tools cho mi
component
tools có nhiuli, interfaces chưa thân thinetc.
2 0 1 0
dce Design Challenges
•Quyếtđịnh vdesign point rtkhó
performance / costs / time-to-market
–Quyếtđịnh phiđượcthchin2-3 years trước khi hoàn
thành thiếtkếbefore design finished
–Cácthiđimthiếtkếrtkhóđoán trướcnếu không làm
thts
–Xácđịnh vòng đờisnphm
Functional verification
–Môphng vnlàcôngcchính cho kimtrachcnăng
nhưng không đủ bivìkíchthướcca không gian thiếtkế
–Cácli trong released hardware thì rtđắtđể khcphc
(khác vi software)
2 0 1 0
dce Design Challenges
Tradeoffs cơbngiacácmc hình hóa khác
nhau:
modeling detail and team size to maintain model
high-level models có thểđưckim soát bi1 hoc2 người
detailed models cnđược phân hoch kếtqu skhó khăn
trong vic liên lcgiacáckhi
modeling accuracy versus modeling compactness
compact models bqua các chi tiếtvàđưarachnhng ước
lượng sơkhai cho hinthc
detailed models thì kéo dài khó khănđể thích nghi vinhng
thay đổi trong thiếtkế
simulation speed versus hardware performance
high-level models có th phng nhanh nhưng không thhin
thchiuquvinhng phương tintựđng
low-level models có thhinthc nhanh chóng nhưng khó
phng
2 0 1 0
dce Full Custom Design Flow
Application: nhng thiếtkếhiusutcccao
general-purpose processors, DSPs, graphic chips, internet
routers, games processors etc.
Target: thtrường lnvàli nhuncao
e.g. PC business
Complexity: rtcaovàđòi hilab hinđại
Độingũln, đầutưcao rirocũng cao
Vai trò Logic Synthesis:
–Hnchếchcho components không chun hóa vhiu
suthoccóththay đổisauđótrongchutrìnhthiếtkế
non-critical data paths logic và control logic
–Mtlượng ln data-path components và fast control logic
đượcthiếtkếthcông để tiưuhiusut
2 0 1 0
dce Full Custom Design Flow
ISA Specification
ISA Specification
RTL Spec
RTL Spec
Gate Level Netlist
Gate Level Netlist
Transistor Level Circuit
Transistor Level Circuit
Layout
Layout
Circuit Simulation
Circuit Simulation
Simulation
Simulation
Design Rule Checker
Design Rule Checker
Formal
Formal
Equivalence
Equivalence
Checking
Checking
Simulation
Simulation
Logic Synthesis
Logic Synthesis
Manual or
Manual or
semi
semi-
-automatic
automatic
Design
Design
Extract&Compare
Extract&Compare
2 0 1 0
dce ASIC Design Flow
Application: thtrường IC thông dng
peripheral chips in PCs, toys, handheld devices etc.
Target: thtrường trung bình nh, thigianthiết
kếhnchế
e.g. consumer electronics
Complexity of design: kiuthiếtkếchun, đoán
trướcđược
standard flows, standard off-the-shelf tools
Vai trò Logic Synthesis:
Đượcsdng tlcao trong thiếtkếngoitrnhng khi
đặcbitnhưRAM’s, ROM’s, analog components