首页 > 其他分享 >AC_patterns的生成过程

AC_patterns的生成过程

时间:2024-07-12 11:26:01浏览次数:8  
标签:capture AC clock shift scan 生成 patterns 测试 pattern

at-speed技术用来测试电路正常工作的时序是否有问题,进而确定电路能否正常工作。这种技术测试的故障叫做transition fault,同样这种技术也叫transition fault test。想要实现这种技术,一对测试pattern(V1, V2), 需要应用到测试电路当中(Circuit Under Test, CUT)。 V1用来初始化电路,或者叫给整个电路的所有触发器赋上一个初值,V2作为触发一个0到1,或者1到0的翻转,然后在一个时钟后进行捕获结果。注意,这里的时钟周期需要和正常功能模式下的时钟周期保持一致,以获得最接近实际的测试效果。
整个过程需要三个:

  • 初始化,Initialization Cycle(IC),即对整个电路初始化需要的一个时钟周期
  • 发射,Launch Cycle(LC),在目标触发器启动一个指定的翻转
  • 捕获,Capture Cycle(CC),捕获经过组合逻辑的计算结果

根据launch所在的模式或者阶段,可以分为两种生成过程:

1、 Launch Off Shift (LOS)
也叫Skewed-Load,如下面的时序图所示,LOS测试的时候,scan enable的低电平会维持一个时钟脉冲。这样,launch发生在最后一次shift的那个周期,通过SD-Q传入组合逻辑,经过组合逻辑之后在下一个时钟上升沿被采样,即捕获,然后再将其依次shift出去。

缺点:

scan_en 无法快速拉低,导致时序要求太高(要对scan enable 的布线和时序上的平衡 使它的transition time 能够满足条件)。

2、Launch Off Capture (LOC)

又叫Broad-Side, 如下面的时序图所示,LOC测试的时候,scan enable的低电平会维持两个时钟脉冲。这样第二个时钟沿的采样过程就更加接近电路实际工作的情况,数据从前一级的D-Q进入组合逻辑,然后再被捕获。

优势:

scan_en不在时序路径里面,不用担心时;

支持多级的non-scan_cell逻辑的测试;

memories pin上的时序的fault也是可以被测试的,采用muli_load_pats;

支持 false path和multicycle path的标记;大部分multi_cycle的设置处理都是半全局静态信号的;false_path出来都是跨时钟的信号;
缺点就是: 在pattern生成的时候会比较复杂,因为LOC和LOS的区别就在于,前者 transition的产生在capture阶段 ,也就是transition是上级电路运算来的,比较复杂,而launch-off-side pattern中transition是直接shift进去的,更加容易。

附加解释:

1、为了精准实现AC测试当中的快慢时钟切换以及pulse_clk的次数,即一般在设计中加入OCC逻辑,解决普通ATE 无法提供高速function clock的问题,它用于切换at s反之,peed测试时PLL产生的fast clock(capture阶段用)以及ATE进来的slow clcok(shift阶段用)。stuck at测试的shift和capture只需slow clock就够了,且capture阶段只需要一个 cycle就够了,因此无需OCC。

occ_features:

  1. 为每个clock domain提供独立的控制
  2. 根据pattern的情况 为 capture cycle分发正确数量的脉冲
  3. 更加干净的在shift clock和fast clock之间进行切换;
  4. 根据测试的类型,判断capture阶段是使用slow clock还是 fast clock;

目前常用的是第二种LOC,且一般情况下即capture阶段(SE变低的阶段)只需两个cycle即可。可选择性的加入 Dead cycle 或者dummy_cycles等待足够长的时间 让scan_en 拉低。

默认优先产生boardside pattern; 当没有解决方案时,才会长生launch-off-shift的pattern;(当然用户可以指定工具产生何种类型的pattern)
两种方法都需要CCD(clock control definition)去配置 at-speed pattern的 launch 和capture;

OCC中得clock chopping control:存在scan-programmable shift register 通过控制clock gate 控制pulse的数量;这里的 scan-programmable shift register 就是scan chain结构,以sub-chain的方式串到scan-chain上 通过shift 出来的布尔变量控制clock chain。

