EDT技术 ug - 第四章节Creation of the EDT Logic (持续更新)

article/2025/10/12 12:39:06

文章目录

  • Compression Analysis
    • analyze_compression
  • Preparetion For EDT Logic Creation
  • Parameter Specification for the EDT Logic
    • Dual Compresson Configuration
    • Define Dual Compression Configurations
    • ASYmmetric Input and Output Channels
    • Bypass Scan Chains
    • Latch-Based EDT Logic
    • Compractor Type
    • Pipeline Stages in the Compactor
    • Pipeline Stages Added to the Channel
    • Longest Scan Chain Range
    • EDT Logic Reset
    • EDT Architecture Version(EDT IP Version)
    • Specifying Hard Macros
    • Pulse EDT Clock Before Scan Shift Clocks
    • Reporting of the EDT Logic Configuration
  • EDT Control and Channel Pins
    • DRC check
    • Creation of EDT Logic Files清单

本篇文章是对EDT logic的creation的介绍,本文并非完全是对tessent Kompression 文档的完全翻译,而是融入了自己的理解。
不得随意转载
CSDN博主:ciscomonkey

Compression Analysis

你可以通过优化更改 channel ratio(scan channels的数目以及scan chain的长短)来生成测试向量,从而评估下面的参数。
1、testcoverage
2、data volume:决定有多少pattern的数据生成,是否tester能够装得下。
3、ATPG baseline:详情请见P61 ATPG Baseline Generation

你可以使用 analyze_compression 来探索不用的ratio对测试数据的影响。

analyze_compression

使用该命令的目的就是在还没有做EDT之前,先预估一下如果按照该EDT的架构,那么coverage、pattern这些结果会是多少,如果符合你的预期,那么你再按照该方案去做EDT。

在你打ATPG之前,你可以按照如下分析;
set_fault_type stuck
set_fault_sampling 5
analyze_compression
该cmd会从coverage变化微乎其微的channel ratio开始,如下图的153 的ratio,这是微乎其微的coverage的变化,然后一直到1%的落差。

在这里插入图片描述
此外,你还可以手动的定义chain和channel 以及一些power的参数等,指定某一个block,是否做EDT。然后分析。
在这里插入图片描述
如下图所示,Tool会生成临时的testpattern,并且display statistic report出来,这样可以避免去生成EDT,然后又建立ATPG环境等一系列FLOW,就可以完成cov以及pattern的预估。
在这里插入图片描述

Preparetion For EDT Logic Creation

如下图所示,可以在dofile文件里面执行这些配置。
在这里插入图片描述
例子:
该例子show 3个EDT blocks 的IP creation: CPU 和alu have internal scan chains,并且存在TOP 有top-level scan chains。 并且cpu和alu的blocks都被定义在instance的pin上,并且不会带到top level。 这些scan pins 对于top 来说会在top level定义。

在这里插入图片描述

如下图所示,这里我绘制了一个框架图,也就是说CPU和alu内部就有internal scan chain,而在top层也有TOP-level的chain.
并且alu和CPU的internal scan chain都是只拉到其自身的isnatnce的pin上。所以我们看到在CPU和alu上做EDT的时候,我们需要add_scan_chain -internal的选项。
但是在做top level的时候是不需要的。
而且通常我们不会采用这种TOP - DOWN Flow,而是一个block一个block的做EDT,采用bottom-UP Flow. 通常用不到-internal选项。

在这里插入图片描述
Tessent shell(dft -edt)支持这种定义internal chain的Flow,但是对于TestKompress是不支持-internal 这种使用方法的。否则会报告如下的错误。

在这里插入图片描述

Parameter Specification for the EDT Logic

set_edt_options 可以指定EDT logic的诸多参数
比如下面指明channels

set_edt_options -channels 2

此外,还有重要的参数,比如internal or external to the design core(internal flow 还是external flow)

此外还可以指定是创建DFF-based 还是latch-based EDT logic,这一点是不是非常类似于DFTMAX和DFT MAX Ultra。
以及 是否要插入bypass电路,pipeLine, lockup cell in decompressor.
在这里插入图片描述

Dual Compresson Configuration

