Introduction to DFT
服务器使用
- 登陆服务器:输入账号密码
- 打开terminal,保证至少一个terminal窗口是打开的
- 取消Linux操作系统的屏幕保护
- 设置Linux EDA工具配置
// 自定义环境变量设置
gvim ~/.bashrc
// 打开~/.bashrc文件之后,查看其中是否存在下面语句
// 如果存在,关闭文件
// 如果不存在,则添加到文件中
// 配置完成之后,可以直接调用EDA工具
source /xxxx/public/linux_eda_env/00_bashrc
//重新其中 ~/.bashrc
source ~/.bashrc
- 配置vim编辑器中的语法高亮
配置~/.vimrc文件
- 确认自己的id
// 显示当前用户组的权限
id
- 创建自己的工作目录
不要在home目录下进行coding或者流程,home目录空间比较小
/xxx/user_proj/创建自己的目录
- check out项目,使用SVN版本控制软件
// 进入到自己的工作文件夹中
cd user_proj_file
// 切换到svn_proj组
newgrp svn_proj
// check out项目
svn co <lab_path>
- 使用svn,不可以修改linux密码
- 关闭vnc的时候,关闭EDA工具,打开的文档
IC设计流程

Manufacturing Test测试制造

- 早期芯片规模比较小,功能比较少,芯片测试通过功能进行测试
- 芯片规模越来越小,功能比较多,传统的测试方式,时间周期长,成本比较高,需要改变测试方案
制造测试的趋势

- 芯片中包含的cell的数目增加翻倍,但是IO Pin的数量增加不是很多,通过少量的Pin测试很多功能,难度比较大
- 会出现一些传统测试方法无法发现的问题
Design For Test
在设计过程中通过一些手段,实现制造测试的成本降低

- Design - 除了功能方面的设计之外,还需要进行额外的设计,通过额外的设计方便后期芯片测试的成本;这些设计需要写一些RTL并且要造型一些硬件的开销
- For Test - 为了降低测试的成本
Functional Test VS. Structure Test

- 功能测试,不关心功能实现方法,只关心结果,关心coverage,需要跑很多的test case,耗时比较长
- dft - 不依赖于芯片实现的功能,依赖于芯片中的结构进行测试,结构决定功能,根据结构设计一些pattern和向量,对芯片进行测试
- 物理实现之后,芯片的结构就已经确定了,根据芯片的结构设计一些pattern进行测试,dft的验证方法具有通用性
DFT Structure Test

- 芯片结构划分:RAM\Functional Logic(standcell)\PAD\IO...
- 根据不同的structure采用不同的dft方法
其他角度看DFT
- 通过验证保证RTL和Spec的功能是一致的
- 综合之后的门级网表是否和RTL以及Spec功能是否一致--采用形式验证
- 物理设计得到版图的实现,版图的功能是否和网表的功能一致,物理设计过程中是否出错,采用LVS
- 从版图描述到芯片设计的过程中,如何保证芯片和版图的功能是一致的, 可以采用DFT的方式进行实现
Phsical Defects
- 芯片生产过程中有哪些问题或者物理缺陷会导致芯片的功能错误

- DFT - 会检测出这些问题,指到工艺的改进,减少问题出现的几率
Reference Books

Other references

