DFT命令脚本系列1-
文章目錄
- 引言
- 1、 setting timing variable設(shè)置時(shí)序參數(shù)
- test_default_period
- test_default_delay
- test_default_bidir_delay
- set test_default_strobe
- **test_default_strobe_width**
- 參考P97、p583
- 2、set_dft_signal
- 3、 read_test_protocol與write_test_protocol
- read_test_protocol
- write_test_protocol
- 推薦文章:
引言
就目前而言關(guān)于DFT的討論非常少,本博主希望能在DFT的前進(jìn)道路上,根據(jù)DFT ug寫一些博文,一方面是對(duì)DFT ug的翻譯和理解,一方面是對(duì)DFT的流程、知識(shí)的日積月累。如果有錯(cuò)誤理解的地方,請(qǐng)留言指正!版權(quán)所有,請(qǐng)勿轉(zhuǎn)載!!!,如需轉(zhuǎn)載請(qǐng)聯(lián)系我
1、 setting timing variable設(shè)置時(shí)序參數(shù)
在使用create_test_protocol命令之前,也就是說(shuō)在創(chuàng)建測(cè)試協(xié)議之前,你需要定義時(shí)間變量,主要使用以下的命令來(lái)設(shè)置:
test_default_period
test_default_delay
test_default_bidir_delay
test_default_strobe
test_default_strobe_width
test_default_period
test_default_period指定了測(cè)試的時(shí)鐘周期,需要尋求半導(dǎo)體測(cè)試廠商,具體的ATE測(cè)試周期是多少,默認(rèn)情況下DFTC使用10M(100ns)的測(cè)試時(shí)鐘周期。你可以在默認(rèn)的.synopsys_dc.setup file中查看到此默認(rèn)設(shè)置。
test_default_delay
默認(rèn)情況下DC(DFTC)會(huì)把數(shù)據(jù)到達(dá)所有非時(shí)鐘的輸入端口都設(shè)置為0 ns,在launch clk后,如果你有不同的輸入時(shí)序要求,你可以詢問(wèn)半導(dǎo)體制造商。
test_default_bidir_delay
定義雙向端口的時(shí)序,
set test_default_strobe
這個(gè)命令花了我不少時(shí)間來(lái)理解,指的是設(shè)置開(kāi)始探測(cè)比對(duì)的時(shí)間點(diǎn),這里探測(cè)比對(duì)指的的measure po的探測(cè)比對(duì),試想一下,如果機(jī)臺(tái)開(kāi)始探測(cè)比對(duì),此時(shí)數(shù)據(jù)還不穩(wěn)定,必然造成機(jī)臺(tái)的measure po的誤讀。因此這里涉及兩種strobe的方式,一種是strobe_before_clock和strobe_after_clock。前面strobe_before_clock是什么意思呢?舉個(gè)例子,指的是measure po要在capture時(shí)鐘之前完成,換句話說(shuō),就是ATE設(shè)備進(jìn)行measure要在capture時(shí)鐘之前完成。而strobe_after_clock則是要在capture時(shí)鐘之后完成。但現(xiàn)在都用的第一種居多。(實(shí)際可不僅僅指的是capture時(shí)鐘,而是所有是時(shí)鐘)
那么set test_default_strobe和set test_default_strobe_width就可以指定ATE設(shè)備要進(jìn)行measure PO的對(duì)比值的時(shí)間點(diǎn),默認(rèn)是40ns,以及對(duì)比值花的時(shí)間長(zhǎng)度,默認(rèn)是0ns。下圖說(shuō)得非常清晰:
經(jīng)過(guò)之后與同事的討論后,終于折騰一天的這條命令搞明白了,所謂在時(shí)鐘前還是時(shí)鐘后,不僅僅是caputure時(shí)鐘,而是所有時(shí)鐘,capture時(shí)鐘倒很好理解,主要是為了測(cè)試這個(gè)measure PO的過(guò)程。但是在后面的shifout階段,也是在探測(cè)的過(guò)程,根據(jù)strobe before clk的方式,也就是說(shuō),先探測(cè),直接測(cè)一條scan中最后一個(gè)reg/Q端口鏈接的外部, 然后再shift一次,然后再測(cè)。
test_default_strobe_width
這個(gè)就非常好理解了,也就是說(shuō)探測(cè)的時(shí)間寬度,在我ATE進(jìn)行探測(cè)對(duì)比的結(jié)果的這段時(shí)間范圍內(nèi),你的值至少要穩(wěn)定的這么一個(gè)時(shí)間長(zhǎng)度,默認(rèn)是0
以上setting timing通常使用默認(rèn)設(shè)置。在根目錄下面的.synopsys_dc.setup可以看到。
參考P97、p583
2、set_dft_signal
為創(chuàng)建測(cè)試協(xié)議聲明信號(hào),該命令用于為DRC和DFT insertion 指定信號(hào)
這里先介紹一些常見(jiàn)的參數(shù),如果以后用到更進(jìn)一步的,在進(jìn)行補(bǔ)充說(shuō)明:
-view 后面可以選擇加existing_dft或者是spec
existing_dft就是已經(jīng)完成了DFT insertion,spec指的就是還沒(méi)有完成DFT insertion
-type指的是信號(hào)的類型,DFTC認(rèn)可的類型是有規(guī)定的,具體的類型,建議自己查看syn2。上述命令中的ScanClock就是規(guī)定的類型之一。上述命令中的ScanClock指的就是在scan FF中負(fù)責(zé)scan shift和capture的scan時(shí)鐘。此外這里再補(bǔ)充一下Constant類型,指的是讓某個(gè)port固定在一個(gè)值的這種常量類型。
-timing指的就是這個(gè)時(shí)鐘的上升沿時(shí)間和下降沿時(shí)間,[list 45 55]或者表示為{45 55} 代表上升沿是45ns 下降沿是55ns,當(dāng)然scan時(shí)鐘默認(rèn)的周期是100ns。這個(gè)在.sysnopsys_dc.setup里面可以看到。
-port指的是這些設(shè)計(jì)需求用于哪一個(gè)port上面。上面是以列表形式,用于了三個(gè)scan_clk。
{ }或者你寫成[list A B C]這種形式,這里只是提醒一下tcl的列表寫法。
-active_state指定某些信號(hào)類型的激活狀態(tài),這里DFTC認(rèn)可的這些信號(hào)類型指的是如下信號(hào):ScanEnable、Reset、Constant、TestMode、pll_reset、pll_bypass
3、 read_test_protocol與write_test_protocol
read_test_protocol
讀取STIL的測(cè)試協(xié)議文件到memory中。read_test_protocol命令允許您通過(guò)讀取描述協(xié)議的文本文件來(lái)定義設(shè)計(jì)的任意測(cè)試協(xié)議。使用write_test_protocol以相同的文本格式寫出設(shè)計(jì)的現(xiàn)有協(xié)議。
read_test_protocol -section test_setup ./scripts/test_setup.spf -verbose這里介紹兩個(gè)參數(shù):
-verbose當(dāng)設(shè)置正確的話,列出詳細(xì)的輸出
-section指定這個(gè)協(xié)議的名字。test_setup才是有效的名字。
按照我的理解,test_setup指的是這個(gè)模塊,后面是具體的路徑。
在pre_DFT DRC之前,這個(gè)來(lái)自STIL測(cè)試協(xié)議的test_setup 的section被讀取,并且代替了DFTC默認(rèn)的測(cè)試協(xié)議,提供的test_setup section必須包含預(yù)先由set_dft_signal指定的時(shí)鐘信號(hào)、復(fù)位信號(hào)、常量信號(hào)等等。
write_test_protocol
該命令是將STIL測(cè)試文件從memory內(nèi)存中讀出來(lái)到硬盤里面。使用了-output選項(xiàng)可以自定義輸出的名字.spf,否則的話,就是current_design_name.spf
推薦文章:
https://www.baidu.com/link?url=UB6Iy3JuwwtdgE4hiYweVpdoK94C_ZcnaQAi_ao76rv-E21V-JujxlDdhtXcjB1dVSt8R5ACmzePjEXpL2SUUgEyQgqeilcvnxK0oMGKpcS&wd=&eqid=8be4434d002c154e000000045fa8a006
http://m.doc88.com/p-730755900793.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的DFT命令脚本系列1-的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DC使用教程系列2-时钟的概念与环境接口
- 下一篇: Linux如何显示文件数目的技巧比较两个