Graybox功能使能够在sub_module上执行扫描和ATPG操作,然后能够在更高层次的层次上执行扫描和ATPG操作时使用该子模块的简化的Graybox表示,从而简化了分层设计中的扫描插入和ATPG操作过程。

由于子模块的graybox表示只包含极少量的互连电路(子模块与top的互连),在大型分层设计中使用graybox可以极大地减少执行扫描插入,优化计时,分析故障和创建测试pattern所需的memory和工具runtime。

当前,只有Mux-DFF scan architecture被graybox功能所支持。

下表的命令支持graybox功能,该功能在ATPG工具中可用。

What Is a Graybox?

graybox是一个sub-module的简化表示,只包含在层级中下一个更高level中处理sub-module所要求的少量交互电路(PI/PO、wrapper chains和wrapper chains外的glue logic(wrapper chains外部的组合逻辑))。

为了理解sub-module的graybox表示,首先考虑图1所示的全网表表示。图1显示了input和output wrapper chains、core scan chains以及存在于wrapper chains内外的组合逻辑。


在对sub-module执行扫描插入、故障计数和pattern创建之后,可以创建sub-module的graybox表示(故障计数和创建pattern是在scan之后的网表上进行的),如图2所示。

图2是图1中的sub-module的graybox representation。graybox只包含PI/PO,wrapper chains和wrapper chains外面的组合逻辑(在PI或者PO于最近的flip-flop之间的任何组合逻辑)。

Graybox Process Overview

下面描述了生成graybox网表的全面过程,当工具在analysis系统模式和external模式下时可使用graybox功能。external mode意味着在常规测试模式下(capture和shift)使用input wrapper chains,而只在non-capture模式下(shift、hold或者rotate)使用output wrapper chains。在ext_mode下,约束output wrapper chain的scan_en在shift和capture阶段始终为1(无法进行capture)。

graybox网表生成使用的dofile如下:

1.定义external mode下使用的时钟引脚(使用add_clocks命令)。
2.约束测试控制引脚从而将电路置于外部模式(使用add_input_constraints命令)。
3.定义wrapper chains(使用add_cell_constraints命令)。
4.使用test procedure file将电路置于外部模式,test procedure file应该做以下工作:

  • 为了external mode定义一个test-setup procedure以force PI,使能信号路径能够传输到wrapper cells。
  • 定义一个shift和load-unload procedure以force wrapper chain扫描使能信号,为external mode激活shift clock。

5.使用analyze_graybox命令识别graybox逻辑,该命令还显示一个summary来指示被analysis识别的组合和时序逻辑gates。工具通过设置instance为in_graybox属性来标记识别到的graybox instances。可以使用set_attribute_value命令的preserve_in_graybox属性来添加指定的instances到graybox网表中。

graybox analsis通过从所有的PO引脚和wrapper chains回溯来执行识别,但是core chains的scan-out引脚被从回溯中排除,因为不能使用add_scan_chains命令识别core chains,可以通过设置scan-out引脚的ignore_for_graybox属性来完成(internal scan out和scan in是不会被包含在graybox中的)。

6.write_design -graybox命令写出所有具有in_graybox属性的instances。工具会uniquifies(名字不同)包含在graybox网表中的所有模块(除了top模块)。唯一性模块的端口被保留,唯一化是必须要求的,因为模块内的逻辑部分包含到graybox网表中可能会导致模块的不同例化之间的冲突,因为这些instances能以不同的方式与wrapper chain交互。

Example dofile for Creating a Graybox Netlist

Graybox Netlist Generation for EDT Logic Inserted Blocks

可以生成EDT逻辑驱动的扫描链的block的graybox网表。下面给出了一个dofile示例,为一个block生成graybox网表,bypass EDT逻辑,而通过wrapper-extest端口(外部测试端口)直接访问wrapper chain scan I/O端口。

当使用“set_wrapper_chains -wrapper_extest_ports”命令插入wrapper chains时,插入这些ports到block中,通过约束全局信号wrapper_extest为逻辑1来激活这些wrapper-extest ports。EDT逻辑和core逻辑被从graybox网表中排除,通过标记EDT channel output具有ignore_for_graybox属性。

在下面的示例中,block没有专用的wrapper-extest端口,因此在extest期间仅通过EDT逻辑访问扫描I/O端口。EDT逻辑的设置被跳过,以简化DRC过程,因为在相同的工具运行中没有pattern生成。EDT逻辑的插入方式是channel I/O引脚的一个独占子集仅用于wrapper chains。通过使用ignore_for_graybox属性标记core chain的EDT channel output,可以从graybox网表中排除core逻辑。如果分配给wrapper chains的channel输出上的时序pipeline深度小于2,则analyze_graybox可以识别为extest敏化的EDT逻辑。但是,在本例中,将EDT block指定为保留instance,以便将其完全包含在graybox网表中。

