DFT学习笔记
文章平均质量分 85
我倒想看看need
这个作者很懒,什么都没留下…
展开
-
DFT学习笔记-Verilog testbench语法扫盲
task和function说明语句分别用来定义测试模块当中的任务和函数,利用任务和函数可以把一个很大规模的程序分解成很多较小的任务和函数,非常便于Testbench的编写、理解以及调试,类似于C语言中的函数接口,输入、输出、总线信号的值可以传入、传出任务和函数,所以说学会灵活使用task和function可以极大程度上简练Testbench的程序结构,使得程序整体上通俗易懂,直观明了。任何一个设计好的模块,都有输入和输出,此模块是否满足要求就是看给定满足要求的输入,是否能够得到满足要求的输出。原创 2023-10-18 14:15:26 · 1800 阅读 · 2 评论 -
DFT学习笔记 -【转载】DC综合
在转换阶段,DC读入HDL文件,使用自带的gtech.db库中的RTL级单元来组成与工艺无关的中间网表,这个过程,也就是使用DC的read_vhdl或read_verilog命令读入设计未见的过程,这一过程中,如果需要引入其他的库,可以通过read_db命令读入,这一过程的中间结果也可以通过write命令写入到一个.db文件中。在优化映射阶段,DC对已有的中间网表进行分析,去掉其中的冗余单元,并对不满足约束条件的路径进行优化,再将优化后的电路映射到芯片制造商提供的工艺库上。转载 2023-09-20 14:42:01 · 984 阅读 · 1 评论 -
DFT学习笔记 -ijtag下的mbist电路
先简单介绍一下mbist的基本流程,为后面的细节学习做个指导:当测试控制模块接收到开始测试的指令后,首先会切换存储器的输入输出到测试模式(Memory有自己的Test Mode),同时启动硬件向量生成模块开始产生和给出测试激励,同时计算存储器的输出期待值。存储器接收到测试向量之后,会间隔执行写/读/使能的操作,遍历测试所有地址下每个bit单元的写/读功能。最后,通过Q端输出的读取值,会与测试控制模块计算的期待值进行比较,是否正确的结果反馈到测试控制模块。原创 2023-09-18 13:13:10 · 6417 阅读 · 4 评论 -
DFT学习笔记-Mbist电路连接
上节学习了插mbist的时的脚本逻辑,这节进一步学习脚本在插mbist的时候都对电路做了哪些改动,包括定义了哪些端口,添加了哪些模块,都是什么功能。以下描述都是基于现在参考的一个设计环境,不方便贴出,有些步骤不是普适的。在上图mbist_insertion_flow中,红框内的部分是插mbist的主要工作,根据之前的学习,三部分的工作内容如下:dc.mbist.pre: 定义dft中用到的一些端口;原创 2023-09-18 01:00:03 · 1357 阅读 · 0 评论 -
DFT学习笔记-Mbist基础概念
DFT意为Design For Testability,可测性设计,是在芯片功能电路设计好之后(有时也会在设计好前并行进行,节省时间)插入一定的测试电路,方便在流片之后对芯片的缺陷进行测试。针对IO的DFT设计一般用Boundary Scan(也叫Jtag),针对普通逻辑电路的DFT设计一般用Scan,针对芯片上的片上存储器DFT,一般用Mbist(Memory Build In Self Test,存储器内建自测试)。PD没学完,调去了DFT,只能开始学习DFT了。之前的ic后端学习笔记也不再更新了吧。原创 2023-08-31 10:27:17 · 1902 阅读 · 0 评论 -
DFT学习笔记-Mbist_insertion_flow
在脚本中插的就是这三个mux,脚本里首先断开原有的function clk连接,新建了function和mbist两个mux,在这个block里,这两个mux的I0都是原来的function clk;与pre中的flow类似,首先要进行design loading,这里要注意三个地方,一个是在吃文件之前要用set_context指定当前的工作环境为dft,并且指定吃的文件是非rtl网表,也就是门级网表,另外在吃设计的网表的时候要吃做完mbist.pre后吐出的网表,最后要记得为工具指定吐出文件的存放路径。原创 2023-09-01 02:31:51 · 1504 阅读 · 3 评论