Mentor-dft 学习笔记 day44-Low-Power Design Test

news2024/12/28 4:14:26
Low-Power Testing Overview
Tessent Scan支持启用低功耗测试的操作。

•在存在孤立cell的情况下插入专用包装cell。

•根据驱动的逻辑和电源域的优先级将专用包装单元分配给电源域。

低功耗设计流程包括以下步骤:

1.在CPF/UPF文件中指定低功耗数据规范。 

2.在设计中插入扫描单元和EDT逻辑。 

3.验证低功耗数据、扫描和EDT逻辑。 

4.生成功率域感知测试pattern。 

5.测试低功耗设计组件。

Low-Power Assumptions and Limitations
power-aware 功能有几个假设和限制。

•Tessent扫描不会写入或更新CPF/UPF文件。Tessent Scan假设UPF/CPF文件中明确列出了属于电源域的所有内容。由于这种假设,必须在扫描插入步骤之后和ATPG之前对UPF/CPF文件进行以下更改:

o将任何插入的输入包装单元添加到CPF/UPF文件中的正确电源域。

o在CPF/UPF文件中明确定义所有隔离单元及其控制信号和电平移位器。Tessent Scan会检查它们是否存在,但不会添加它们。

Low-Power CPF/UPF Parameters
Tessent Scan使用CPF/UPF文件来识别设计中的电源域,并限制电源域边界内的扫描插入。
Tessent Scan支持以下格式的电源结构和配置数据:
CPF 1.0 and 1.1
UPF 2.0 (IEEE1801)
在CPF/UPF文件中,必须指定电源域和与电源域、设计的电源状态(模式)以及隔离单元和控制信号相关的信息。可以使用表14-1中列出的命令来指定此信息。
Test Insertion
测试插入包括扫描替换和stitch。可以在电源域基础上插入扫描链。或者,可以根据电源状态对测试逻辑进行分组。 图14-1显示了基于功率域插入的链的示例。注意,没有扫描链跨越电源域,因为该工具不会跨电源域插入扫描。
Low-Power Test Flow
为了开始低功率测试流程,加载低功率数据,然后使用加载的功率域信息来指导扫描分区和扫描插入的过程。

 

Procedure
1. Load the design data and libraries.
2. Read the CPF or UPF file:
read_cpf filename
read_upf filename
3. Set up appropriate design constraints.
4. Enter analysis mode:
SETUP> set_system_mode analysis
5. 如果包装单元被启用,扫描链分区将受到影响。
6.使用set_power_domain命令根据最大扫描链长度或扫描链编号指定扫描链:
set_power_domain {{Power_domain_name… | -All [-EDT]}
[-Number_of_chains integer | -Max_length integer]}
For example:
> set_power_domain PD_interleaver -number 65
> set_power_domain PD_mem_ctrl -max_length 6
set_power_domain命令未指定的任何扫描触发器都将添加到默认的top-level电源域。

7.使用Insert_test_logic命令将测试结构插入到设计网表中。

8.使用Report_statistics命令报告设计统计信息。

9.写出网表和ATPG设置。

Scan Insertion with Tessent Scan
可以使用Tessent scan来执行扫描单元替换和扫描拼接。通过在开始扫描插入和拼接过程之前为设计加载低功耗CPF或UPF文件,可以使用功率域信息来指导扫描分割过程。 Tessent 扫描不会跨电源域插入扫描。 可以使用set_power_domain命令显式指定设计的每个电源域中扫描链的数量和长度。如果不使用set_power_domain,Tessent Scan将根据以下命令/选项设置采用默认设置:
insert_test_logic — arguments -MAx_length and -NUmber
add_scan_partition — arguments -NUmber and -MAx_length
set_wrapper_chains — arguments -INPUT_NUMber , -INPUT_MAX_length ,
-OUTPUT_NUMber , and -OUTPUT_MAX_length
在扫描插入期间,该工具不会生成在电源域方面的设计。Tessent Scan创建了一种在功率域环境中功能正确的设计,但在跨功率域路由全局信号时,它不会插入隔离单元或电平移位器。需要使用合成或物理实现工具自行添加这些对象,然后手动将它们添加到CPF/UPF文件中。
Managing Scan Enable Signals for Multiple Power Domains
低功耗测试流程允许在设计中插入多个扫描启用信号。这意味着可以在设计中为每个电源域插入扫描启用信号;还可以为单个电源域插入多个扫描启用信号。无论设计是没有定义电源域还是定义了多个电源域,多个扫描启用信号的行为都是相同的。
通过使用set_scan_enable命令并使用partition_name参数指定电源域,可以将一个扫描启用信号分配给电源域,如下例所示:
set_scan_enable scan_en_pin_path pd1 pd2
要将多个扫描启用信号分配给单个电源域,请使用set_scan_enable_sharing命令并指定-scan_partition开关,该开关为每个指定的电源域分配唯一的扫描启用信号。默认情况下,添加的扫描启用信号的类型对于核心链、输入包装链和输出包装链是不同的。
set_scan_enable_sharing -prefix
base_name -scan_partition
Managing Wrapper Cells with Power Domains
新插入的专用包装单元基于包装链内包装单元(专用和共享)的功率域从属关系被缝合到包装链中。该工具在包装单元识别期间识别专用包装单元所属的功率域;根据registered 的PI或PO连接到哪个功率域来选择功率域。如果PI连接到多个功率域,则专用包装单元与第一个遇到的功率域相关联。

