genus综合时怎么样让scan chain只从Q端出来,不从QN端出来
4条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
在硬件设计中,Scan Chain是一种用于测试集成电路(IC)的重要方法。它允许将一组内部节点连接成一个串行链,这样可以在一次性操作中对这些节点进行扫描,从而检查它们的功能正确性。在Genus工具中设置Scan Chain的方向通常涉及到约束文件(如.ucf或.sdc文件)的编写,以及在Synopsys Design Compiler中的配置。
要确保Scan Chain仅从Q端输出,而不是从QN端输出,你需要在约束文件中为每个输入/输出引脚指定正确的扫描方向。对于一个标准的双稳态门(如D触发器),我们想要的是扫描数据进入D端,然后从Q端读出,而不影响QN端。以下是具体步骤:
- 打开约束文件(.ucf或.sdc)。如果你还没有这样的文件,你需要创建一个新的。
- 为每个需要参与扫描的触发器添加约束。例如,对于一个名为
my_dff的D触发器,其Q和QN端口分别为my_dff_q和my_dff_qn,你需要添加以下内容:
NET "my_dff_q" LOC = X Y ; # Replace X and Y with the physical location of the Q pin SCAN驱动方向 SCAN驱动源 = my_dff_d ; # D端是扫描信号的来源 SCAN注入点 = my_dff_d ; SCAN锁存点 = my_dff_q ; END_NET NET "my_dff_qn" LOC = X Y ; # Replace X and Y with the physical location of the QN pin SCAN无关 END_NET-
在上述约束中,
SCAN驱动方向指示了该网线应作为扫描链的一部分,并指定了扫描数据的驱动源(这里是my_dff_d,即D端)。SCAN无关告诉综合器这个端口不需要参与扫描链。 -
对于所有其他需要加入扫描链的触发器重复以上步骤。
-
保存并关闭约束文件。
-
使用Design Compiler运行综合流程时,确保将约束文件包含进来。这通常在DC的命令行参数中完成,比如:
synplify -sdc <your_constraint_file.ucf> -in <your_design.v> -
综合完成后,Genus会根据这些约束来构建Scan Chain,确保数据只从Q端进出,而QN端不受影响。
请注意,实际应用中可能还需要考虑其他因素,如同步时钟网络、复位信号等。此外,不同的EDA工具可能有不同的语法和选项,因此请根据你使用的具体工具调整约束格式。
解决 无用评论 打赏 举报 编辑记录