推荐答案
测试一下
题目
根据约束关系set_clock_groups -async -group {CLK1 CLK3}{CLK2},下图哪些路径会进行时序检查
A Path4 B Path2 C Path3 D Path1
参考答案与知识点
参考答案
正确答案:A、D。根据约束 `set_clock_groups -async -group {CLK1 CLK3}{CLK2}`,该命令将时钟划分为两个异步组:第一个组包含 CLK1 与 CLK3,第二个组仅包含 CLK2。`-async` 选项表示不同组之间的时钟为异步关系,这些跨组路径不进行时序检查;而同一个组内的时钟被视为同步关系,其寄存器之间的路径仍需进行建立时间和保持时间检查。因此,只有同一组内的路径会进行时序检查。图中 Path1 连接 CLK1 与 CLK3(同组),Path4 为 CLK2 内部路径(同组),二者均需检查。Path2 与 Path3 分别跨越不同组(如 CLK1→CLK2、CLK3→CLK2),属于异步路径,不进行时序检查。常见易错点包括:混淆 `-async` 与 `-exclusive` 的区别,误以为组内也会被忽略;或错误认为所有跨时钟域路径均不做检查(实际需视约束而定)。
涉及知识点
- set_clock_groups 命令语法与选项含义
- 异步组与同步组的区别
- 跨时钟域路径的时序检查规则
- 组内多时钟的同步关系处理
- 易混淆点:-async vs -exclusive