dual(成对)的压缩配置,可以通过一个EDT logic从而生成两种不同的测试阶段,比如CP测试和FT测试。从而就会增加一个额外的EDT pin用来控制选择哪一种configuration被激活: edt_configuration , block与block之间的channel 参数可以不相同,但这属于说top down flow,实际我们一般不会这样做。如下图所示,通过
set_current_edt_block 来指定要做压缩的block,然后通过制定set_current_ed_configuration 来设置不同的input/output channel,从而实现dual compression parameter的目的。

在这里插入图片描述
对于每个EDT来说,虽然有dual compression configuration parameter,但是可以计算ratio的时候,要以最高的ratio来计算这个EDT的ratio。

提问,是否set_current_edt_configuration是不是只能设置两个?

如果要控制走哪个configuration,必然有一个控制的channel,详情请通过下面的cmd来查看
在这里插入图片描述
对于设置dual compression 参数的原则:对于input channels更高的通道,那么与之对应的configuration的output的通道也要比另一个configuration高,如下图所示,因为 对于input channels来说 4更高,那么与之对应的output channel为2 也要更高。

在这里插入图片描述
如下图所示,是不合法的配置,对于输入通道为4的channel,与之对应的通道输出为1,小于另一个配置输出通道为2.

在这里插入图片描述

如下图所示,bypass chain 设置为2 3 4 均可,bypass chain的输入输出要相等。
在这里插入图片描述
局限:
1、analyze_compression 对这种dual compression configuration是不生效的。
2、basic compactor并不支持超过一种configuration,默认情况下,工具使用的是Xpress compactor.
3、默认情况下,对于dual compression configuration不会有DRC需求,你必须要run DRC在每一种configuration在不同的测试pattern阶段。

Define Dual Compression Configurations

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
run DRC 你需要基于每一种configuration。
生成EDT logic,独立的dofile文件以及procedure文件,会在每一种configuration 创建。创建的命名,在使用write_edt_files的时候,会用如下前缀:
在这里插入图片描述
如下图所示,是基于模块配置EDT的demo脚本:
在这里插入图片描述

在这里插入图片描述
如下图所示,是基于Top层,然后分别去指定要做EDT的block 的脚本,下面这种TOP-DOWN Flow一般不采用这种方式:

在这里插入图片描述

ASYmmetric Input and Output Channels

ASYmmetric 英[ˌeɪsɪˈmetrɪk] 不对等的

你可以指定不同的输入channel和输出channel,通过set_edt_options 的-input channels-output_channels开关

Bypass Scan Chains

通过配置set_set_options -bypass_chains integer 来配置有多少条bypass chain,也就是我们以前所说的Only Internal Chain,默认情况下bypass chain的数目是等价于input channels以及output channels的。但是,如果input channels和output channels的数目如果不相同的话,将默认采用小的那个值,因为对于bypass chain来说,一个input channel对应一个output channel。你可以指定小于默认的bypass chain值。

Latch-Based EDT Logic

Tessent支持mux-DFF以及LSSD scan architecture(Latch Based EDT Logic),Tessent默认是创建DFF-based EDT Logic, 如果你想要使用LSSD scan architectures. 需要通过set_edt_option -clocking 来指定。

Compractor Type

使用-compactor_type 来指定哪一个类型的compactor会在generate EDT logic过程中使用。
默认情况下, 使用的是the Xpress compactor

Pipeline Stages in the Compactor

EDT的logic生成可以将pipeline satges 包含在compactor中

set_edt_options -pipeline_logfic_levels_in_compactor

该名v零可以让你指定最大数量的logic levels(XOR gates)in compactor before pipeline stages are inserted。默认情况下是不会有pipeline stages 插入到compactor中的。详情参考:use of pipeline stages in the compactor P247

Pipeline Stages Added to the Channel

将pipeline stages增加到Channel,当我们generate EDT IP的时候,如果output channels pipeline stage通过set_edt_pins -chainge_edge_at_compactor_output trailing_edge 来知名,那么tessent会在output channel上增加pipeline。需要注意要确保这些pipeline的EDT clock是trailing edge。

Longest Scan Chain Range

