Invoke CTS:core command
clock_opt(打包命令):
1.长tree
2.Increament(在现有基础上进行微调,尽可能保持原有的不动) phyical optimization(balance,优化timing、power、DRC)
目标:timing得到了优化,tree长得好
Naming Convention
reference_GxByIz
- x is the gate level 有多少级
- y is the buffer level 插的第几级buffer
- z is the instance count 插入的数量,第几个数量
为了更简单可以自己加前缀:
cts_instance_name_prefix
cts_net_name_prefix
Clock_opt flow
- Synthesizes the clocks (基本的长tree,不做任何的balance)
- Optimizes the clock trees(优化skew,latency)
- (Optinal)Performs interclock delay balancing(优化不同master clock,是指clock之间)
- Perform detail routing of the clock nets(绕线)
- Perform RC extraction of the clock nets and computes accurate clock arrival times(真实的net delay clock latency)
- (Optinal)Adjusts the I/O timing
- Fixes the placement of the clock tree buffers and inverters(做好CTS,工具自动把buf/inv设置成cts_fix,防止后面优化的时候动到)
- Performs placement and timing optimization(微调perfomance,也会优化data上的)
- (Optional)Fixes hold time violation
拆分的命令:
clock_opt -only_cts -no_clock_route CTS
clock_opt -only_psyn -no_clock_route CTO
route_group all_clock_nets ROUTE
Incremental Placement/Optimization
clock_opt -only_psyn
尽可能不动到其它cell,优化程度不高
set_fix_hold [all_clocks]
优先级TNS/WNS
set_fix_hold_options -prioritize_tns
Minimize Hold Time Violations in Scan Paths
看物理位置和clock,根据clock tree重新优化DFT,优化hold
clock_opt -only_psyn -optimize_dft
IO latency Auto Update
clock_opt -update_clock_latency
Auto Update with virtual clocks
set_latency_adjustment_options -from_clock m_clk -to_clock v_clk