STIL 格式pattern介绍
相信很多工程师,特别是刚入行或准备入行的兄弟们或多或少听过测试相关的东西。如果你想做DFT工程师的,测试工程师的,而对于设计/验证工程师们如果能了解下STIL文件的原理,在和DFT/测试工程师聊技术聊测试pattern的时候就不会一脸懵逼了。
言归正传。STIL就是StandardTestInterfaceLanguage(标准测试接口语言),IEEE1450.x标准就是专门说的它,语法上很有内涵的感觉。但很明显这就是用来描述测试pattern用的语言(Synoposys会采用STIL来描述扫描测试的过程,也就是SPF),就像verilog是用来描述硬件电路的语言一样,会有很多语法规则。那我们来好好详谈语法规则?你肯定晕菜,我也会晕的......所以放弃吧。
通常STIL格式的pattern文件都是工具生成出来的,自己要像用verilog写设计一样写一个完整的pattern文件,这个......你还是让我回家种地吧。
其实对这门语言的了解不需要很深入,只需要能够读懂,然后能依葫芦画瓢的做点小修改就够用了。好了,下面就跟着我来看看应该怎么快速读懂一个STIL描述的pattern文件。
请看这个例子:



这是一个比较简短的扫描测试STIL格式的pattern文件,从左往右基本显示了主要的几个部分。看到这样一个文件,感觉无数草泥马在眼前飞奔有木有?
我们这时需要思考一个问题,那就是这样一个文件记载的究竟是什么逻辑?既然是测试用的pattern文件,显然它最主要的功能就是描述测试所需要用到的输入输出管脚信号名,以及测试的过程。这个过程就包含如何给激励和给什么激励,以及最后期望得到什么输出和如何判断比较输出。从这个角度出发看待这个文件的话,其实就不难了。
首先看看测试用的输入输出管脚怎么描述的:

(1)这个有点复杂。是定义后面WaveFormTable和vector里给的值的含义。注意这里这个定义是针对双向IO的,”0X”就表示给’0’输入激励同时不做任何输出期望,在vector中就用’0’来完全表示,即有这样的映射定义”0X->0”。0就是输入0,1就是输入1,Z就是高阻输入,N就是没有输入,X表示不期望输出,H表示期望输出高,L表示期望输出低,T表示三态输出。
管脚信号的定义有了,那下面就该是定义这些管脚的输入输出的时序波形了,这个定义模块就是Timing里的WaveFormTable了。这个很重要,基本看懂了这个,就看懂了这个STIL文件的一半。在讲解这个时序波形定义之前,需要普及以一个小概念,不然理解要讲的东西就费劲了。这个概念就是测试波形的周期化。简单说来就是测试过程中,所有信号的激励都是按照时钟的周期一个周期一个周期给的,对输出的期望也是一个周期一个周期进行对比检查的。所以测试pattern在波形上是很有规律性的,而这个规律性就是通过下面WaveFormTable来定义的:

这个扫描测试过程定义中的”load_unload”过程就是定义常说的”shift”过程,因为在”shift”过程中,既有扫描输入(load)又有扫描输出(unload)。另外这里有四个(怎么又是四???别想太多,纯属巧合,如有雷同。。。)”*_capture”过程的定义,这个是为不同的pattern类型准备的。在后面具体的pattern里会有调用声明要用哪个capture过程。
有没有发现,其实STIL文件里也是一套套一套,套路相当深。
到这里,其实我们已经差不多可以在脑子里对这个扫描测试的波形有概念了,基本可以画出个大概的波形图了。

具体的波形就要依据定义在Pattern模块里的vector赋值给TMS,TDI和PAD1了。TDO和PAD2是输出,实际输出波形是依赖内部电路逻辑的,可以说不可知,但是我们可以对他们的输出作期望值比较,这个在Pattern模块里也是有给定的。