图14-2显示了每个功率域的输入包装单元的拼接。新添加的专用包装单元与同一电源域中的共享包装单元缝合。该图显示了每个功率域的输出包装单元的拼接。新添加的专用包装单元与同一电源域中的共享包装单元缝合。

Managing Test Point Insertion with Power Domains
当将cpf或upf文件读入工具时,该工具会使用no_oobserve_point和no_control_point属性标记电源隔离单元和电平移位器附近的位置。

在电源隔离单元或电平转换器的输出侧,以下引脚标记有no_oobserve_point属性:

•电源隔离单元或电平转换器的输出引脚。

•由电源隔离单元或电平转换器驱动的门的输入引脚。

在电源隔离单元或电平转换器的输入侧,以下引脚标记为no_control_point属性:

•电源隔离单元或电平转换器的输入引脚。

•驱动电源隔离单元或电平转换器的门的输出引脚。

测试点分析算法考虑到这一点,因此在这些位置不放置自动生成的测试点。此外,在这些位置手动添加测试点的命令还可以防止在该位置插入指定的测试点类型(控制或观察),并生成警告,即测试点不会插入到电源隔离单元或电平转换器的特定侧。在发出命令“insert_test_logic”后完成测试点的验证。

// Warning: Control point at "u1/SP[6]" will not be inserted.
// This location is at the input side of a power isolation cell or
level shifter.
// You can insert a control point at the output side of the power
isolation cell/level shifter.
// Warning: Observe point at "U83/Z" will not be inserted.
// This location is at the output side of a power isolation cell
"U83".
// You can insert an observe point at the input side of the power
isolation cell "U83".
Low-Power DRCs
除了检查设计逻辑和单元库之外,功率感知设计规则(DRC V1-V21)还检查通过CPF/UPF文件提供的功率数据的违规和正确性。
DRCs V1 to V7 — Checked after reading a power data file.
DRCs V8 to V21 — Checked when you switch from setup mode to a non-setup mode.
Low-Power DRC Troubleshooting
可以使用report_scan_partitions命令生成包含电源域信息的扫描单元报告,如下例所示。Tessent Scan在扫描链拼接期间将电源域视为扫描分区。 report_scan_partitions命令从CPF/UPF文件中提取所有更新的信息,并报告每个电源域(扫描分区)和该电源域中所有顺序实例的路径名;新添加的专用包装单元和锁定单元由名称后面的字符串“(新单元)”表示。
DFT> report_scan_partitions -all -expand
-------------------------------------------
ScanPartitionNam Members
-------------------------------------------
PD2 I6
I10/lckup3 (new cell)
I10/lckup2 (new cell)
I10/lckup1 (new cell)
I10/outreg2 (new cell)
I10/outreg1 (new cell)
I10/sf_0001_1
I10/sf_0002_1
I10/sf_0003_1
PD3 I2/I2/lckup3 (new cell)
I2/I2/lckup2 (new cell)
I2/I2/lckup1 (new cell)
I2/I2/outreg1 (new cell)
I2/I2/sf_0001_1
I2/I2/sf_0002_1
I2/I2/sf_0003_1
I2/I2/I1_2
DEF lckup2 (new cell)
lckup1 (new cell)
inreg2 (new cell)
inreg1 (new cell)
outreg1 (new cell)
-------------------------------------------
Power Domains for Scan Cells Reporting
可以使用report_scan_cells命令生成包含电源域信息的扫描单元报告,如下所示:
ANALYSIS> report_scan_cells -power_domain
Power Domains for Gates Reporting
可以使用set_gate_report命令将电源域信息添加到report_gates报告的结果中,如以下示例所示:
ANALYSIS> set_gate_report -power on
ANALYSIS> report_gates 154421
// /mc0/present_state_reg_3_/inst1122_4/mlc_dff (154421) DFF
// "S" I(ON) 153682-
// "R" I(ON) 153681-
// "C0" I(ON) 26078-
// "D0" I(ON) 43013-
// "OUT" O(ON) 1115-
// MASTER cell_id=0 chain=chain66 group=grp1 invert_data=FFFF
// in power domain PD_mem_ctrl
Power State-Aware ATPG
ATPG的建议方法是尽可能打开所有电源域。使用此方法,您可以通过对设计块的测试进行排序并使用低功耗ATPG来管理测试期间由于切换活动而引起的电源问题。这是最简单的方法,最大限度地提高了故障覆盖率。如果由于静态功率限制而无法使用此方法,则应选择一组最小的功率状态,以实现设计中所有块以及块间连接所需的故障覆盖率。
Power Domain Testing
通过设置CPF或UPF中指定的适当电源模式/状态条件,可以在多种电源模式和电源状态下运行ATPG。 为了演示,假设设计具有以下两种电源模式:
PM1 — All domains on
PM2 — PD_mem_ctrl powered down when mc_pwr is “0”
通过在mc_pwr上设置引脚约束,如图所示,ATPG识别当前设置的电源模式并正确运行:
SETUP> add_input_constraints mc_pwr -c1
SETUP> set_system_mode analysis
// ---------------------------------------------------------------------
// Begin circuit learning analyses.
// ---------------------------------------------------------------------
SETUP> create_patterns
No faults in fault list. Adding all faults...
// Enabling power-aware ATPG: initial power mode in capture cycle = PM2
如果电源模式在捕获周期内发生变化,工具将发出V12违规。当V12处理为警告(默认)时,工具会自动添加ATPG约束,以在捕获周期内修复电源模式:
// 1 ATPG constraint is added to fix power mode during capture.
// The active power mode at the beginning of capture cycle is PM2.
// Power-aware ATPG is enabled.
当启用电源感知ATPG时,工具根据电源模式执行ATPG和故障模拟:断电域中的常规门将为X,相应的故障为AU。如果添加了电源域中的故障,则故障分组会将故障分类为断电导致的AU:
ANALYSIS> create_patterns
ANALYSIS> report_statistics

