Hard Macro的Float Pin设错了,skew balance全白干

设计里挂了几个Hard Macro(比如PLL、Memory),它们的时钟输入pin怎么处理,直接影响整个clock tree的balance效果。

很多人图省事,直接把macro的CLK pin设成stop pin。工具确实会balance这个pin的insertion delay,但问题是------macro内部还有一层时钟树啊!工具不知道macro里面的延迟,balance出来的结果只是"表面平衡",macro内部的FF和外部FF的时钟到达时间其实差得远。

正确的做法是设成float pin,把macro内部的时钟延迟告诉工具。

Pin类型 工具行为 适用场景
Stop Pin Balance skew + minimize insertion delay 普通FF的CLK pin
Exclude Pin 忽略,不balance 数据引脚、复位引脚
Non-stop Pin 穿过该pin找真正的sink 分频寄存器的CLK pin
Float Pin Balance时计入内部延迟 Hard Macro的CLK pin

Float Pin设置示例(macro内部延迟500ps)

set_clock_tree_exceptions -float_pins get_pins PLL_1/CLK \\

-float_pin_max_delay_rise0.5 \\

-float_pin_max_delay_fall0.5

负float pin(macro内部延迟比预期小)

set_clock_tree_exceptions -float_pins get_pins MEM_1/CLK \\

-float_pin_max_delay_rise-0.2 \\

-float_pin_max_delay_fall-0.2

💡 关键提醒: Float pin的延迟值从哪来?看macro的.lib时序模型,或者让IP vendor提供内部clock tree的延迟数据。别瞎猜,差100ps就可能导致hold violation。

相关推荐
景芯SoC芯片实战1 天前
12nm工艺下,6T-Turbo Cell的Filler到底该怎么插?
数据库·数字ic·dft·soc后端
日晨难再21 天前
SDC命令详解:使用quit、exit和return命令进行控制
数字ic
日晨难再2 个月前
Formality:层次化验证(write_hierarchical_verification_script命令)
数字ic·formality
IC修真院2 个月前
高赞问题:NPU可不可以代替GPU?
gpu·ic设计·芯片·微电子·数字ic·npu
日晨难再2 个月前
SDC命令详解:使用report_hierarchy命令进行报告
数字ic
日晨难再3 个月前
Library Compiler:时序弧建模与约束全解析(三)
数字ic
日晨难再3 个月前
Library Compiler:时序弧建模与约束全解析(二)
数字ic
日晨难再3 个月前
Library Compiler:时序弧建模与约束全解析(一)
数字ic
内有小猪卖3 个月前
数字IC设计流程及术语
硬件架构·数字ic