到此为止,相信你已经也可以比较轻松的看懂这个STIL格式的扫描pattern文件了。突然发觉其实也不难。
额外说一句,与STIL格式类似的还有WGL格式,在理解波形上思路是一致的,在语法上也是有很多相通的地方。
STIL 格式pattern介绍的更多相关文章
- Nginx 日志格式配置介绍
Nginx日志格式配置介绍 by:授客 QQ:1033553122 测试环境 CentOS 6.5-x86_64 nginx-1.10.0 配置例子 log_format main '$ ...
- avi格式详细介绍
百度:http://wenku.baidu.com/link?url=KB7qKc6UG4aeU-i9FtXeV8Uou4JHPceiyz3HNbzCrQw4phY-qRlcp3tTSwYPeIgdx ...
- Mysql Binlog三种格式详细介绍
一.MySQL Binlog格式介绍 mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 查看binlog的格式的脚本: 二.binlog 的不同模式有什么区别 ...
- BMP、GIF、JPEG、PNG以及其它图片格式简单介绍
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/songjinshi/article/details/37516649 BMP格式 BMP是英文Bit ...
- JAVA正则表达式之 Pattern介绍
1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 它包括两个类:Pattern和Matcher. Pattern 一个Pattern是一个正则表 ...
- BFC块级格式上下文介绍
块级格式上下文(Block formatting context) 什么是BFC? 块格式化上下文(block formatting context) 是页面 CSS视觉渲染的一部分.它是用于决定块盒 ...
- STIL文件(DFT/IC测试方向)
相信很多工程师,特别是刚入行或准备入行的兄弟们或多或少听过测试相关的东西.如果你想做DFT工程师的,测试工程师的,而对于设计/验证工程师们如果能了解下STIL文件的原理,在和DFT/测试工程师聊技术聊 ...
- python内置模块介绍(一)
本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd() ...
- Tomcat负载均衡、调优核心应用进阶学习笔记(一):tomcat文件目录、页面、架构组件详解、tomcat运行方式、组件介绍、tomcat管理
文章目录 tomcat文件目录 bin conf lib logs temp webapps work 页面 架构组件详解 tomcat运行方式 组件介绍 tomcat管理 tomcat文件目录 ➜ ...
- Log4j2进阶使用(Pattern Layout详细设置)
1.进阶说明 通过配置Layout打印格式化的日志, Log4j2支持很多的Layouts: CSV GELF HTML JSON Pattern Serialized Syslog XML YAML ...
随机推荐
- Cookie 设置 添加 删除 修改
置cookie 如果设置domin 后面的域名前面就会有. <script>//设置cookiefunction setCookie(cname, cvalue, exdays) ...
- FCC 高级算法题 对称差分
Symmetric Difference 创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组. 给出两个集合 (如集合 A = ...
- OO_Lab0总结博客
OO_Lab0 问题描述 对表达式结构进行建模,将表达式中非必要的括号进行展开并化简. 设定的形式化表述(仅写出部分): 表达式 \(\rightarrow\) 空白项 [加减 空白项] 项 空白项 ...
- Python - XSS-Attribute
参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3 ...
- 安卓手机qpython使用感觉
我是写C#的,最佳一时兴起,下载了个qpython来玩儿,发现这东西写点简单的爬虫还行,配合sqlite,可以做一些简单的事情,于是乎想写一个有趣的东西,在qpython写一个脚本,去收蚂蚁森林的能量 ...
- 什么是DI
属性的依赖注入,spring在通过IOC创建对象的时候,如果对象还有属性,就一并给赋值进去DI是在IOC的基础上进行对象的属性注入
- C/C++ 数据结构顺序栈的基本操作实现
#include <iostream> #include <Windows.h> using namespace std; #define MAXSIZE 6 //顺序栈的实现 ...
- 关于PB用JDBC连接MySQL,亲测有效
以前自学过一段时间的PB,数据窗口让人印象深刻,前段时间,在西瓜视频看到有人录制了PB的教学视频,让我想起以前自学的那段时光,遇到了问题,也不知道问谁,现在网络发达,可以在网上查找问题,但是有大多数博 ...
- 英码科技边缘计算智慧工地解决方案——给工地戴上AI“安全帽”
据统计显示,2021年全国共发生房屋市政工程生产安全事故734起,死亡840人:且近3年来,工地事故数量.死亡人数连续攀升.这不仅仅是一个普通的数字,每个数字都代表一个独特.鲜活的生命.为什么每年会发 ...
- Ubuntu 20.04 使用deb包安装mysql
Ubuntu 20.04 使用deb包安装mysql 1.环境 WSL2 + Ubuntu 20.04 2.下载mysql的Ubuntu / Debian安装包 MySQL :: Download M ...