• 正文
  • 相关推荐
申请入驻 产业图谱

时序约束中逻辑(物理)互斥的几种场景解析

09/28 08:25
219
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1、背景知识

set_false_path 属于路径级约束,仅针对指定起止点屏蔽时序,不会修改时钟本身的运行属性。书写 set_false_path -from CLKA -to CLKB 时,工具仅关闭CLK_A发起、CLK_B捕获的跨域时序,芯片仿真视角下两个时钟依旧可以同时正常跳变、同时存在于物理布线。这就造成最常见工程隐患:false_path只切时序、不切断SI串扰分析。即便跨域时序被豁免,CLK_A与CLK_B的时钟走线仍互为Aggressor与Victim,PT-SI会正常计算线间耦合带来的延迟增量与噪声毛刺,大量异步跨域只用false_path约束,会衍生大批量无意义串扰违例,增加SI修复工作量。正因路径约束的局部性,当仅个别冗余通路无需时序检查、其余跨时钟路径需要正常分析时,才适合选用false_path,大批量跨时钟域禁用时序不推荐该指令。

set_clock_group -asynchronous 用于定义跨晶振、跨独立PLL的真实异步时钟,两个时钟无固定相位、频率无绑定关系,从时钟根源上宣告无法建立有效时序。时序层面等价双向全域false_path,全跨域Setup、Hold全部豁免,但和单纯false_path最大区别体现在SI:PT识别时钟完全异步后,因无法锁定时钟跳变对齐的最坏工况,会大幅剔除跨时钟之间的有效攻击线,不再完整计算跨域耦合带来的Delta Delay,串扰分析力度远强于false_path。但异步时钟的物理布线客观存在,时钟树RC寄生保留,工具仍会做最大延迟、毛刺等DRC检查。常规SOC里内核系统时钟、UART独立晶振时钟、RTC低速时钟均采用该约束,是标准CDC异步跨域配置方案。

set_clock_group -logically_exclusive 适配多路时钟经MUX选择输出的场景,同源时钟依靠选择器电平切换,逻辑上任意时刻只有一路时钟向后端寄存器传输,两路时钟永远不会同时触发触发器。时序上全跨时钟路径时序豁免,核心SI规则是时序互斥≠物理互斥:CLK_A、CLK_B两套时钟树完整布局在芯片内部,布线物理共存,工具判定两路时钟不会同步跳变,因此互相不再作为有效Aggressor、取消耦合延迟计算;但因为物理走线真实相邻,线间耦合电容客观存在,PT依旧会保留耦合噪声Noise的计算。典型应用为同一PLL分频得到的二分频、四分频时钟多路选择电路,只能用逻辑互斥,不能套用物理互斥或异步约束。

set_clock_group -physically_exclusive 针对功能模式与测试模式互斥的时钟,最典型就是Func工作时钟与Scan扫描时钟,二者共用同一输入引脚,功能上电时扫描时钟悬空无效,ATPG测试模式下功能时钟停止工作,两种时钟在芯片任意工作阶段都无法物理共存。时序规则和另外两类时钟分组一致,全跨域时序全部关闭,但SI层面是四类约束中筛选攻击线最彻底的:工具判定任意时刻只有一组时钟实体存在,另一组时钟网络实际不工作,直接彻底移除跨组Aggressor关系,Delta Delay与耦合Noise全部豁免,完全屏蔽跨时钟串扰分析。正因该特性,功能/扫描双时钟固定选用物理互斥约束,若误用逻辑互斥,会遗留不必要的串扰噪声报告。

真实跨源异步CDC路径,优先-asynchronous,规避大量false_path带来的SI冗余违例;MUX多路同源分频时钟切换,固定logically_exclusive;功能与扫描分时复用的模式时钟,采用physically_exclusive;只有零星孤立无效路径,才使用set_false_path做精准局部屏蔽。同时存在优先级规则:全局时钟分组约束可被单条false_path覆写,同一组时钟设为异步后,单独某条路径再加false_path,以路径约束为准。

2、几种场景约束

如下图中,CLKA是master clock,CLKB是其分频时钟,二者是同源同步时钟(有固定的相位关系)。对于下图中的四种情况,需要做不同的约束。