标签:capture,AC,clock,shift,scan,生成,patterns,测试,pattern
From: https://blog.csdn.net/jinkai0822/article/details/140344497

相关文章

  • 在springboot 中使用Apache HttpClient 4的详细示例
    在SpringBoot中使用ApacheHttpClient,可以通过配置HttpClient的Bean并使用它来发起HTTP请求。下面是一个详细的示例,展示了如何在SpringBoot应用中集成和使用ApacheHttpClient。步骤1:添加依赖在你的pom.xml文件中添加ApacheHttpClient的依赖:<dependency>......
  • PGSQL快速生成模拟数据
    背景有时候,我们为了测试数据库的性能,通常需要快速构建测试数据,PgSql提供了快速构建数据的工具,方便我们能够快捷的构建模拟数据。生成函数顺序生成生成SQL--生成一批顺序值SELECTidFROMGENERATE_SERIES(1,10)t(id);结果id1234......
  • 在springboot 中使用Apache HttpClient 5的详细示例
    ApacheHttpComponentsClient5.x是HttpClient的最新版本,与4.x系列相比,5.x系列进行了许多改进和重构,提供了更现代的API和更好的性能。以下是使用步骤步骤1:添加依赖在你的pom.xml文件中添加ApacheHttpClient5.x的依赖:<dependency><groupId>org.apache.htt......
  • Facebook开户&FB海外三不限企业户如何开户
    Facebook是世界上最大的社交媒体平台之一,吸引了全球数十亿的用户。Facebook已经成为了海外代投公司中不可或缺的一部分,这个社交媒体平台的广泛使用和用户数量的增长为海外代投业务提供了巨大的机遇和挑战。许多跨境电商人就需要开广告账户进行推广,本文就介绍Facebook的广告账户......
  • 生成带logo二维码+批量压缩导出
    importcom.google.zxing.BarcodeFormat;importcom.google.zxing.EncodeHintType;importcom.google.zxing.MultiFormatWriter;importcom.google.zxing.common.BitMatrix;importcom.google.zxing.qrcode.decoder.ErrorCorrectionLevel;importjavax.imageio.ImageIO;......
  • 我是如何从零到成为 Apache 顶级项目的 Committer
    最近收到了ApachePulsar和ApacheHertzBeat社区的邀请邮件,成为了这两个项目的Committer。一路走来我从最开始的打游击战的闲散人员到如今活跃在各个开源项目里的“老兵”,用现在流行的话来说Apache的这两个Committer就相当于是拿到了编制,进入了正规军。下面就分享一下......
  • 小红书卡片生成,使用W外链制作小红书卡片
    在数字营销和社交媒体盛行的今天,小红书以其独特的社区氛围和购物推荐功能,成为了众多品牌和个人推广产品、分享经验的热门平台。而W外链作为一种高效的链接工具,能够帮助用户快速创建小红书卡片,实现内容的高效传播。本文将详细介绍如何使用W外链制作小红书卡片,并分享一些实用技巧,帮......
  • 【Oracle】SQL 将一组已经排序的数据进行分组,按照每组50行进行分组
    【Oracle】SQL将一组已经排序的数据进行分组,按照每组50行进行分组简单来说,使用ceil函数SELECTyour_column,--ROW_NUMBER()OVER(ORDERBYyour_column)为排序的开窗函数,用那种都可以CEIL(ROW_NUMBER()OVER(ORDERBYyour_column)/51)ASgroup_numberFR......
  • HDU 2037 今年暑假不AC
    题目链接:HDU2037【今年暑假不AC】’思路    典型区间贪心,按节目结束时间升序排序,结束时间相等时按开始时间升序排序,然后逐个查找满足要求的节目,下一个观看的节目开始时间要大于当前观看节目的结束时间。代码#include<bits/stdc++.h>usingnamespacestd;#define......
  • [1030] Extract text between two specific phrases in a multi-line text
    Ah,theancientartoftextextraction—wherewedelveintothescrollsofPythonmagictorevealhiddenpassages!Fearnot,fellowseekerofknowledge;Ishallguideyouthroughthismysticalprocess.Toextracttextbetweentwospecificphrasesinamult......