weixin_53893974 2024-05-20 15:34 采纳率: 0%
浏览 14

genus scan chain

genus综合时怎么样让scan chain只从Q端出来,不从QN端出来

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-05-20 15:34
    关注

    引自免费微信小程序:皆我百晓生

    在硬件设计中,Scan Chain是一种用于测试集成电路(IC)的重要方法。它允许将一组内部节点连接成一个串行链,这样可以在一次性操作中对这些节点进行扫描,从而检查它们的功能正确性。在Genus工具中设置Scan Chain的方向通常涉及到约束文件(如.ucf或.sdc文件)的编写,以及在Synopsys Design Compiler中的配置。

    要确保Scan Chain仅从Q端输出,而不是从QN端输出,你需要在约束文件中为每个输入/输出引脚指定正确的扫描方向。对于一个标准的双稳态门(如D触发器),我们想要的是扫描数据进入D端,然后从Q端读出,而不影响QN端。以下是具体步骤:

    1. 打开约束文件(.ucf或.sdc)。如果你还没有这样的文件,你需要创建一个新的。
    2. 为每个需要参与扫描的触发器添加约束。例如,对于一个名为my_dff的D触发器,其Q和QN端口分别为my_dff_qmy_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
    
    1. 在上述约束中,SCAN驱动方向指示了该网线应作为扫描链的一部分,并指定了扫描数据的驱动源(这里是my_dff_d,即D端)。SCAN无关告诉综合器这个端口不需要参与扫描链。

    2. 对于所有其他需要加入扫描链的触发器重复以上步骤。

    3. 保存并关闭约束文件。

    4. 使用Design Compiler运行综合流程时,确保将约束文件包含进来。这通常在DC的命令行参数中完成,比如:

      synplify -sdc <your_constraint_file.ucf> -in <your_design.v>
      
    5. 综合完成后,Genus会根据这些约束来构建Scan Chain,确保数据只从Q端进出,而QN端不受影响。

    请注意,实际应用中可能还需要考虑其他因素,如同步时钟网络、复位信号等。此外,不同的EDA工具可能有不同的语法和选项,因此请根据你使用的具体工具调整约束格式。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月20日