DFT设计实战(一)
时间:2021-12-07 14:37:29
手机看文章
扫描二维码
随时随地手机看文章
[导读]将芯片中的普通寄存器替换成带扫描功能的寄存器,串联成几条Chain,从而实现寄存器的扫描测试功能。本文以小编写的异步FIFO设计为例。Scan Cell扫描寄存器特殊在哪?如下,该结构图也是老生常谈了。ScanStyles 常用的ScanStyles有如下四种,通常各大工艺都支持...
将芯片中的普通寄存器替换成带扫描功能的寄存器,串联成几条Chain,从而实现寄存器的扫描测试功能。本文以小编写的异步FIFO设计为例。
Scan Cell
扫描寄存器特殊在哪?如下,该结构图也是老生常谈了。
Scan Styles
常用的Scan Styles有如下四种,通常各大工艺都支持第一种:
• Multiplexed Flip-Flop Scan Style• Clocked-Scan Scan Style• LSSD Scan Style• Scan-Enabled LSSD Style
Multiplexed Flip-Flop Scan Cell示意图:
Scan flow
read_file -format ddc top.ddc
current_design top
set_scan_configuration -style multiplexed_flip_flop
set_dft_signal -view existing_dft -type ScanClock \
-port clock -timing [list 45 55]
create_test_protocol
dft_drc
preview_dft
insert_dft
change_names ...
write_scan_def -output my_def.scandef
write_test_protocol -output test_mode.spf
write -format verilog -hierarchy -output top.v
write -format ddc -hierarchy -output top.ddc
scan def
通常使用DEF文件来定义扫描连,一般称为scan def,以下图异步FIFO的scan DEF语句来说明:
1) SCANCHAINS SCANCHAINS 3 ;表示stub chain的数量为3。 为什么有个stub chain? 注意,scandef里面的stub chain个数与设计中的实际scan chain个数不一定相同。 如上图,因异步FIFO读写时钟之间的scan chain用LOCKUP隔断,C1被分成C1_SG1、C1_SG2,即一条实际的scan chain在scandef中被拆分成两条stub chain。该类stub chain的名字(在scandef文件中以 “-”开头的参数)中会有SG标志字符: 2) STARTstub chain的开始标志。注意, START/ STOP可以是scan I/O ports, codec logic gates, lockup latches, reconfiguration MUXs, or buffer/inverter pins。 比如:LOCKUP的Q端作为 START: 内部寄存器(如retiming flipflop例化了非scan cell的DFF): START U_TOP/RETIMING_FLOP Q 外部管脚使用以下格式: START PIN winc
3) STOPstub chain的结束标志,如异步FIFO网表中LOCKUP插入后: STOP LOCKUP D ;内部寄存器(如retiming flipflop例化了非scan cell的DFF): STOP U_TOP/RETIMING_FLOP D或者内部MUX:
4) FLOATING表示一条stub chain中可以reorder/partition的scan cell。 5) ORDERED表示一条stub chain中不可以重排序,上图可以看出,异步FIFO同步器synchronizer两个打拍寄存器就是ORDERED。为什么不能reorder呢,有如下三个原因:
- shift registers;
- 用命令set_scan_path -ordered_elements定义的scan segments;
- buffers or inverters between scan cells;
也就是说: ORDERED 表示需要放在一起的单元,如下图中out_reg_4与u_buf就是ORDERED单元,用方框圈出 scan chain终点。
6) PARTITION表示有相同PARTITION名的stub chain可以进行重新划分(repartition),如:
7) BITSThe BITS attribute表示的是a scan element that represent multiple scan bits. This allows complex scan cells, such as DFT-inserted cores, to be represented in abstract form. 通常说的一个scan cell扫描单元就是指的1bit scan cell。
部分文章索引:芯片ECO(一)
详解GDSII文件详解SPEF文件
详解SPI协议
详解I2C协议详解GearBox设计原理详解set_clock_gating_style命令【MCU】Cortex-M3 SoC的主栈指针
低功耗设计之Multi-Bit Cell
剖析数字后端site、track、pitch的概念
Verilog中,2'b1x和2’b0x造成的仿真器、综合器的mismatch!
【剖析】傅里叶变换、拉普拉斯变换、Z变换
【剖析】傅里叶变换、拉普拉斯变换、Z变换(二)
芯片设计之CDC异步电路(五)
芯片设计之CDC异步电路(四)芯片设计之CDC异步电路(三)
芯片设计之CDC异步电路(二)
芯片设计之CDC异步电路(一)OCV分析计算
低功耗设计之Power Switch Cell
深度剖析“异步复位、同步撤离”
芯片后仿(二)
时钟切换clk_switch
8B/10B、64B/66B编解码(一)
8B/10B、64B/66B编解码(二)
剖析FPGA怎么实现“超前进位加法器”(一)
剖析FPGA怎么实现“超前进位加法器”(二)
FPGA原型验证-时钟门控的替换行波进位/超前进位加法器详解
AES加密算法(一)
Cadence Voltus-功耗分析