数字IC笔记-scan chain

scan chain

1.定义:
满足可测试性设计(DFT),将设计中所有的触发器连接到一条或者若干条链上,称为scan chain。将一个复杂的时序电路转换为简单的组合电路进行测试。这一步是在逻辑综合(DC)中实现.
在这里插入图片描述
当SE=1时,电路进入scan状态,当SI=0时,电路工作在normal状态。


2.为什么进行scan chain reordering:
在DC综合阶段,工具没有寄存器的物理位置信息,按照字母顺序做scan chain的插入,连接方式并不是最优的。
在ICC中place是基于time和congestion driven,所以原来寄存器在scan chain 中是前后级关系,在ICC中可能离得比较远,导致寄存器SI端走线很乱,加重design中的congestion issue问题。


3.如何做reordering
首先在逻辑综合阶段,写出scandef,其次在ICC中读入对应的scandef

        import_def scan.def 

在place_optimize和post_cts_opt命令进行reordering scan chain。
做了reordering scan chain之后,相邻的寄存器连线很近,会导致hold违例较多,因此在place阶段重排序之后,务必在cts_opt阶段继续做进一步优化。


4.Scan.def 的结构

若case中已经有scan chain,可以通过下面命令直接输出scan.def和top.v文件

        export_def -scan scan.def
        export_verilog top.v

5.完整Scan.def 的结构
在这里插入图片描述

要仿真 GTX(Gigabit Transceiver)的 Scan Chain,你可以按照以下步骤进行: 1. 首先,确保你有一个包含 GTX Tx 和 Rx 的设计 RTL 描述。RTL 描述可以使用硬件描述语言(如Verilog或VHDL)编写。 2. 接下来,你需要使用支持 GTX 的仿真工具来加载和仿真你的设计。常用的支持 GTX 的仿真工具包括ModelSim、VCS、Incisive等。根据你使用的工具,按照相应的方式启动仿真环境。 3. 在仿真环境中,你需要设置测试向量来激活 GTX 的 Scan Chain。测试向量是一组用于测试电路的输入信号。对于 GTX,你需要设置相应的控制信号来激活 Scan Enable 以及提供正确的 Shift In 数据。 4. GTX 的 Scan Chain 可能涉及多个寄存器和控制逻辑,所以你需要编写测试程序或测试脚本来逐步激活和移动 Scan Chain 中的数据。你可以通过调整控制信号的时序来移动 Scan Chain 中的数据。 5. 在设置好测试向量和测试程序后,你可以开始运行仿真。仿真工具会根据你提供的测试向量和设计描述执行仿真过程。在仿真过程中,你可以观察 GTX 的状态和输出,以验证 Scan Chain 的正确性。 请注意,由于 GTX 是高速的串行收发器,需要特殊的接口和时序约束。在仿真过程中,你可能需要仔细考虑时钟、数据和控制信号的时序关系,并确保仿真结果与预期一致。此外,还需要确保仿真工具正确设置了 GTX 的模型和参数,以便准确地模拟其行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值