情况1。CLKA和CLKB分别驱动不同的逻辑,且驱动的逻辑间没有数据交互。这种情况下,分别声明master clock CLKA和generate clock CLKB就行,两个时钟间的SI也是有限时间窗内检查(因为是同步信号,有固定相位关系)。

具体约束如下。

create_clock -name CLKA -period $period [get_ports clk]

create_generated_clock

-name CLKB [get_pins div/Q]

-source [get_ports clk]

-master [get_clocks CLKA]

-divide_by 2

情况2。在情况1基础上,两个时钟驱动的逻辑还有数据交互,约束方法同情况1。

情况3。CLKA和CLKB分别驱动不同的逻辑,且驱动的逻辑间没有数据交互;并且两个时钟经过MUX后共同驱动一组逻辑。

具体约束如下。

create_clock -name CLKA -period $period [get_ports clk]

create_generated_clock

-name CLKB [get_pins div/Q]

-source [get_ports clk]

-master [get_clocks CLKA]

-divide_by 2

set_clock_groups -logically_exclusive -group CLKA -group CLKB

情况3中上述约束将两个时钟约束为逻辑互斥。逻辑互斥时钟的两套时钟树物理上完整共存于芯片,耦合寄生完整收录在SPEF 中,set_clock_groups -logically_exclusive仅豁免跨域setup/hold时序,不会清除时钟网络本身的到达时间与时序窗口。

PT-SI依靠两路时钟各自有限的翻转窗口判定串扰:针对存在耦合的走线,若双方时序窗口发生重叠,则计算串扰带来的延迟增量;窗口无重叠时不计Delta Delay。对于毛刺噪声,即便受害线保持静态,相邻互斥时钟翻转引发的耦合毛刺依然完整分析校验,不会自动豁免。

情况3中还可以这么约束。

在MUX上创建两个生成时钟,并将它们设为物理互斥。

create_clock -name CLKA -period $period [get_ports clk]

create_generated_clock -name CLKB [get_pins div/Q]-source [get_ports clk]-master [get_clocks CLKA]-divide_by 2

create_generated_clock -name CLKA_src_mux [get_pins mux/Z]-source [get_ports clkl-master [get_clocks CLKA]-divide_by 1-add-comb

create_generated_clock -name CLKB_div_mux [get_pins mux/Z] -source [get_pins div/Q]-master [get_clocks CLKB]-divide_by 1-add

-add:同一节点需要多条generated clock时追加新时钟,防止旧定义被覆盖, MUX多路选通时钟场景必备,配合-name、-master_clock使用,本身不定义时钟之间互斥关系; -combinational (-comb):声明主时钟到该生成时钟仅经过纯组合逻辑,通路不含寄存器/latch,等效divide_by=1,多用于源同步输出时钟,不能用于寄存器分频电路。

情况4。CLKA和CLKB分别驱动不同的逻辑且逻辑有数据交互。且两个时钟经过MUX后共同驱动一组逻辑。这种情况不能把两个时钟设为逻辑互斥,只能采取情况3中的第二种约束方法。

3、主时钟到分频时钟时序路径样例

举例:主时钟  clk  与 2 分频时钟  clk_div2 (同源,由触发器分频)。

约束如下。

create_clock -name clk -period 10.0 [get_ports clk]

create_generated_clock -name clk_div2     -source [get_ports clk]     -divide_by 2 [get_pins div_ff/Q]

setup时序路径举例。分频时钟是主时钟的 generated clock,工具自动推算出  clk_div2  第 2 个上升沿(20 ns)是最严格的 setup 捕获沿;由于上升沿对齐,setup 通常非常宽松(slack 很大);危险往往在 hold:快域到慢域的数据可能变化太快,hold 容易违例。

hold时序路径举例。

4、主时钟和分频时钟之间的 setup 时序路径,工具是怎么判断哪个沿是最严格的

不是"猜",而是在公共周期内把两个时钟的所有有效沿枚举出来,逐一计算 requirement,取 slack 最小的那一组 launch/capture 沿。

Setup 检查的规则:数据在某个 launch 沿发出,必须在之后的某个 capture 沿之前稳定。对每个 capture 沿,配对"它之前最近的 launch 沿"(这是保证 hold 可配对、且物理上有意义的组合),得到:


相关推荐

与非网2022影响力创作者TOP2,与非网2023最佳创作者TOP10,与非网2024年度创作者。

微信公众号