how to fix setup/hold timing violations

Fix setup

Fix hold

setup/hold互卡:

 从成因上来说,setup&hold互卡主要有几种因素的影响:

a) 不同PVT条件下的cell delay variation较大

b) 某些cell的library setup time或library hold time特别大

c) setup与hold的uncertainty或者derate约束较为严格或悲观

d) launch, capture的clock common path很短,OCV因素导致setup和hold都很难收敛

互卡的情况:

1) 同一endpoint的setup&hold互卡,但startpoint不同

2) 相同startpoint与endpoint的setup&hold互卡,但中间经过的data路径不同

3) 相同startpoint与endpoint的setup&hold互卡,且经过的data路径完全相同

  • 如下图所示:path1由于data path太短,容易出现hold问题,path2由于data path太长,容易出现setup问题。对于DFF3的D端既容易出现hold问题又容易出现setup问题,所以不能通过在DFF3的D端插入buffer来解决hold问题,也不能通过sizeup E来解决setup 问题。

  • 解决方法:a, 通过sizeup A/B/C/D来释放更多的setup margin; b, 通过在DFF1的Q端插入buffer来解决hold问题。

参考:https://mp.weixin.qq.com/s?__biz=Mzg3NTc0NzYyNw==&mid=2247485122&idx=1&sn=f8a239954a4b293281928397de90a917&chksm=cf3d8686f84a0f90bc51727dfee815f78006694f443de3ee566e0c3b5c17d1e2dd678a528102&cur_album_id=2279180913081237515&scene=189#wechat_redirect

 

MATS Fix timing manually

 PT timing ECO,是一种虚拟的修改,生成ECO_timing.tcl,该tcl文件拷进encounter中,做到实际的修改,反应到physical上。
logical(size_cell remove_buffer add_buffer create_cell) → physical
LEF:工艺库的物理信息 (Library Exchange File )
DEF:  设计库的物理信息 (Design Exchange File):所有的leaf-cell 的物理位置和绕线的信息手修流程:
pt.signoff.sta
pt_shell -sgq short -sgc 1 -sgm 4
cd scan_hold_ssgnp0p675vn40c_cworstn40c(Violations session)
restore_session p224g05_tx_pll_ivref_top.session
Report_timing:
report_timing -transition_time -crosstalk_delta -cap -nets -derate -sort_by slack -path_type full_clock_expanded -nosplit -significant_digits 4 -pba_mode exhaustive -delay_type -from -to
Insert_buffer
insert_buffer z_eco_add_repeater_2/I BUFFD2BWP210H6P51CNODLVT
Size_cell
size_cell SVT → LVT
Remove_buffer
remove_buffer
write_change -format icctcl -output ./ECO_timing.tcl

posted @ 2022-10-31 16:45  bost  阅读(1497)  评论(0)    收藏  举报