可以选择在通电域或任何用户指定的电源域上添加、删除、报告和写入故障,而不是添加所有故障: 

add_/delete_/report_/write_faults
[[-ON_domains] | [-OFf_domains] |
[ -POWer_domains {domain_name …}]]
[ -ISolation_cells] [ -LEvel_shifters ] [ -REtention_cells ]
Level Shifters
在大多数情况下,您可以将电平移位器作为标准缓冲区来处理,而不需要任何特殊处理来实现完全测试覆盖。然而,如果设计中的一个或多个电源域可以在多个电源电压下运行,则应为任何给定电平转换器的输入和输出侧的电源电压的所有排列运行ATPG,以确保完全覆盖
Isolation Cells
隔离单元是一种特殊的低功率单元,用于分离通电和断电域。 如本节所述,它们需要在扫描插入期间进行特殊处理。 可以使用以下两种模式之一测试隔离单元:
Normal transmission mode — 在此模式下,当隔离单元被禁用并stuck在“0”或“1”时,可以在单元的输入和输出上检测到故障。也会检测到隔离启用引脚的stuck-at故障(隔离开启),因为该故障会迫使单元隔离并阻止数据传输。
Isolation mode —在此模式下,如果隔离单元是clamp-style单元(隔离打开时输出保持为“0”或“1”),则无法检测到输入侧stuck-at故障上。如果隔离单元是latch-style单元,则通过在启用隔离之前锁存驱动域的值,可以检测到输入侧stuck-at故障。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计Python的校园报修平台(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

RequestResponse

Request Request继承体系 Request获取请求数据 获取请求数据 通用方式获取请求参数 WebServlet("/req1") public class req1 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOE…

电脑怎么隐藏文件夹?6个步骤完成!

在日常办公使用电脑的过程中,总会出现各种问题。比如:电脑怎么隐藏文件夹?当我们需要这些数据时,我们又该如何恢复?为了解决这些问题,小编在这里总结了6个操作步骤来隐藏文件夹数据的方法。让我们一起来看看…

【代码随想录】Day34链表:力扣203,707,206,142,面试0207

目录 基本知识 概念、类型、存储方式: 定义 操作 性能分析 经典方法 虚拟头结点 思路 例题:力扣203 链表的基本操作 思路 例题:力扣707 反转链表 思路 例题:力扣206 删除倒数第N个结点 思路: 例题&am…

jsp+ssm计算机毕业设计-东湖社区志愿者管理平台【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

[附源码]计算机毕业设计Python的在线作业批改系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

tomcat 服务突然停止、日志排查以及解决方案

文章目录一、服务停止调研1. jvm排查2. 日志排查3. 推测与ssh会话有关二、ssh会话强制退出验证2.1. 手动强制关闭进程12.2. 手动强制关闭进程22.3. 总结归纳与解决方案一、服务停止调研 1. jvm排查 有可能是jvm配置参数导致的,然后在/var/log和/app/apache-tomcat…

2022 软件测试大题【太原理工大学】

大题应该是有两道,每道10分,具体是不是我也不知道,老师也不确定。① 白盒测试 —— 控制流图,给出一段代码,画出控制流图,根据公式求程序段的环形复杂度,求程序基本路径集合中的独立路径&#x…

永磁同步电机(PMSM)磁场定向控制(FOC)电流环PI调节器参数整定

文章目录前言一、调节器的工程设计方法二、电流环PI调节器的参数整定2.1.电流环的结构框图2.2.典型I型系统2.3.电流环PI参数整定计算公式三、电流环PI调节器设计实例3.1.永磁同步电机磁场定向的电流闭环控制3.2.电流环PI参数计算3.3.仿真分析总结前言 本章节采用工程设计的方法…

CommaFeed:仿Google Readerd的RSS阅读器

最近老苏身边中招的人也开始多起来了,大家要保重~ 本文开始于 9 月下旬,完成于 10 月下旬,目前正式版本还是老苏打包时用的 2.6.0,不过现在已经有了 3.0.0 RC1 什么是 CommaFeed ? CommaFeed 是受 Google Reader 启发而…

CS144-Lab0解析

讲在开头 cs144建议我们使用Modern C来完成所有的lab,关于modern c的全面的用法可以在(http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines)获取。 以下是一些代码规范: 不要使用malloc()和free()不要使用new和delete在不得不使用指针时应…

如何自动估算项目开发成本及报价,提高估算效率?

项目估算需要有科学专业的估算方法,需要有明确的量化指标,那么如何自动估算项目开发成本及报价? 第一步:功能点复杂程度的估算 CoCode需求分析工具,根据用户需求,使用COSMIC和IFPUG项目规模估算法&#xff…

数据结构C语言版 —— 队列+循环队列实现

文章目录队列1.概念2. 生活中队列应用3. 队列的实现初始化队列入队列出队列获取队头元素获取队尾元素获取队列中元素个数判断队列是否为空销毁队列2. 循环队列队列 1.概念 和栈相反,队列(queue)是一种先进先出的线性表,它只允许在一端进行插入&#xf…

C#-winform调用COM组件(COM组件由Qt开发)

一、场景介绍 在项目开发中,需要Qt与C#进行混合编程,完成项目开发。C#这边作为主框架,Qt负责编写插件,将功能模块通过COM组件的形式封装注册,再由C#调用、交互完成最终的项目。 程序开发环境: win10 64位 编译器: VS2017 Qt版本: Qt5.12.6 二、Qt封装COM组件 2.1 环境…

android flutter 安装

下载 flutter官网下载安装:https://flutter.dev/docs/development/tools/sdk/releases 将下载下来的zip安装包解压到想安装Flutter SDK的路径。注意,不要将flutter安装到需要一些高权限的路径,比如C:\Program Files\ 配置环境变量 添加fl…

案例教学 | 如何确定ADAMS简化模型的准确性,以及简化模型精度不够怎么办?

仿真建模过程中不可避免地对各种复杂元素进行简化处理。这种建模思路的终极目标是不牺牲仿真精度、还提升仿真效率。在Adams仿真建模过程中也有一些常见的简化方式,如非线性元素按线性建模、不考虑摩擦力、通过耦合约束等效传动关系等等。应用简化建模之前&#xff…

蓝桥杯有必要参赛吗?

昨天和群里的小伙伴在群里聊,有的小伙伴竟然说蓝桥杯一等奖没有含量,我也是醉了! 就像去年看了一个号主写的:研究生遍地都是! 放眼全国14亿人口,别说研究生了,本科生占比有多少? “蓝桥杯是我人生中得到…

多态性:中的向下转型,instanceof 操作符的使用

多态性:中的向下转型,instanceof 操作符的使用 每博一文案 都说树叶不是一天变黄的,人心也不是一天变凉的,每一个现在的自己,其实都是过去的自己拼凑的。 如今我们的气质里都藏着过去走过的路,看过的书和爱…

混合模式和预乘原理的理解

首先说到混合模式,简单理解,混合模式就是同一像素上有两个颜色需要混合成一个使用的模式。 这里的两个像素点,我们把原先已经存在的,也就是下面的像素点颜色定义为目标颜色。把新加上来的,也就是上面的像素点颜色定义为…

【Selenium IDE录制脚本】三分钟教会你安装Selenium IDE的安装及使用

目录 1、安装Selenium IDE 1.1、安装Firefox浏览器 1.2、安装selenium IDE 2、selenium的脚本录制 1、安装Selenium IDE 1.1、安装Firefox浏览器 因为selenium的不同版本对Firefox的支持不同,所以我们安装了Firefox之后,需要关闭他的自动更新 搜索&…