Mentor-dft 学习笔记 day48-OCC With Capture Enable Clock Control Operation Modes

news2024/11/19 0:36:47

OCC With Capture Enable 

有一个OCC具有capture_enable输入,可以与自由运行的慢速时钟一起使用。当OCC指定为启用捕获(capture_trigger:capture_en)时,在输入自由运行的慢时钟上添加时钟门控器,以从自由运行的时钟输入中生成适当的时钟脉冲。该时钟门控器的使能信号是OR门输出,其输入是scan_en和capture_en。这允许分别在移位和捕获周期期间产生slow_clock脉冲。

Figure 17-8 shows the OCC schematic with the clock gater at the lower left

 

此版本的OCC也可与测试仪提供的慢速时钟(非自由运行)一起使用。在这种情况下,新的时钟门控器简单地让受控的慢时钟在移位和捕获期间通过。对于LBIST和LPCT应用程序,需要使用自由运行的慢速时钟的OCC。该自由运行时钟连接到LBIST控制器的shift_clock或LPCT输入时钟。
Clock Control Operation Modes

There are four modes as follows.

Functional Mode

在功能模式(test_mode=0)下运行时,启用快速时钟门控器以向设计提供快速时钟。慢速时钟和内部时钟门控器被禁用以降低功率。

 Shift Mode

在shift mode(scan_en=1)中,slow_clock用于加载/卸载包括ShiftReg中的条件位的扫描链。

 Shift-Only Mode

在shift-only模式下,OCC被禁用(test_mode=0),但换档被启用(scan_en=1)。在此模式下,启用慢时钟门控器以确保慢时钟路径始终用于移位。此外,启用旁路切换。

图17-11显示了非活动(test_mode=0)和活动OCC都使用slow_clock进行移位。默认情况下,标准和父OCC将在scan_en为1时启用移位时钟路径,即使OCC处于非活动状态;这确保了内部和外部模式下的一致shift timing。

要更改默认值并使用功能时钟而不是测试时钟,请将shift_only_mode OCC包wrapper property 设置为off。 

Slow Capture Mode

在慢速捕获模式(fast_capture_mode=0)中,slow_clock用于将数据捕获到扫描单元中,并移动ShiftReg中的条件bit。

 Fast Capture Mode

在快速捕获模式(fast_capture_mode=1)中,fast_clock用于将数据捕获到扫描单元中并移位ShiftReg中的条件位。

 Timing Diagrams

慢速捕获(fast_capture_mode=0)的时序图如下图所示

 对于本例,capture_cycle_width设置为“10”,导致最大连续深度为3。在此模式下,慢速时钟用于移位和捕获。基于加载到移位寄存器中的条件位,clock_out端口将生成适当数量的慢时钟脉冲。在快速捕获模式(fast_capture_mode=1)下,生成图17-15中的波形。与前面的示例类似,capture_cycle_width在此处设置为“10”,导致最大连续深度为3。在此模式下,slow_clock仍用于移位,但clock_out上的快速捕获脉冲基于fast_clock。

如图所示,已与快速时钟(sync_cell/q)同步的扫描使能信号用于触发ShiftReg/clk上的快速时钟脉冲。ShiftReg/clk信号是包含条件位的移位寄存器的时钟源。根据移位期间加载的条件位,clock_out上将出现正确数量的快速时钟脉冲。

Standard OCC With IJTAG Interface

使用IJTAG接口创建的OCC有一个额外的多路复用器,在没有IJTAG的OCC中不存在。如图17-16所示,当使用ijtag接口创建OCC时(当ijtag_host_interface设置为非none时),将多路复用器添加到slow_clock路径以注入ijtag_tck。

 

图17-17强调了添加到OCC慢锁输入的多路复用器的功能。当inject_tck为1时,多路复用器选择ijtag_tck,其通过慢时钟门控器和输出多路复用器驱动clock_out。

 The Parent OCC

作为三种OCC类型之一,主OCC有两种模式:标准模式和parent模式。在标准模式下,它选择和选通时钟以测试顶级逻辑。在parent模式下,此OCC仅用于时钟选择。标准模式下的主OCC示意图图17-18显示了标准模式下使用的parent OCC。当测试核心级边界逻辑(包装链)和顶层逻辑之间的交互时,该模式的一个典型用途是在Extest模式下进行模式重定目标。

在父模式下,OCC仅用于时钟选择。父OCC通常向子OCC的时钟输入feed clock。图17-19显示了处于父模式的父OCC。此模式的一个示例是在Intest模式下进行模式重定目标。

 图17-20显示了父片上控制器逻辑。换档时钟不需要到最低级别的子OCC,因为父OCC在换档模式下将换档时钟注入base时钟。当scan_en为低时,它允许一组可编程的恒定时钟脉冲通过。父OCC通常向子OCC的时钟输入反馈时钟,子OCC反过来使基于扫描的测试模式生成工具能够控制哪些时钟脉冲通过或不通过。

 

