介紹
在芯片做功能ECO時,DFT部分的邏輯常常被破壞,這是由于正常工作模式下修改設計的原因。在功能ECO時,DFT的控制信號被設為無效,ECO工具意識不到DFT邏輯被更改,并且形式驗證也驗證不出來。我們發現,當ECO過的網表送給DFT工具,DFT工具需要運行很長時間來識別網表是否存在問題。
NanDigits GOF提供了一種快速DFT DRC檢查的功能,來檢查DFT邏輯中的問題。DFT中最基本的DRC檢查就是確認掃描鏈是否完整,就是說,GOF可以捕獲和輸出測試進行中的測試pattern。另外,在測試模式下,DFT的時鐘和復位必須是要受控的,以便來使能合適的測試pattern。
下圖是DFT模式使能后的示意圖,TEST_MODE=1,TEST_CLOCK被送到每個DFF的時鐘端。
示例
下面是GOF做DFT DRC檢查的腳本,先讀入lib庫和網表,再設置使能DFT模式,并創建時鐘、復位、si/so掃描鏈對,最后運行dft_drc()命令來執行DFT DRC的檢查。
# dft_drc.pl set_log_file("dft_drc.log");#設計log read_library("art.5nm.lib");#讀入lib庫 read_design('-imp', 'dft_top.v'); # 讀入帶有DFT的網表 set_top("DFT_TOP"); # 設置頂層 set_pin_constant("test_scan_shift",1);# 設scanshift為1 set_pin_constant("all_test_reg/Q",1);#設TDRall_test寄存器輸出Q為1 set_pin_constant("test_mode_reg/Q",1);#設TDRtest_mode寄存器輸出Q為1 create_clock("occ_add_1_inst/U0/Z",10);#創建時鐘,周期10ns,可能有多個 create_clock("occ_add_2_inst/U0/Z",10); create_reset("power_on_reset",0);#創建reset set_top("DESIGN_TOP"); # pin_si/pin_so是DFT_TOP的內部pin set_scan_pairs("pin_si[0]","pin_so[0]");#添加掃描鏈對 set_scan_pairs("pin_si[1]", "pin_so[1]"); set_top("DFT_TOP");#回到頂層 my$err=dft_drc;#運行DFT DRC檢查 if($err){ gprint("DFT DRC found $err errors "); }運行DFT DRC檢查:
gof -run dft_drc.pl
結語
NanDigits GOF提供了快速DFT DRC的檢查和修復,來保證功能ECO不會影響到DFT掃描鏈,縮短功能ECO后的DFT修復和驗證的時間,幫助客戶更快的Tapeout。最新版GOF10.4支持此功能,歡迎試用評估。
審核編輯:劉清
-
DFT
+關注
關注
2文章
231瀏覽量
22735 -
DRC
+關注
關注
2文章
149瀏覽量
36190 -
ECO
+關注
關注
0文章
52瀏覽量
14905 -
控制信號
+關注
關注
0文章
166瀏覽量
11973
原文標題:用NanDigits GOF來做DFT DRC檢查
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論