DFT設計實戰(zhàn)(一)
時間:2021-12-07 14:37:29
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]將芯片中的普通寄存器替換成帶掃描功能的寄存器,串聯(lián)成幾條Chain,從而實現(xiàn)寄存器的掃描測試功能。本文以小編寫的異步FIFO設計為例。Scan?Cell掃描寄存器特殊在哪?如下,該結(jié)構(gòu)圖也是老生常談了。ScanStyles?常用的ScanStyles有如下四種,通常各大工藝都支持...
將芯片中的普通寄存器替換成帶掃描功能的寄存器,串聯(lián)成幾條Chain,從而實現(xiàn)寄存器的掃描測試功能。本文以小編寫的異步FIFO設計為例。
Scan?Cell
掃描寄存器特殊在哪?如下,該結(jié)構(gòu)圖也是老生常談了。
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的數(shù)量為3。? ?為什么有個stub chain?? ?注意,scandef里面的stub chain個數(shù)與設計中的實際scan chain個數(shù)不一定相同。? ?如上圖,因異步FIFO讀寫時鐘之間的scan chain用LOCKUP隔斷,C1被分成C1_SG1、C1_SG2,即一條實際的scan chain在scandef中被拆分成兩條stub chain。該類stub chain的名字(在scandef文件中以 “-”開頭的參數(shù))中會有SG標志字符:?2)? STARTstub chain的開始標志。注意, START/ STOP可以是scan I/O ports, codec logic gates, lockup latches, reconfiguration MUXs, or buffer/inverter pins。???比如:LOCKUP的Q端作為 ?START:?? 內(nèi)部寄存器(如retiming flipflop例化了非scan cell的DFF):?? START? U_TOP/RETIMING_FLOP Q?? 外部管腳使用以下格式:??? START PIN winc
3)? STOPstub chain的結(jié)束標志,如異步FIFO網(wǎng)表中LOCKUP插入后:? ?? STOP LOCKUP D ;內(nèi)部寄存器(如retiming flipflop例化了非scan cell的DFF):??? STOP U_TOP/RETIMING_FLOP D或者內(nèi)部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協(xié)議
詳解I2C協(xié)議詳解GearBox設計原理詳解set_clock_gating_style命令【MCU】Cortex-M3 SoC的主棧指針
低功耗設計之Multi-Bit Cell
剖析數(shù)字后端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怎么實現(xiàn)“超前進位加法器”(一)
剖析FPGA怎么實現(xiàn)“超前進位加法器”(二)
FPGA原型驗證-時鐘門控的替換行波進位/超前進位加法器詳解
AES加密算法(一)
Cadence Voltus-功耗分析