所示的示意图表示在没有IJTAG接口的情况下生成的OCC。 标准OCC是推荐用于分层核心的OCC。

The Child OCC

子OCC是三种OCC类型之一。它执行OCC的chopping control 功能,并可选地选通时钟。默认情况下,子OCC根据加载到扫描可编程移位寄存器中的值创建时钟启用信号。该启用信号用于控制OCC内的(可选)时钟门控器,如图17-21所示。

 图17-22显示了带有时钟门控器的子芯片控制器的详细示例示意图

 在某些情况下,将子OCC与内部时钟门控器一起使用是不实际的。可选地,可以在没有内部时钟门控器的情况下创建子OCC。创建的信号使布局工具能够复制和控制设计的时钟门控器,以实现诸如时钟网格之类的功能。用户提供的时钟门控单元的处理对用户是透明的。如图17-23所示。

Figure 17-24 shows the child on-chip controller logic without the clock gater

 

 

为了在捕获期间正确操作时钟门控器,OCC的时钟启用端口和时钟门控器之间必须存在敏感路径。该工具验证与OCC有结构连接的所有时钟门控器的可控性。如果任何结构连接的时钟门控器没有来自OCC的敏感路径,则必须在捕获期间禁用时钟门控器。在这种情况下,该工具将验证时钟门控器的测试和功能启用是否关闭,或其时钟源是否关闭。所示示意图表示在没有IJTAG接口的情况下生成的OCC。

Tessent OCC Insertion

Tessent Shell用于插入OCC。

使用DftSpecification configuration syntax定义Tessent OCC。OCC Dft规范定义了慢速时钟、扫描启用和静态OCC信号的连接。为了实现压缩ATPG的最佳配置,需要将OCC子链缝合到扫描链中。插入Tessent OCC的基本步骤如下所述。有关在流中插入OCC并将其用于模式生成的更详细示例。

Inserting the OCC

This procedure uses Tessent Shell to insert an instance of the OCC logic for each internal clock. Procedure

1.从Shell提示符调用Tessent Shell。

% tessent -shell

2. Set the Tessent Shell context to ‘dft’.#设置到dft

SETUP> set_context dft -no_rtl -design_identifier occ

3. Read in the design netlist. For example:w#读网表

SETUP> read_verilog cpu_core.vg.gz

4. Read cell library to allow creation of some instances such as muxes. For example:

#读cell库

SETUP> read_cell_library adk.tcelllib

5. Set the current design. For example:#设置design

SETUP> set_current_design cpu

SETUP> set_design_level sub_block

 6. Read the configuration file to specify OCC insertion parameters. For example:

#读取配置文件以指定OCC插入参数

SETUP> read_config_data occ.dft_spec

7.可选地定义端口列表和程序,以插入时钟的片上控制,并在处理DFT规范后将OCC的条件位连接到新的扫描链中。

8.验证并处理DftSpecification包装器中定义的内容。

SETUP> process_dft_specification

9.合成生成的RTL。例如:

SETUP> run_synthesis

此步骤仅适用于将OCC RTL插入门级网表时。当插入RTL设计时,OCC与设计的其余部分一起合成。run_synthesis命令还将更新的网表写入TSDB目录。

10. If needed, optionally write out the updated netlist. For example:

SETUP> set_current_design SETUP> write_design -output_file cpu_core_post_occ_insertion.vg.gz -replace

11. Exit the tool. SETUP> exit

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

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

相关文章

影响宝宝大脑发育的6个坏习惯,你可能每天都在做

“望子成龙,望女成凤”这几乎是每个父母的愿望。虽然有一个高智商的天才宝宝太难了,但从不妨碍父母希望孩子更健康、更聪明。所以大家都比较关注宝宝的大脑发育,希望宝宝的大脑发育更好,长大后更聪明。但在日常生活中,…

android 12+从后台启动FGS限制

后台启动FGS限制 限制简介 以 Android 12(API 级别 31)或更高版本为目标平台的应用在后台运行时无法启动前台服务,少数特殊情况除外。 如果应用程序在后台运行时尝试启动前台服务,而前台服务不满足其中一种异常情况,系…

vue前端打包Docker镜像并nginx运行

首先说明咱们的前端项目是基于Vue的,反向代理使用的是nginx 1.打包vue前端项目生成dist文件夹上传至服务器 新建一个文件夹,叫vueDockerTest,下面的文件都需要。 cert是你存放ssl证书的文件夹,nginx.conf 是nginx的配置文件&am…

Kotlin 惰性集合操作-序列 Sequence

