推荐答案
测试一下
题目
根据约束关系set_clock_groups-async-group{CLK1}{CLK2CLK3},下图中
A、Path1
B、Path2
C、Path3
D、Path4
参考答案与知识点
参考答案
正确选项为B、D。
约束 set_clock_groups -async -group {CLK1} {CLK2 CLK3} 将 CLK1 与 CLK2、CLK3 声明为两个异步时钟组。该约束会切断所有跨组路径(即 CLK1 到 CLK2 或 CLK3 之间的路径)的时序检查,但组内路径(CLK2 与 CLK3 之间、同一时钟内的路径)仍会进行默认的时序分析。
假设各路径时钟关系:Path1 为 CLK1→CLK2,Path2 为 CLK2→CLK3,Path3 为 CLK1→CLK3,Path4 为 CLK2→CLK2(同一时钟寄存器路径)。则 Path1 和 Path3 属于跨异步组路径,不会进行时序检查;Path2 属于 CLK2、CLK3 组内路径,会进行时序检查;Path4 是同一时钟内部的路径,也会进行时序检查。因此 B、D 正确。
易错点:误以为 -async 会切断所有跨时钟路径,实际上只切断不同组之间的路径;同组内时钟之间默认保持同步关系(除非有其他异步约束)。
涉及知识点
- set_clock_groups -async 命令作用
- 异步时钟组与跨组路径处理
- 组内路径默认进行时序检查
- 同一时钟域路径自动检查