Tessent Scan and ATPG User‘s Manual 2022 ch3 Common Tool Terminology and Concepts


在了解了DFT、扫描设计和ATPG背后的基本思路之后,就可以专注于DFT工具及其操作方式。Tessent Scan和ATPG工具不仅朝着一个共同的目标( 提高测试覆盖率)努力,它们还共享共同的术语、内部流程和其他工具概念,例如如何查看设计和扫描电路。

Scan Terminology

Scan Architectures

Test Procedure Files

测试程序文件用于ATPG工具,描述了扫描电路在设计中的工作过程。测试过程文件包含基于周期的过程( cycle-based procedures)和时序定义(timing definitions),告诉ATPG工具如何操作设计中的扫描结构。
为了使用设计中的扫描电路,必须执行以下操作:

  • 为工具定义扫描电路
  • 创建一个测试过程文件,描述扫描电路的工作过程。Tessent scan可以用于创建该文件。
  • 执行DRC过程。这一步发生在离开setup mode的时候
    一旦扫描电路通过DRC,ATPG工具相关操作将认为扫描电路工作正常。
    如果设计中包含扫描电路,ATPG工具需要一个测试过程文件,该文件必须在在运行ATPG之前创建。

Model Flattening

为了正常工作,ATPG工具和Tessent Scan必须使用它们自己内部的方式来表示设计。工具通过通过打平模型**(flattening the model)**并用自己的原语(primitives)替换网表中的设计单元(单元库中的描述),来创建这些内部设计模型。当初次退出setup模式时,工具会打平模型(flattening the model),刚好发生在DRC之前。ATPG工具还提供create_flat_model命令,该命令允许在setup模式下对设计模型进行扁平化处理。
如果退出setup模式时已存在flatten model,则只有在您发出的指令会影响设计的内部表示的时候,工具才会重新打平(reflattens)模型。例如,添加或删除原始输入、绑定信号(tying signals)和更改内部故障策略都是影响设计模型的更改。对于这些类型的更改,工具必须重新创建或重新展开设计模型。如果模型未受干扰,则该工具将保持原始的flattend model,并且不会尝试reflatten。
相关命令:

  • set_system_mode
  • create_flat_model Creates a primitive gate simulation representation of the design.
  • report_flattener_rules Displays either a summary of all the flattening rule violations or the data for a specific violation
  • set_flattener_rule_handing Specifies how the tool handles flattening violations.

Design Object Naming

Tessent Scan和ATPG工具使用特殊的术语来描述设计层次中的不同对象。最常见的如下:

  • Instance 库模型(library model)或功能块(functional block)在设计中的特定引用(实例化)
  • Hierarchical instance 包含额外实例、逻辑门或者两者都用的实例
  • Module 一种可以重复多次的Verilog功能块(modeule)。模块的每次出现都是一个层次化实例(Hierarchical instance)。

The Flattening Process

flattened model只包含仿真源于和连线(simulation primitives and connectivity,),这使其成为故障仿真和ATPG过程的最佳表示。
在这里插入图片描述
在这里插入图片描述
flatten之后,只有名称保留了层次化设计的信息,也就是说,打平之后的网表通过实例名称来维护层次化结构。上图展示了这种层次化保留。“/Top”是层次化结构顶层的名称。仿真原语(两个AND,一个NOR)表示 /Top 中的flattened实例 AOI1,每一个flattened gate在它们的名称中保留了原始的层次化设计结构,本例中如“/Top/AOI1”。
工具通过分层设计的路径名称(hierarchical pathnames)来识别端口。例如,扁平化设计中的“/Top/AOI1/B”指的是实例AOI1的输出引脚B,对于实例AND1的输入引脚B,其命名为“/Top/AND1/B”,一次作为区分。
默认情况下,扁平化过程引入的引脚保持未命名状态,并且不是有效的故障点。如果您请求对其中一个flatten gates(例如NOR)进行gate reporting,你会看到一个系统定义的引脚名称显示在引号中。如果希望库单元出现内部错误,则必须在库模型中指定内部端口名称,扁平化过程会保留这些引脚名称。
在某些情况下,设计扁平化过程可能会在设计中引入新的逻辑门。例如,扁平化过程将DFF门分解为DFF仿真原语时,输出端Q和Q’分别需要缓冲门和反相器门(buffer and inverters gates)。如果您的设计将多个驱动器连接在一起,那么扁平化将添加wire gates或bus gates。双向引脚(Bidirectional pins)是另一种特殊情况,需要在扁平表示中添加额外的门。

Simulation Primitives of the Flattend Model

Tessent Scan 和 ATPG工具在创建扁平化电路时从许多仿真原语中进行选择。除了RAM、ROM、LA和DFF原语之外,仿真原语指的是多输入(0到4)、单输出逻辑门

Learning Analysis

在打平设计之后,ATPG工具对设计进行详细的分析,以学习行为,这可能有助于后续过程(如故障仿真和ATPG等)中的智能决策。,如果不想后续直接执行ATPG,是可以可以关闭学习分析(learning analysis)(set_static_learning)。
ATPG工具只在扁平化化之后执行一次静态学习。因为pin和ATPG约束可以改变设计的行为,所以静态学习不考虑这些约束。静态学习包括对逐个门(gate-by-gate)进行的局部仿真,以确定有关设计的信息。具体如下:

Equivalence Relationships

Logic Behavior

Implied Relationships

Forbidden Relationships

Dominance Relationships

ATPG Design Rules Checking

Tessent Scan和ATPG工具在设计扁平化后执行设计规则检查(DRC)。虽然并非所有工具都执行完全相同的检查,但设计规则检查通常包括以下内容:
(按照介绍的顺序依次执行)

Clock Terminology

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值