集合操作函数 和 序列 在了解 Kotlin 惰性集合之前,先看一下 Koltin 标注库中的一些集合操作函数。 定义一个数据模型 Person 和 Book 类: data class Person(val name: String, val age: Int) data class Book(val title: String, val authors: List…

jmeter 5.5+influxdb 2.0+grafana v9.3.2 - 压测看板setup

Docker set up 安装docker应用 https://docs.docker.com/desktop/install/mac-install/,在官网下载docker安装包,和安装其他的mac应用是一样的操作。 设置国内的镜像仓库(拉取镜像会快很多) {"registry-mirrors": [&q…

叠氮-聚乙二醇-羧酸;叠氮-单乙二醇-丙酸Azido-PEG1-acid;1393330-34-1小分子PEG衍生物

Azido-PEG1-acid 中文名称:叠氮-聚乙二醇-羧酸;叠氮-单乙二醇-丙酸 英文名称:Azido-PEG1-acid; 分子式:C5H9N3O3 分子量 :159.1 CAS:1393330-34-1 外观:粘稠液体或者固体粉末&#…

SHA和AES加密+GUI Swing写的一个本地运行和保存的密码管理小工具

目录效果项目结构功能1、登录2、加密3、解密4、列表代码1、先准备好两种加密方式的工具类SHAUtilAESUtil2、登录窗口3、主页窗口(加密和解密面板)4、主页窗口(列表面板)5、主程序(main)最后通过SHA和AES加密…

TestStand-序列步骤属性

文章目录GeneralRun OptionLoopingPost ActionSwitchingSynchronizationExpressionPreconditionsRequirementAdditional ResultPropertyCtrl-N创建一个新的Sequence,通过右键创建任意步骤 General Name -步骤的名称。 Type -步骤类型。一般不需要设置。 Adapter-适…

Android Kotlin之协程-异步流Flow的使用

数据流以协程为基础构建,与仅返回单个值的挂起函数相反,数据流可按顺序发出多个值。从概念上来讲,数据流是可通过异步方式进行计算处理的一组数据序列。所发出值的类型必须相同。 数据流包含三个实体: 提供方会生成添加到数据流…

信息安全技术 政务信息共享 数据安全技术要求

声明 本文是学习GB-T 39477-2020 信息安全技术 政务信息共享 数据安全技术要求. 下载地址 http://github5.com/view/790而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 政务信息共享 数据安全 范围 本标准提出了政务信息共享数据安全要求技术框架&…

2023年工作第一天心情感悟

我是卢松松,点点上面的头像,欢迎关注我哦! 今天是2023年1月3日,也是我们上班的第一天。今天这篇随记,也发表下我对2023年的看法,也对过去的2022年做过总结。 (2023年元旦,到门头沟…

Spring之ApplicationContext快速入门

目录 一:概述 二:代码演示 三:BeanFactory与ApplicationContext的关系 四:BeanFactory的继承体系 五:ApplicationContext的继承体系 一:概述 ApplicationContext称为Spring容器, 内部封装了…

面试官:能用JavaScript手写一个bind函数吗

经常会看到网上各种手写bind的教程,下面是我在自己实现手写bind的过程中遇到的问题与思考。如果对于如何实现一个手写bind还有疑惑的话,那么可以先看看上面两篇文章。 手写bind vs 原生bind 我们先使用一个典型的手写bind的例子,代码如下&a…

PHP命令执行的函数

在做面试题的时候发现,自己对PHP命令执行的函数的了解并不是很全面,就想这去学习一下。我也在网上找到了许多的资料,在这里我就相当于一个总结吧。 system(); System()函数的主要功能是在系统权限允许的情况是执行系统命令,windows系统和Lin…

【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例

服务器存储数据恢复环境: 某公司一台EMC存储,12块硬盘组成raid5,2块热备盘; Zfs文件系统。 服务器存储故障: 硬盘故障导致存储崩溃。 服务器存储数据恢复过程: 1、对故障存储所有硬盘进行物理故障检测&…

详细软件著作权的申请

一,申请注册账号并进行实名认证 在中国版权保护中心官网注册账号。 我是自己申请的所以选择的个人,这里根据实际情况进行选择后注册。 注册后进行实名认证(3-7个工作日人工会进行审核,所以每个著作权人都要提前注册并进行实名认证…

论文投稿指南——中文核心期刊推荐(地球物理学)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

【电商】电商后台---商品上架前的最后准备

电商后台相关模块进行维护后,离商品上架越来越近。 在供应商、合同、商品、价税等都维护完成后,采购部创建采购单,离商品可以上架销售越来越近了。 本篇再接着梳理一下商品销售前的最后准备工作(没考虑促销)&#xff…

P1111 修复公路

题目背景 AA地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。 题目描述 给出A地区的村庄数NN,和公路数MM,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问…

Python-123练习-04简单分支

文章目录1. 判断闰年2. 今年多少天3. 今天是第几天4. 判断奇偶数5. 计算整数 n 的阶乘6. 判断是否直角三角形7. 判断三角形并计算面积8. 出租车计费9. 一元二次方程求根10. 个税计算器11. 分期付款计算器12. 字符大小写转换1. 判断闰年 描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪…