Introduction to DFT

发布时间 2023-12-31 17:05:40作者: Icer_Newer

服务器使用

  • 登陆服务器:输入账号密码
  • 打开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