“火山论剑”之奔跑吧SCAN - 浅谈DC/AC SCAN测试

2023-12-14 07:48

本文主要是介绍“火山论剑”之奔跑吧SCAN - 浅谈DC/AC SCAN测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

“火山论剑”之奔跑吧SCAN - 浅谈DC/AC SCAN测试

2015-07-08  KevinHe  BriteASIC


SMIC-ASIC原创,转载请注明

SCAN 技术,也就是 ATPG 技术 --  测试 std-logic,  主要实现工具是:产生 ATPG 使用 Mentor  TestKompress synopsys TetraMAX ;插入 scan chain 主要使用 synopsys  DFT compiler
通常,我们所说的 DCSCAN 就是 normal scan test  即慢速测试,测试频率是 10M-30M ,AC SCAN  也就是 at-speed scan  即实速测试,测试频率与芯片真实工作频率是一样的。
70 年代到 1995 年这段时间里,由于芯片的工作频率很低只有 20-100M scan 测试只有 DC SCAN ,我们就能捕捉到所有 std-logic 的制造缺陷。但是 1995 年以后,测试科学家和工程师发现通过 DC SCAN 测试没有缺陷的芯片在高工作频率下使用会有问题。其根本原因是随着制造工艺向深亚微米迈进,芯片的工作频率也提高到 200M-1G ,原来的 SCAN 测试方法和模型不再能捕捉到所有的 std-logic 的制造缺陷。大家的一致想法就是 - “奔跑吧, SCAN” , SCAN 的频率增加到与芯片的真实工作频率一致,同时使用新的 Transition atpg model 来产生测试 pattern.


下面我们介绍DC SCANAC SCAN的异同


现在的工业量产的高速芯片都会要求能做DC SCAN测试和AC SCAN测试,所以DFT工程师也要同时插入两种测试电路,产生两套测试patterns


具体实现流程如下

读入没有插入scan的网表

使用Design compiler 插入scan chainOCC (on chipclocking)模块,同时插入mux, fix DRC

使用Testcompress 实现EDT压缩scan chain

使用Testcompress 产生测试DC/ACpattern,同时产生测试验证的Testbench

验证DC/AC patterns的正确性和电路的正确性

使用SDF,验证DC/ACpatterns相关电路的时序是否满足要求

使用DC/AC patterns wgl文件)转换成ATE所需格式,在ATE上调试和使用


ATPG工具使用的Transition faultmodel如下图


常用的OCC电路结构如下


我们典型的插入OCC以后的电路如下图


那么对DC/AC SCAN测试,Kevin He在此抛砖引玉,请朋友们畅所欲言。

问题

1) 为什么AC SCANDC SCAN测试的pattern?

2) AC SCAN如何得到快速的clock

3) AC SCAN ATE调试中要注意什么问题?

这篇关于“火山论剑”之奔跑吧SCAN - 浅谈DC/AC SCAN测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/491728

相关文章

浅谈MySQL的容量规划

《浅谈MySQL的容量规划》进行MySQL的容量规划是确保数据库能够在当前和未来的负载下顺利运行的重要步骤,容量规划包括评估当前资源使用情况、预测未来增长、调整配置和硬件资源等,感兴趣的可以了解一下... 目录一、评估当前资源使用情况1.1 磁盘空间使用1.2 内存使用1.3 CPU使用1.4 网络带宽二、

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

浅谈mysql的not exists走不走索引

《浅谈mysql的notexists走不走索引》在MySQL中,​NOTEXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引,下面就来介绍一下mysql的notexists走不走索... 在mysql中,​NOT EXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引。以下

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入