有的时候,你可能需要在你的EDT logic生成之后,然后去改变你的scan chains的长度。
通常情况下,你必须要重新生成EDT logic,当这种改变影响到了最长的那条scan chain。
during setup阶段,在你生成EDT logic之前,你可以通过-longest_chain_range 来指定最长的scan chain的范围。
只要随后你去修改scan 的长度的时候,最长的scan chain不要超过这个范围,你就不需要重新生成EDT logic。

EDT Logic Reset

大多数情况下,如果你有设计需要(需要所有的sequential elements 都处于复位状态),你可以提供一个异步复位信号(edt_reset)for EDT logic。

set_edt_options -reset_signal asynchronous

如果你有配置该设置,那么会引入一个新的专属控制pin (named “edt_reset”)

EDT Architecture Version(EDT IP Version)

为了确保老版本创建的EDT Logic 架构可以在新的工具中生成pattern。可以使用 -Ip_version 来指定你想要的EDT架构的版本。
在EDT logic生成的过程中,tool会write一个dofile,这个dofile会包含EDT 指定的cmd,用来提供给ATPG使用,任何set_edt_options的命令都会包含在这个dofile中,这个dofile文件会指定version告诉给ATPG。(我不知道怎么EDT context下写出dofile)

Specifying Hard Macros

为了工具能够识别到一些硬核IP,以及避免工具在bypass mode的时候tracing clock path会修改到这些硬核IP,你可以通过下面标识,给这些硬核添加属性,具体我还没有用到如下的cmd经验。
在这里插入图片描述

Pulse EDT Clock Before Scan Shift Clocks

默认情况下,EDT 和scan chain shift clocks是同是pulse的。设置EDT logic pulse在scan shift clock之前,可以使得EDT clock独立于scan chain shift clock ,并且可以带来如下的好处:
1、EDT logic RTL 的creation更加容易。
2、betweent scan chains和EDT logic之间的lockup会被remove掉,只有一个lockup cell会放在bypass chain的中间。
如下图所示,为singgle lockup cell at bypass chain。
在这里插入图片描述
3、clock routing变得更加容易,因为LOCKUP cell被用于bypass chain,这些LOCKUP被driven by the EDT clock, 而并非被system clock drive, 消除掉route system clock到EDT logic的需求。
详细见P81

set_edt_options -pulse_edt_before_shift_clocks

Reporting of the EDT Logic Configuration

如下图所示,上面说的这些参数,我们都可以在ATPG 吃入EDT的tcd的时候看到,或者在set context dft- edt 的环境下,用

report_edt_configuration

在这里插入图片描述

EDT Control and Channel Pins

本节内容是比较核心的一部分
EDT logic包含了控制信号(control pin)以及通道信号(channel pins)
控制信号,比如说edt_clock,edt_update,以及edt_bypass 这些控制信号控制着EDT是如何进行工作的。对于通道信号来说,比如edt_channels_in以及edt_channels_out 这些信号是scan channels。

以下图片是EDT logic所要用到的pins
在这里插入图片描述
scan channel input pin : 没有限制
scan channel output pin: 不能share bid或者tri-state 在core level。因为tool会插入一个mux。
EDT Clock:EDT clock必须要要定义为时钟,并且约束其off状态,注意不能share with bus bit,否则 DC 可能不接受这种bus时钟。
另外EDT时钟必须要share一个非时钟的function pin,并且不能影响到其他的scan cell,否则的话,这些scan cell会在load_unload 过程中被干扰,当EDT clock pulse的时候。这种限制会影响cov,你最好使用一个专门的时钟。

  • EDT reset,同EDT clock一样。

  • EDT update :可以被和任何一个non-clock pin share。因为 EDT update pin并不需要constraint, share 并不会被影响到。

  • Bypass (optional): 必须要during scan的时候被force,force on in the bypass test mode,在EDT test procedure mode的时候force off。

  • EDT_configuraton(optional): 在scan shift 的时候,必须要被force上selected configuration.

  • scan enable 如果是bypass mode, 这个pin必须要是专业用的,否则么有其他限制,EDT 使用SE,只有在share channel out pin的时候。

