每日命令 202310010
optDesign
1. 作用
在PR的preCTS、postCTS、postRoute阶段进行时序优化,并输出时序报告
- 修复drv
- 减少total negative slack
- 使用合适的userful skew
- 修复setup和hold的时序违例
- 减小面积
- 优化leakage and dynamic power
- Merges flops to multi-bit FFs, or split the multi-bit FFs(option)
2. 优化方法
- Adds Buffers
- Resizes gates
- Restructures the netlist
- Remaps logic
- Swaps pins
- Deletes Buffers
- Moves instances
- Applies useful skew
- Applies layer promotion and/or NDR assertions
- Applies flip-flop merge and split
3. 参数解释
- -drv
- 使用该参数,则optDesign会对max_cap、max_tran违例进行修复;
- 若要修复max_fanout,则需要执行 setOptMode -fixFanoutLoad true
- 再加上 -incr 参数,则只对drv进行优化,而忽略setup|hold的优化
- -excludeNets filename
- Specifies the file that contains the hierarchical name of file
- Timing optimization exclude nets specified in this file
- -expandeViews
- 使用该参数,会输出一份特定view的详细timing reports
- -hold
- -holdViodata filename
- 在 hold fixing 后产生保留有 violation dada 的报告文件
- 必须同 -hold 参数一起使用
- -ideaClock
- 使用 idea Clock 进行优化,忽略已存在的 Clock Tree
- -incr
- 使用该参数会再进一步进行优化
- 运行加该参数的optDesign时,必须已经经过一次optDesign
- 使用该参数时,optDesign无法进power optimization
- -noEcoRoute
- 在 postRoute optimization 时禁止工具执行 ECO routing with the NanoRoute
- -outDir
- -postCTS
- -preCTS
- -prefix fileNmaePrefix 指定报告文件名字的后缀
- -selectedNets filename
- 该文件包含了指定进行hold和drv优化的nets
- 该参数只在 -hold or -drv 时使用
- -selectedTerms fileName
- 该文件包含了 hierarchical names of instance terminals,在时序优化时,连接到指定 terminal 的 nets 会进行优化
- -setup
- -targeted
- 只在 -postRoute 阶段使用
- 使用该参数,调用 target-based optimization (TBOpt),这可以很好的获得local optimization functionality
- 面向 postRoute 阶段的 critical bottleneck node 并进行优化
- 配合 setOptMode -targetBasedOptFile filename -targetBasedOptFileOnly 一起使用
- -timingDebugReport
- 产生工具可读的 Report 文件,用于 debugging timing result
- -useTransitionFiles
- Uses the transition file specified by the readTranstionFile command for transition violation fixing during postRoute Si optimization
3. Examples
(1) 带 useful skew 的optDesign
setOptMode -usefulSkew true -usefulSkewPreCTS true
optDesign -preCTS
(2) 优化指定的 path group
group_path -name path_group_name -from from_list -to to_list -trought trought_list
setPathGroupOption ...
optDesign -preCTS
(3) 尽量减小面积
setOptMode -raclaimArea true
optDesign -preCTS
optDesign -preCTS -incr