不explicitly使用-preserve_instance,EDT逻辑也可以被包括在graybox网表中。EDT Finder能够识别EDT逻辑部分,自动添加它们为preserve instances。这也使channel I/O引脚上的任意sequential pipeline stages被包含在graybox网表中。下面的例子展示了一个典型的setup以在graybox analysis中利用EDT Finder。为core chains分配的EDT channel pins被约束/屏蔽以忽略EDT Finder。但是,这通常在为wrapper和core chains单独插入EDT blocks时起作用。

Graybox Overview相关推荐

  1. Overview of ISA and TMG Networking and ISA Networking Case Study (Part 1)

             老方说:此篇文章摘自ISASERVER.ORG网站,出自Thomas Shinder达人之手.严重建议ISA爱好者看看. Published: Dec 16, 2008 Update ...

  2. 论文: Data-Driven Evolutionary Optimization: An Overview and case studies(1) 数据驱动概念,文章结构,大数分类

    声明: 只作为自己阅读论文的相关笔记记录,理解有误的地方还望指正  论文下载链接: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumb ...

  3. Android开发者指南(18) —— Web Apps Overview

    前言 本章内容为开发者指南(Dev Guide)/Web Applications/Web Apps Overview,版本为Android 3.2 r1,翻译来自:"happyjiahan ...

  4. SAP WM初阶之TO报表LX12 - TOs Resident Documents(Detailed Overview)

    SAP WM初阶之TO报表LX12 - TOs Resident Documents(Detailed Overview) SAP WM模块里的TO的报表LX12 – Detailed Overvie ...

  5. SAP Retail Execution Overview

    SAP Retail Execution Overview 如下地址可以下载SAP Retail Execution Overview相关介绍的PDF文件. REX 3x (edgesuite.net ...

  6. SAP Forecasting and Replenishment for Retail – A short Overview【中英文双语版】

    SAP Forecasting and Replenishment for Retail – A short Overview SAP零售预测和补货–简要概述 General Objectives a ...

  7. [译]5.1. System Initialization Overview 系统初始化简介

    目录:http://www.cnblogs.com/WuCountry/archive/2008/11/15/1333960.html   [不提供插图,读者最好从网上下载源书] 5.1. Syste ...

  8. Openstack组件部署 — Overview和前期环境准备

    目录 目录 前言 软件环境 Openstack 简介 Openstack 架构 Openstack Install Overview 创建Node虚拟机 环境准备 基础设置 Install OpenS ...

  9. 【 Overview 】ALGORITHMS FOR SOURCE LOCALIZATION

    Overview ]MEASUREMENT MODELS AND PRINCIPLES FOR SOURCE LOCALIZATION 这篇博文给出了源定位的模型以及原理总览,这是有好处的,把各种基本 ...

最新文章

  1. 如何在 Shell 脚本中执行语法检查调试模式
  2. [转载]VS2005中ifstream不能读中文路径文件的bug
  3. Salesforce平台入门
  4. Keil uvision 4 MDK 安装教程附免费安装包资源
  5. ccf认证俄罗斯方块java_CCF认证历年试题 - osc_h3robkrt的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 修改文件中的内容,使用fileinput模块
  7. C#LeetCode刷题之#141-环形链表(Linked List Cycle)
  8. OGNL在Struts2中的应用
  9. Python学习之旅:使用Python实现Linux中的ls命令
  10. Oracle系统中表外键的更名
  11. hashmap value占用空间大小_如何获取 java hashmap占用存储空间空间大小
  12. ajax 怎么添加,添加功能(Ajax版)
  13. 什么是少儿Python编程?
  14. JDK 1.8 官网下载地址(linux / windows)
  15. 数据驱动的物流网络体系
  16. 私密智能搜题小助手,支持智能图片识别和智能复制,支持多接口
  17. 软件设计文档国家标准—软件需求说明书(GB856T——88)
  18. 细谈Axios中那些不为人知的秘密!一文读懂Axios
  19. cad渐变线怎么画_CAD中怎么填充距离渐变的线条???
  20. pn532写入手机nfc_STM32f103(mini板)控制NFC模块(PN532)对NFC标签进行读写

热门文章

  1. OPPO Watch与vivo Watch,哪个更值得入手?
  2. (一)先跑起来——网络编程
  3. 淘宝Native研发模式的演进与思考 | DX研发模式
  4. touchEnd 不执行解决办法
  5. 计算机网络智能化在铁路通信的发展,关于计算机铁路通信技术的研究
  6. 软件测试的基本流程(详细)
  7. 一文读懂以太坊存储数据核心数据结构:MPT
  8. 怎么卸载linue中的python_linux如何卸载python
  9. 关于Unity,愤怒的小鸟,如何画抛物线
  10. 在20.04.4 LTS (Focal Fossa)学习CommonAPI-C---D-Bus