Lab2 Logic Synthesis With Design Compiler - New PDF
Lab2 Logic Synthesis With Design Compiler - New PDF
ISLAB
Define Clock Specification
Setting Design Constraints
1. set period
2. set waveform
3. set clock skew
clock訊號至F.F.最大的路徑時間,約0.1~0.3ns
4. set source latency
原始clock至自己定義clock的傳輸時間,有除頻電路或倍頻電路才需要設定
5. set latency
因為clock後面負載很大,所以加Buffer後產生latency,值大約1~3ns
6. set input transition
輸入訊號的轉態時間,CIC測試機台環境為0.5ns
7. set clock transition
F.F.內部clk到Q之轉態時間,值越小、F.F.速度越快,但Power消耗越多,一般設0.1ns
1
Setup Time & Hold Time
2
Specify Clock (Period & Waveform)
Command: create_clock ‐name CLK ‐period 10 ‐waveform {0 5} [get_ports clock]
set_dont_touch_network [get_clocks CLK]
set_fix_hold [get_clocks CLK]
3
Setting Clock Command
Command:
set_clock_uncertainty 0.1 [get_clocks CLK]
set_clock_latency ‐source 0 [get_clocks CLK]
set_clock_latency 1 [get_clocks CLK]
set_input_transition 0.5 [all_inputs]
set_clock_transition 0.5 [all_clocks]
4
Design Constraints Setting
Setting Design Environment
1. set_operating_conditions
2. set_input_delay
3. set_driving_cell
4. set_wire_load_model
5. set_load
6. set_output_delay
5
Setting Operating Condition
Command:
set_operating_conditions ‐min_library fast ‐min fast ‐max_library slow ‐max slow
6
Input Delay and Output Delay (1/3)
‧Clock cycle > = DFFclk‐Qdelay + X + DFFsetup
‧Input Delay = DFFclk‐Qdelay + M
‧Output delay = T + DFFsetup
7
Input Delay and Output Delay (2/3)
Command:
set_input_delay ‐clock CLK ‐max 1 [remove_from_collection [all_inputs] [get_clocks CLK]]
set_input_delay ‐clock CLK ‐min 0.2 [remove_from_collection [all_inputs] [get_clocks CLK]]
8
Input Delay and Output Delay (3/3)
Command:
set_output_delay ‐clock CLK ‐max 1 [all_outputs]
set_output_delay ‐clock CLK ‐min 0.1 [all_outputs]
9
Input Drive Strength for Pads
設定Driving Strength時可以直接輸入值,或是指定不同的Cell,一般來
說我們會假設驅動input腳位的Cell為D型正反器,而DFF的值為6.60925
, Driving Strength的值越小,推動力愈大,如設0則推動力為無限大
Setting input driving strength for clk port
Command:
set_driving_cell ‐library slow ‐lib_cell BUFX4 ‐pin {Y} [get_ports clock]
Setting input driving strength for all input port except
clk
Command:
set_driving_cell ‐library slow ‐lib_cell DFFX1 ‐pin {Q} [remove_from_collection
[all_inputs] [get_ports clock]]
10
Setting Wire Load Model for Net Delay
Command:
set_wire_load_model ‐name tsmc18_wl10 ‐library slow
11
Output Load for Pad
Command:
set_load 0.001913 [all_outputs]
輸出腳位
要一個一
個去設定
0.001913
12
Setting Area And Design Rule Constraints
In general, design rule constraints reflect technology‐specific constraints that must
be met for a design to function correctly.
Setting area constraint
Command: set_max_area 0
→To create a design that has been optimized for the smallest possible size.
→If used ‐ignore_tns option, then the compiler prioritizes area above TNS.
Setting design rule constraints
Command: set_max_fanout 6 [all_inputs]
→Ensure that the sum of the fanout_load attributes for input pins in the specified
design is less than the given value.
在設定完後要做check design
Check design
Command:
check_design -multiple_designs
Uniquify the design
Command:
uniquify
14
Reports Before Compiler
Design ‐> Report Design
Design ‐> Report Ports (click on verbose)
Design ‐> Report Clocks
Report Ports
可以確認是否
正確設定了所
有的Output
Loading為 In this report you can check
0.001913 the operating condition and
wire load model
15
Save Design as .DDC File
Select alu
File ‐> Save As (file format : ddc)
16
Compile Design
Select alu
Design ‐> Compile Design (set Map/Area effort
as high)
17
Compile Design
Compile Design
後,重新呼叫
Design
18
Explore The Schematic View
Select alu and save again
19
Report Area & Timing
Reports Area (μm2) : Total Area
Gate Count : Total Area / 10
20
Save Design as .DDC File (Design Compiler Database)
Select alu
File ‐> Save As (file format : ddc)
21
Save Design as .V File : Netlist
22
Write SDF File for Pre‐Sim
The file includes information of delay of
Gate‐Level circuit.
Command in design_vision:
write_sdf ‐version 1.0 ‐context verilog alu_syn.sdf
write_sdc ‐version 1.7 CHIP.sdc
23
Pre‐Layout Simulation
以剛剛產生出的Netlist檔進行Gate-Level
Simulation也常稱作Pre-Sim用以驗證確認我們
合成出來的邏輯電路是否符合System Spec.所
要求的功能
於終端機(Terminal)輸入:
ncverilog test.v alu_compile.v tsmc18.v +access+r
24
Thanks for your attention!
25