report_edt_pin 查看edt的pin,以及shared pin
set_edt_pin 定义share pin,实现shared 功能

DRC check

DRC的步骤发生在当你从setup mode 进化到set system mode analysis 的时候
P98 待再看

使用report_edt_configurations 可以查看edt的配置信息。

Creation of EDT Logic Files清单

使用TCD的好处是,在ATPG的时候你可以取代传统的dofile文件。
使用write_edt_file 命令会吐出一些必要的文件。

1、created_edt_top.tcd 文件
当使用EDT pattern的时候,吃入该文件。

2、created_edt_top.v EDT 的.v 文件(仅仅当使用external mode的时候)
Top-level wrapper that instantiates the core
3、created_edt.v 使用RTL描述的EDT logic
4、created_edt.icl EDT 的ICL文件
5、created_edt.pdl EDT logic的PDL文件
6、 created_core_blackbox.v blackbox描述
7、created_dc_script.scr DC综合EDT logic的脚本
8、created_rtlc_scripts.scr RTL compiler 综合EDT logic的脚本

如果不使用TCD flow,tool还会写出下面的文件
created_edt.dofile dofile文件,用于pattern生成
created_edt.testproc test proc 文件用于测试向量的生成。
created_bypass.dofile dofile文件用于bypass mode
created_bypass.testproc test proc file用于bypass mode

P102 EDT logic描述


http://chatgpt.dhexx.cn/article/cHyOfY6g.shtml

相关文章

java edt,Java Swing 学问篇 - EDT

Java Swing 常识篇之EDT 从毕业到现在用SWING已经一年多,在这里想总结一下过去学到的东西和经验,和各位兄弟姐妹们一起分享。在以后的文章中也会和大家一起来分享一些好的框架。说起JAVA SWING,普遍给人的感觉是“丑、慢、难”,丑…

edt嵌入式确定性测试_CallSerially EDT和InvokeAndBlock(第1部分)

edt嵌入式确定性测试 我们上一次在2008年解释了EDT背后的一些概念,因此,我们很高兴再次撰写有关EDT的文章,在开发人员指南以及有关Udemy的课程中都有关于EDT的部分,但是由于这是最重要的了解在Codename One中,它几乎没…

EDT部署功能介绍

EDT部署功能介绍 当你在开发EDT Web前段程序的时候,你需要接触到EDT部署操作,从而将生成好的RUIHandler和Service的目标代码部署复制到目标Web程序中。和大家所熟知的部署到应用程序服务器上不同,EDT的部署操作是将生成好的Java/JavaScript/…

EDT技术 ug - 第一章节 Getting Start

文章目录 引言TestKompress Compression LogicEDT FlowEDT IP generationEDT synEDT IP pattern gennerationATPG 熟悉工具batch mode执行系统命令 本系列介绍的是Tessent的EDT( Embedded Deterministic Testing)技术。 参考为EDT tessent的 TestCompre…

DIY01_NE555叮咚门铃

文章目录 项目简介电路原理一、555定时器电路结构及工作原理二、叮咚门铃电路工作原理 原理图与PCB图一、原理图二、PCB图1. 初版2. 改进版 实物图立创打板流程经验总结 项目简介 第一次尝试自己DIY一个小电路设计,笔者选择了相对简单的NE555叮咚门铃。在本篇博客中…

NE555波形发生器手把手教程之NE555内部结构(一)

通过ne555搭建的波形发生器 可实现方波、三角波、正弦波输出 工程链接:https://pan.baidu.com/s/1T-9bdnO1IrWUsjmRTl12zQ 提取码:py66 一、芯片介绍 参数 供应电压:4.5-18V 供应电流:10-15mA 输出电流:225mA (m…

NE555基本原理及相关公式的推导

NE555基本原理及相关公式的推导 基本原理公式推导 基本原理 NE555主要由分压电路,电压比较器,RS触发器三部分组成; 分压电路电压比较器RS触发器提供电压比较器比较电压根据触发信号输出高低电平用于输出矩形波 当 V A > 2 3 V c c V_A&g…

模电学习12. NE555 方波信号发生器

