Spyglass之CDC检查(3)

文章目录

      • Clock_info03a
      • Clock_info05a/b
      • Clock_info18

本篇文章主要介绍CDC检查第二个过程CDC_setup_check,有Clock_info03a, Clock_info05a/b以及Clock_info18检查项

上一篇:Spyglass之CDC检查(2)
下一篇:Spyglass之CDC检查(4)

Clock_info03a

报告设计中未被约束的时钟引脚,以下几种情况会报违例。

  • 时钟经过组合逻辑后被disable
    Spyglass之CDC检查(3)_第1张图片
  • 约束文件中没有约束时钟引脚,且use_inferred_clocks参数被设置为No
    Spyglass之CDC检查(3)_第2张图片
  • 时钟路径上有Blackbox,且Blackbox输出的时钟未约束
    Spyglass之CDC检查(3)_第3张图片
  • 时钟在设计中没有传输
    Spyglass之CDC检查(3)_第4张图片

Clock_info05a/b

如果设计中有多个时钟经过选择器,则需要通过set_case_analysis命令来约束。
Spyglass之CDC检查(3)_第5张图片
在上面的例子中,有clk1和clk2两个输入时钟,经过选择器后输出一个时钟。如果不对选择器进行约束,就会报违例,可将约束文件修改为:

clock -name clk1
clock -name clk2
set_case_analysis -name sel1 -value 0
set_case_analysis -name sel0 -value 0

Spyglass之CDC检查(3)_第6张图片

Clock_info18

报告设计中未约束的引脚。
约束文件中一定要约束以下引脚:输入引脚(包括时钟,复位信号),输出引脚以及BLACKBOX的引脚。

  • 对于顶层的输入输出引脚,可在约束文件中通过以下命令约束:input,output,clock,reset,set_case_analysis,abstract_port。
  • 对于BLACKBOX的引脚可通过以下命令约束:clock,reset,abstract_port,assume_path以及signal_in_domain。
    以上命令如何使用,可查阅spyglass help文档仔细阅读。

你可能感兴趣的:(Spyglass)