Design Compiler
Design Compiler
Compiler
T. W. Tseng, ARES Lab 2008 Summer Training Course of Design Compiler
REF:
CIC Training Manual Logic Synthesis with Design Compiler, July, 2006
TSMC 0.18um
0 18um Process 1.8-Volt
1 8-Volt SAGE-XTM Stand Cell Library Databook
Databook, September,
September 2003
TPZ973G TSMC 0.18um Standard I/O Library Databook, Version 240a, December 10, 2003
Artisan User Manual
Speaker:
T. J. Chen
p
Advanced Reliable
Systems (ARES) Lab.
Outline
Basic Concept of the Synthesis
Synthesis Using Design Compiler
Verilog/ VHDL
NC-Verilog/ ModelSim
Debussy (Verdi)/ VCS
Logic Synthesis
Conformal/
Formality
Gate Level
NC-Verilog/ ModelSim
Debussy (Verdi)/ VCS
Layout Level
Post-Layout
Verification
Syntest
Ph
hysical Com
mpiler/
Mag
gma Blast Fusion
RTL Level
Memory Generator
GDS II
DRC/ LVS (Calibre)
PVS: Calibre xRC/ NanoSim
(Time/ Power Mill)
Tape Out
Advanced Reliable Systems (ARES) Lab.
What is Synthesis
Synthesis = translation + optimization + mapping
if(high_bits == 2b10)begin
residue = state_table[i];
[ ];
end
else begin
residue = 16h0000;
end
HDL Source
(RTL)
No Timing Info.
Generic Boolean
(GTECT)
Optimize + Mapping
(Design Compiler)
Timing Info.
The synthesis is constraint driven
and technology independent !!
Advanced Reliable Systems (ARES) Lab.
Target Technology
5
Compile
Optimized Design
RTL code
or netlist
Compile
Attributes &
Constraints
Schematic
Reports
Technology
Lib
Library
(Can be set by the GUI
interface or user-defined
Script File !!)
(Gate-Level Netlist)
(Timing,
(
g, Area,, Power,, ,, etc)
)
Flatten
Structure
Map
6
Synthesizable Verilog
Verilog Basis
p
parameter
declarations
wire, wand, wor declarations
reg declarations
input output
input,
output, inout declarations
continuous assignments
module instructions
gate instructions
always blocks
task statements
function definitions
for, while loop
Better
Cycle
Time
Also, the code coverage of your test benches should be verified (i.e. VN)
Constraints
The area and timing of your circuit are mainly determined by your
circuit architecture and coding style
There is always a trade-off between the circuit timing and area
In fact, a super tight timing constraint may be worked while synthesis,
but failed in the Place & Route (P&R) procedure
Advanced Reliable Systems (ARES) Lab.
10
Related Files
Folder
GTL
Name
Description
.synopsys
y p y _dc.setup
p
Design
g compiler
p
setup
p file
my_script.tcl
my_design.v
Verilog files
tmy_design.v
Test bench
tsmc18.v
Ex:
11
<.synopsys_dc.setup> File
link_library : the library used for interpreting input description
12
((.synopsys_dc.setup
y p y _
p File))
Note that the MEM DB files are converted from
the LIB files which are generated from the Artisan !!
Advanced Reliable Systems (ARES) Lab.
13
%> dc
dc_shell
shell t
dc_shell-t> read_lib t13spsram512x32_slow_syn.lib
dc_shell-t> write_lib t13spsram512x32 -output \
user library name, which should
t13spsram512x32_slow_syn.db
14
Synthesis Flow
Design Import
DFT Insertion
Setting Design
Environment
Compile After
DFT
Setting Clock
Constraints
Assign Violation
Avoidance
Setting Design
Rule Constraints
Naming Rule
Changing
Compile the
Design
Save Design
15
Getting Started
Prepare Files:
*.v files
*.db files (i.e. memory is used)
S h i script
Synthesis
i fil
file (i
(i.e. d
described
ib d llater))
Log Window
Command Line
16
Read File
Design Import
Verilog: .v
VHDL: .vhd
System Verilog: .sv
EDIF
PLA (Berkeley Espresso): .pla
Synopsys internal formats:
DB (binary): .db
db
Enhance db file: .ddc
Equation: .eqn
State table: .st
st
{ Command Line }
17
Input
p delay
y
Input driving
Output PAD
Output
O
t t delay
d l
Output loading
(delay, driving)
CORE.v
(delay, loading)
(chip_const.tcl)
CHIP v
CHIP.v
{ Command Line }
current_design CHIP
characterize [get_cells CORE]
current_design CORE
write script format
write_script
format dctcl o
o chip_const.tcl
chip const.tcl
Advanced Reliable Systems (ARES) Lab.
18
Uniquify
Select the most top design of the hierarchy
Hierarchy/Uniquify/Hierarchy
(Log Window)
(Design View)
uniquify
Advanced Reliable Systems (ARES) Lab.
{ Command Line }
19
Design Environment
Setting Design
Environment
20
{ Command Line }
21
Input PAD
FF
PAD
(PDIDGZ)
{ Command Line }
22
D
clk
Output PAD
FF
PAD
I
OEN
(PDO24CDG)
{ Command Line }
set_output_delay
_
p _
y [expr
[ p 2]] [all_outputs]
[ _
p
]
Advanced Reliable Systems (ARES) Lab.
23
(Worst Case)
Recommend
{ Command Line }
24
Clock Constraints
Setting Clock
Constraints
Period
Waveform
Uncertainty
Skew
Latency
Source latency
Network latency
Transition
Input transition
Clock transition
25
set_fix_hold:
t fi h ld respectt the
th hold
h ld time
ti
requirement of all clocked flip-flops
set_dont_touch_network: do not re-buffer
the clock network
{ Command Line }
26
FF
clk
FF
FF
FF
experience
(Ti i Report)
(Timing
R
t)
{ Command Line }
27
Your Design
3ns
Origin of Clock
experience
Source Latency
Small circuit: 1 ns
Large circuit: 3 ns
{ Command Line }
28
{ Command Line }
29
CLK
experience
< 0.5ns
CIC tester: 0.5
0 5 ns
{ Command Line }
set input
set_
put_ttransition
a s t o max
a 0.5
0 5 [all
[a _inputs]
puts]
Advanced Reliable Systems (ARES) Lab.
30
Maximum
Delay
Constraint
Minimum
Delay
Constraint
31
Setting Design
Rule Constraints
Area Constraint
Fanout Constraint
32
{ Command Line }
set_max_area 0
set max fanout 50 [get
set_max_fanout
[get_designs
designs CORE]
Advanced Reliable Systems (ARES) Lab.
33
Compile the
Design
Design/Compile Design
{ Command Line }
34
Assign Problem
Assign Violation
Avoidance
{ Command Line }
35
{ Command Line }
36
Naming Rule
Changing
Also, the wrong naming rules may cause problems in the LVS
{ Command Line }
set bus_inference_style {%s[%d]}
set bus_naming_style {%s[%d]}
set hdlout_internal_busses true
change_names -hierarchy -rule verilog
define_name_rules name_rule -allowed "A-Z a-z 0-9 _" -max_length 255 -type cell
define_name_rules name_rule -allowed "A-Z a-z 0-9 _[]" -max_length 255 -type net
define name rules name
define_name_rules
name_rule
rule -map {{
{{"\\*cell\\*""cell"}}
\\ cell\\ cell }}
define_name_rules name_rule -case_insensitive
change_names -hierarchy -rules name_rule
37
Save Design
Save Design
{ Command Line }
write_test_protocol -f stil -out "CHIP.spf"
write sdc CHIP
write_sdc
CHIP.sdc
sdc
write -format verilog -hierarchy -output "CHIP.vg"
write_sdf -version 1.0 CHIP.sdf
y -output
p "CHIP.db"
write -format db -hierarchy
Advanced Reliable Systems (ARES) Lab.
38
Synthesis Report
39
40
Report Area
Design/Report Area
Ex:
(um2)
41
Design View
List/Design View
Ex:
42
Report Timing
Timing/Report Timing
Ex:
setup time
Critical Path
43
44
Ex:
Resolution
45
46
Gate-Level Simulation
Include the Verilog model of standard cell and gate-level netlist to
your test bench
Standard Cell Library
Gate- Level Netlist
*.sdf File
Instance Name
Delay
47
Lab.
cp r f /usr2/grad97/tjchen/tutorial_of_DV/Lab .
48