最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结。
做CDC检查使用的是Spyglass工具。以下内容转载自:Spyglass检查之CDC(2) | 码农家园 (codenong.com)
文章目录
Clock_info03a
Clock_info05a/b
Clock_info18
本篇文章主要介绍CDC检查第二个过程CDC_setup_check,有Clock_info03a, Clock_info05a/b以及Clock_info18检查项
Clock_info03a
报告设计中未被约束的时钟引脚,以下几种情况会报违例。
时钟经过组合逻辑后被disable
约束文件中没有约束时钟引脚,且use_inferred_clocks参数被设置为No
时钟路径上有Blackbox,且Blackbox输出的时钟未约束
时钟在设计中没有传输
Clock_info05a/b
如果设计中有多个时钟经过选择器,则需要通过set_case_analysis命令来约束。
在上面的例子中,有clk1和clk2两个输入时钟,经过选择器后输出一个时钟。如果不对选择器进行约束,就会报违例,可将约束文件修改为:
clock -name clk1
clock -name clk2
set_case_analysis -name sel1 -value 0
set_case_analysis -name sel0 -value 0
1
2
3
4
Clock_info18
报告设计中未约束的引脚。
约束文件中一定要约束以下引脚:输入引脚(包括时钟,复位信号),输出引脚以及BLACKBOX的引脚。
对于顶层的输入输出引脚,可在约束文件中通过以下命令约束:input,output,clock,reset,set_case_analysis,abstract_port。
对于BLACKBOX的引脚可通过以下命令约束:clock,reset,abstract_port,assume_path以及signal_in_domain。
以上命令如何使用,可查阅spyglass help文档仔细阅读。
————————————————
版权声明:本文为CSDN博主「yuzhong_沐阳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhong_ethan/article/details/106841986