模电学习12. NE555 方波信号发生器 一、NE555 基本功能1. 基本作用2. 基本组成 二、NE555方波生成电路1. 基本原理2. 原理图3. 仿真(1)RP1 设置为10%(2)RP1设置为90% 4. 实际电路 一、NE555 基本功能 1. 基本作用 NE555是一款广…

mysql profile 工具Neor Profile

一、下载Download - Neor Profile SQL http://www.profilesql.com/files/download/sqlprofiler-4.1.1.exe Neor Profile 这款免费的mysql 分析工具,这个工具类似于一个代理 本地启动一个mysql 代理服务,类似于MyCat 二、安装完成配置 三、代码连接代…

蓝桥杯NE555定时器与频率测量

使用的是蓝桥杯单片机CT107D实训平台: 555定时器内部,有3个5K的电阻分压。 NE555是一个纯硬件的设计,一旦电路确定了,其功能也就定了。 在蓝桥杯的板子上,555定时器是一个信号发生电路,通过定位器Rb3可改…

NE555的使用与理解

NE555 一款模拟与数字信号的集成芯片,通过一个电容充放电来输出方波,电容充放电的快慢决定了NE555输出的方波的频率,再通过控制两个电阻的比值来改变其输出方波的占空比。 外观图 内部图 因为NE555中有三个电阻R且都为5K所以称为555&#x…

蓝桥杯单片机设计与开发⑬ ---NE555模块

一、555定时器&频率测量 1. 电路原理 NE555是一种时钟芯片,输出一定频率的脉冲信号。就其模块特性,简单点来说,该模块会根据Rb3电位器的阻值,在SIG脚输出相应的频率的脉冲信号。 第十届竞赛中对该模块设置了考点,…

NE555 Motor LED Chaser

文章目录 1.前言2.资料下载 1.前言 这个是从YouTube上搬运来的,如图所示 2.资料下载 所需材料 #1# 10k resistor 1 #2# 10k variable resistor 1 #3# 10uf capacitor 1 #4# 3mm blue led 4 #5# 3mm yellow led 4 #6# 3mm red led 4 #7# 3mm green led 4 #8# 3mm…

单片机蓝桥杯——NE555频率测量

原理: 对蓝桥杯单片机板子上NE555电路进行频率测量时,不需要任何的配置,整个单片机测量频率的过程中,跟NE555芯片没什么关系,归根结底考察的还是定时/计数器。但需要注意: (1)当用到NE555时&am…

蓝桥杯单片机-NE555模块

一、简介 1、NE555在开发板中用于输出频率可变,占空比不变的方波。 2、NE555是纯硬件的设计,通过电位器RB3可改变其信号输出频率。不需要编程实现其功能。 考点:使用定时器的计数模式测量NE555输出的频率 3、开发板上电路 NET SIG即接P34&…

NE555产生方波

NE555详解 上图是芯片的引脚图 上图是芯片的内部结构图,脚号与第一张图的引脚相对应 从结构图可以得出下表: 接下来看应用图; 这是从CSDN上得到的一个方波发生器的原理图,对齐进行分析: 原理图将6和2脚连在一起, 所…

如何使用NE555产生方波

NE555在很多电路设计中都会用到,常用来实现施密特触发器,单稳态触发器和多谐振荡器 常用的NE555是这种八脚的,大家可以看下引脚定义 首先我们来看下NE555的内部构造: C1和C2是两个运放比较器,内部的这三个电阻阻值都是…

NE555

555定时器是电子工程领域中广泛使用的一种中规模集成电路,它将模拟与逻辑功能巧妙地组合在一起,具有结构简单、使用电压范围宽、工作速度快、定时精度高、驱动能力强等优点。555定时器配以外部元件,可以构成多种实际应用电路。广泛应用于产生…

NE555振荡电路

NE555振荡电路 简介 NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少…

蓝桥杯单片机(七)NE555

上一章讲了蓝桥杯单片机如何输出PWM波 蓝桥杯单片机(六)PWM 这一章讲解蓝桥杯单片机开发板上的NE555方波发射器的频率测量,这也是近几年的考点。 首先看原理图: 由数电的知识: NE555的周期T0.7(RaRb)C 频率f1/T图中R8为定值电阻&#xff0c…