Introduction to DFT的更多相关文章
- A chatroom for all! Part 1 - Introduction to Node.js(转发)
项目组用到了 Node.js,发现下面这篇文章不错.转发一下.原文地址:<原文>. ------------------------------------------- A chatro ...
- Introduction to graph theory 图论/脑网络基础
Source: Connected Brain Figure above: Bullmore E, Sporns O. Complex brain networks: graph theoretica ...
- INTRODUCTION TO BIOINFORMATICS
INTRODUCTION TO BIOINFORMATICS 这套教程源自Youtube,算得上比较完整的生物信息学领域的视频教程,授课内容完整清晰,专题化的讲座形式,细节讲解比国内的京师大 ...
- mongoDB index introduction
索引为mongoDB的查询提供了有效的解决方案,如果没有索引,mongodb必须的扫描文档集中所有记录来match查询条件的记录.然而这些扫描是没有必要,而且每一次操作mongod进程会处理大量的数据 ...
- (翻译)《Hands-on Node.js》—— Introduction
今天开始会和大熊君{{bb}}一起着手翻译node的系列外文书籍,大熊负责翻译<Node.js IN ACTION>一书,而我暂时负责翻译这本<Hands-on Node.js> ...
- Introduction of OpenCascade Foundation Classes
Introduction of OpenCascade Foundation Classes Open CASCADE基础类简介 eryar@163.com 一.简介 1. 基础类概述 Foundat ...
- 000.Introduction to ASP.NET Core--【Asp.net core 介绍】
Introduction to ASP.NET Core Asp.net core 介绍 270 of 282 people found this helpful By Daniel Roth, Ri ...
- Introduction to Microsoft Dynamics 365 licensing
Microsoft Dynamics 365 will be released on November 1. In preparation for that, Scott Guthrie hosted ...
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
http://blog.csdn.net/anzhsoft/article/details/19563091 RabbitMQ消息队列(一): Detailed Introduction 详细介绍 ...
- Introduction - SNMP Tutorial
30.1 Introduction In addition to protocols that provide network level services and application progr ...
随机推荐
- 企业u盘禁止访问如何解锁
如果您遇到了U盘禁止访问的问题,可能是由于系统设置.安全策略或第三方工具导致的.以下是一些可能的解锁方法,具体的操作可能因具体情况而异: 管理员权限: 确保您有足够的管理员权限来解锁U盘.有时,系统管 ...
- 为什么许多数字孪生产品开始了GIS融合的尝试?
随着数字孪生技术的发展,越来越多的产品意识到要实现数字孪生的最大价值,需要考虑多个维度的数据,包括空间信息.地理位置.环境条件等.因此,许多数字孪生产品开始了与GIS系统的融合尝试,以进一步提升其功能 ...
- 万界星空科技QMS质量管理系统
QMS(Quality Management System)质量管理系统是五大基础系统之一,在工业企业中被广泛的应用,在质量策划.生产过程质量监督.体系审核和文档管理等业务上发挥着不可替代的作用. 一 ...
- 多维数组、Arrays类、稀疏数组、冒泡排序
多维数组 多维数组可以看成是数组的数组 比如二维数组就是一个特殊的一堆数组 其中每个元素就是一个数组. 二维数组: int a[][] = new int[2][5]; 解析:二维数组a可以看成一个两 ...
- IPTV SQM的项目总结
本文于2015年底完成,发布在个人博客网站上,标题为<项目总结--纪念我参与过的IPTV SQM项目>. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 时 ...
- JAVAAPI实现血缘关系Rest推送到DataHub V0.12.1版本
DataHub 更青睐于PythonAPI对血缘与元数据操作 虽然开源源码都有Java示例和Python示例:但是这个API示例数量简直是1:100的差距!!不知为何,项目使用Java编写,示例推送偏 ...
- ubuntu 20.0.4 LTS 配置国内apt-get源
https://blog.csdn.net/wangyijieonline/article/details/105360138 更换阿里源 要知道当前系统的代号,可以用以下命令: lsb_releas ...
- elastic优化
通过定义keyword 的 "null_value" :"NULL",使得搜索是不用单独使用exists查询.统一用terms查询就能查询到想要的结果 利用co ...
- 实时数据流无忧:用 SpringBoot 和 SSE 打造动态前端更新的终极指南
用 SpringBoot 和 SSE 打造动态前端更新的终极指南 你知道什么是开发者的梦魇吗?慢!慢!慢!在一个需要实时数据更新的应用中,如果数据像乌龟一样慢吞吞地爬行,那用户体验就会像坐过山车一样直 ...
- 2023-08-28:用go语言编写。给你一个正整数数组nums, 同时给你一个长度为 m 的整数数组 queries。 第 i 个查询中,你需要将 nums 中所有元素变成 queries[i] 。
2023-08-28:用go语言编写.给你一个正整数数组nums, 同时给你一个长度为 m 的整数数组 queries. 第 i 个查询中,你需要将 nums 中所有元素变成 queries[i] . ...