本發(fā)明涉及ip核自動(dòng)測(cè)試集成領(lǐng)域,特別是涉及測(cè)試殼設(shè)計(jì)方法及裝置。
背景技術(shù):
隨著集成電路工藝的進(jìn)步和人們對(duì)集成電路性能以及上市時(shí)間要求的不斷提高,片上系統(tǒng)(soc)技術(shù)已經(jīng)成為當(dāng)今集成電路的發(fā)展趨勢(shì)和技術(shù)主流。ip核(cpu、dsp、mem等都是ip核)作為一個(gè)子模塊,嵌入到soc內(nèi)部,其輸入輸出端口并不能在soc頂層訪問(wèn),其輸入輸出端口不能在soc頂層訪問(wèn)。
ieeestd1500標(biāo)準(zhǔn)是專為解決soc中嵌入式ip核的測(cè)試訪問(wèn)、隔離、控制等測(cè)試問(wèn)題而開發(fā)的一個(gè)測(cè)試標(biāo)準(zhǔn)。ieeestd1500標(biāo)準(zhǔn)規(guī)定ip核測(cè)試殼結(jié)構(gòu)由測(cè)試殼邊界寄存器(wrapperboundaryregister,wbr)、測(cè)試殼旁路寄存器(wrapperbypassregister,wby)、測(cè)試殼指令寄存器(wrapperinstructionregister,wir)、測(cè)試殼串行端口(wrapperserialport,wsp)和可選的測(cè)試殼并行端口(wrapperparallelport,wpp)組成。
wbr由串行連接的測(cè)試殼邊界寄存器單元(wbrcell)組成,wbrcell能實(shí)現(xiàn)測(cè)試激勵(lì)的施加和測(cè)試響應(yīng)的捕獲,從而實(shí)現(xiàn)對(duì)ip核的控制和觀察。ip核的每一個(gè)輸入/輸出端口都有一個(gè)wbrcell,但tam(testaccessmechanism,測(cè)試訪問(wèn)機(jī)制)端口和模擬端口可以不設(shè)置wbrcell。
wbrcell只要達(dá)到ieeestd1500規(guī)定的模式及行為即可,因而沒(méi)有固定的結(jié)構(gòu)。圖1示出了一種最簡(jiǎn)單的wbrcell結(jié)構(gòu),包括1個(gè)存儲(chǔ)單元和2個(gè)選通器單元,圖1所示的掃描使能信號(hào)用來(lái)使能移位路徑,保持使能信號(hào)用來(lái)使能存儲(chǔ)單元的保持功能。wbrcell提供4個(gè)輸入輸出端口:cti(celltestinput,單元測(cè)試輸入)端口、cto(celltestoutput單元測(cè)試輸出)端口、cfi(cellfunctionalinput單元功能輸入)端口、cfo(cellfunctionaloutput單元測(cè)試輸出)端口。cti→cto組成移位路徑,cfi→cfo組成功能路徑。
如何設(shè)計(jì)測(cè)試殼特別是wbr是目前研究的熱門。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供測(cè)試殼設(shè)計(jì)方法及裝置。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案:
一種測(cè)試殼設(shè)計(jì)方法,包括:
獲取設(shè)計(jì)參數(shù),所述設(shè)計(jì)參數(shù)包括ip核功能端口信息、ip核內(nèi)部掃描測(cè)試信息、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度wwpp和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度
根據(jù)所述設(shè)計(jì)參數(shù)確定所述測(cè)試殼的輸入輸出端口信息以及連接方式;所述輸入輸出端口信息至少包括wbr端口信息;所述wbr端口信息包括wbrcell的數(shù)目、排序、類型,wbr中針對(duì)wbrcell的控制信號(hào)端數(shù)目、wbr中使用的選通器的數(shù)目;所述連接方式至少包括每一wbrcell的連接方式;當(dāng)選通器的數(shù)目不為0時(shí),所述連接方式還包括每一選通器的插入位置和連接方式;
使用相應(yīng)的連接方式完成每一wbrcell的連接;
將所有wbrcell的移位路徑首尾相連,組成測(cè)試殼掃描鏈;
當(dāng)選通器的數(shù)目不為0時(shí),使用相應(yīng)的連接方式插入每一選通器。
在一個(gè)可能的設(shè)計(jì)中,所述根據(jù)所述設(shè)計(jì)參數(shù)確定所述測(cè)試殼的輸入輸出端口信息以及連接方式包括:根據(jù)所述ip核功能端口信息確定wbrcell的數(shù)目、排序和類型;根據(jù)所述wbrcell結(jié)構(gòu)和類型確定wbr中針對(duì)wbrcell的控制信號(hào)端數(shù)目;根據(jù)所述wbrcell的結(jié)構(gòu)、類型和排序,確定每一wbrcell的連接方式;根據(jù)所述wwpp和nscan確定所述wbr中使用的選通器的數(shù)目;當(dāng)所述wbr中使用的選通器的數(shù)目不為0時(shí),至少根據(jù)所述
在一個(gè)可能的設(shè)計(jì)中,所述根據(jù)所述wwpp和nscan確定所述wbr中使用的選通器的數(shù)目包括:根據(jù)公式nmux=n1+n2計(jì)算得到所述選通器的數(shù)目;其中,nmux表示wbr中使用的選通器的數(shù)目,mux表示選通器;wwpp=0時(shí),n1=0,wwpp≠0時(shí),n1=wwpp+2×nscan;nscan=0時(shí),n2=0;nscan≠0時(shí),n2=1。
在一個(gè)可能的設(shè)計(jì)中,所述ip核功能端口信息包括ip核功能端口的方向、數(shù)目和排序;所述根據(jù)所述ip核功能端口信息確定wbrcell的數(shù)目、排序和類型包括:根據(jù)所述ip核功能端口的數(shù)目確定wbrcell的數(shù)目;根據(jù)所述ip核功能端口的排序確定所有wbrcell的排序;根據(jù)所述ip核功能端口的方向確定各wbrcell的類型。
在一個(gè)可能的設(shè)計(jì)中,當(dāng)nscan=0,wwpp≠0時(shí),所述使用相應(yīng)的連接方式插入每一選通器包括:在第0,
在一個(gè)可能的設(shè)計(jì)中,所述測(cè)試殼掃描鏈包括測(cè)試殼輸入端口鏈和測(cè)試殼輸出端口鏈。
在一個(gè)可能的設(shè)計(jì)中,當(dāng)nscan≠0,wwpp=0時(shí),所述使用相應(yīng)的連接方式插入每一選通器包括:將ip核內(nèi)部的nscan條掃描鏈串聯(lián)成一條串行掃描鏈;將所述串行掃描鏈串聯(lián)在所述測(cè)試殼輸入端口鏈和所述測(cè)試殼輸出端口鏈之間,并在所述測(cè)試殼輸出端口鏈的第1個(gè)wbr單元的cti處插入1個(gè)選通器。
在一個(gè)可能的設(shè)計(jì)中,當(dāng)nscan≠0,wwpp≠0時(shí),所述使用相應(yīng)的連接方式插入每一選通器包括:將ip核內(nèi)部的nscan條掃描鏈串聯(lián)成一條串行掃描鏈;
將所述串行掃描鏈串聯(lián)在所述測(cè)試殼輸入端口鏈和所述測(cè)試殼輸出端口鏈之間;在所述測(cè)試殼輸出端口鏈的第1個(gè)wbr單元的cti處插入1個(gè)選通器;在第0,
一種測(cè)試殼設(shè)計(jì)裝置,包括:
獲取單元,用于獲取設(shè)計(jì)參數(shù),所述設(shè)計(jì)參數(shù)包括ip核功能端口信息、ip核內(nèi)部掃描測(cè)試信息、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度;其中,所述ip核內(nèi)部掃描測(cè)試信息至少包括掃描鏈數(shù)目;
設(shè)計(jì)單元,用于根據(jù)所述設(shè)計(jì)參數(shù)確定所述測(cè)試殼的輸入輸出端口信息以及連接方式;所述輸入輸出端口信息至少包括wbr端口信息;所述wbr端口信息包括wbrcell的數(shù)目、排序、類型,wbr中針對(duì)wbrcell的控制信號(hào)端數(shù)目、wbr中使用的選通器的數(shù)目;所述連接方式至少包括每一wbrcell的連接方式;當(dāng)選通器的數(shù)目不為0時(shí),所述連接方式還包括每一選通器的插入位置和連接方式;
連接單元,用于使用相應(yīng)的連接方式完成每一wbrcell的連接,將所有wbrcell的移位路徑首尾相連組成測(cè)試殼掃描鏈,以及,當(dāng)選通器的數(shù)目不為0時(shí),使用相應(yīng)的連接方式插入每一選通器。
在本實(shí)施例中,可根據(jù)ip核功能端口信息、ip核內(nèi)部掃描測(cè)試信息、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度等參數(shù),自動(dòng)進(jìn)行wbr設(shè)計(jì),進(jìn)而完成測(cè)試殼的設(shè)計(jì)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的wbrcell的一種結(jié)構(gòu)性示意圖;
圖2、8為本發(fā)明實(shí)施例提供的測(cè)試殼設(shè)計(jì)方法示例性流程圖;
圖3為本發(fā)明各實(shí)施例提供的wbr的對(duì)外端口示意圖;
圖4-7為本發(fā)明實(shí)施例提供的經(jīng)設(shè)計(jì)方法設(shè)計(jì)后得到的wbr的結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例提供的設(shè)計(jì)裝置結(jié)構(gòu)示例圖。
具體實(shí)施方式
為了引用和清楚起見,下文中使用的技術(shù)名詞、簡(jiǎn)寫或縮寫總結(jié)如下:
wby:wrapperbypassregister,測(cè)試殼旁路寄存器;
wbr:wrapperboundaryregister,測(cè)試殼邊界寄存器;
wir:wrapperinstructionregister,測(cè)試殼指令寄存器;
wdr:wrapperdataregister,測(cè)試殼數(shù)據(jù)寄存器;
wsp:wrapperserialport,測(cè)試殼串行端口;
wpp:wrapperparallelport,測(cè)試殼并行端口;
wsc:wrapperserialcontrol,測(cè)試殼串行控制;
wsi:wrapperserialinput,測(cè)試殼串行輸入;
wso:wrapperserialoutput,測(cè)試殼串行輸出;
wpc:wrapperparallelcontrol,測(cè)試殼并行控制;
wpi:wrapperparallelinput,測(cè)試殼并行輸入;
wpo:wrapperparalleloutput,測(cè)試殼并行輸出;
cfi:cellfunctionalinput,wbrcell的功能輸入;
cfo:cellfunctionaloutput,wbrcell的功能輸出;
cti:celltestinput,wbrcell的測(cè)試輸入;
cto:celltestoutput,wbrcell的測(cè)試輸出;
wfi:wrapperfunctionalinput,測(cè)試殼功能輸入;
wfo:wrapperfunctionaloutput,測(cè)試殼功能輸出;
ci:coreinput,ip核輸入;
co:coreoutput,ip核輸出;
si:scaninput,ip核內(nèi)部掃描鏈掃描輸入端口;
so:scanoutput,ip核內(nèi)部掃描鏈掃描輸出端口;
se:scanenable,ip核內(nèi)部掃描鏈掃描使能端口;
tam:testaccessmechanism,測(cè)試訪問(wèn)機(jī)制。
前已述及,ip核測(cè)試殼結(jié)構(gòu)由wbr、wby、wir、wsp和可選的wpp組成。
其中:
wbr是數(shù)據(jù)寄存器,用于提供測(cè)試激勵(lì)和接收測(cè)試響應(yīng)。
wby是數(shù)據(jù)寄存器,在測(cè)試殼串行輸入wsi和測(cè)試殼串行輸出wso之間提供一條支路。當(dāng)沒(méi)有其他數(shù)據(jù)寄存器可選的時(shí)候,它可以由當(dāng)前的測(cè)試殼指令選擇充當(dāng)默認(rèn)的數(shù)據(jù)寄存器,為其他ip核的測(cè)試提供一條測(cè)試數(shù)據(jù)快速通過(guò)的路徑。
wir用于控制測(cè)試殼的操作,測(cè)試殼指令寄存器通過(guò)wsi和wsc將指令串行地送入測(cè)試殼電路。并根據(jù)載入的指令決定當(dāng)前的測(cè)試模式是外部測(cè)試模式(outwardfacingmode)還是內(nèi)部測(cè)試模式(inwardfacingmode),決定訪問(wèn)方式是串行訪問(wèn)還是并行訪問(wèn),決定被連接在測(cè)試殼串行輸入wsi與測(cè)試殼串行輸出wso之間的寄存器是wir、wbr還是wby。最后,指令寄存器負(fù)責(zé)根據(jù)載入的指令產(chǎn)生測(cè)試殼控制信號(hào)來(lái)控制wby的移位、wbrcell的移位/捕獲/更新/傳輸?shù)炔僮鳌⒁约斑x通器的選擇。
wsp是測(cè)試殼基本端口,用于測(cè)試殼寄存器中指令和數(shù)據(jù)輸入輸出,它由測(cè)試殼串行輸入(wsi)、測(cè)試殼串行輸出(wrapperserialoutput,wso)和測(cè)試殼并行控制(wsc)組成。wsc由6條強(qiáng)制信號(hào)線(wrstn、wrck、selectwir、shiftwr、capturewr、updatewr)和2條可選信號(hào)線(transferdr、auxck)組成。當(dāng)selectwir有效時(shí),wir連接在wsi和wso之間。當(dāng)selectwir無(wú)效時(shí),wbr或wby連接在wsi和wso之間。
wpp提供對(duì)測(cè)試殼的并行訪問(wèn),它由測(cè)試殼并行輸入(wrapperparallelinput,wpi)、測(cè)試殼并行輸出(wrapperparalleloutput,wpo)和測(cè)試殼并行控制(wrapperparallelcontrol,wpc)組成。它可以將串行測(cè)試殼掃描鏈分割成多條并行掃描鏈,節(jié)約測(cè)試時(shí)間。并行訪問(wèn)寬度越大,測(cè)試時(shí)間越短,但是所需的測(cè)試管腳資源也越多。
表1是幾種常見wir指令的描述。
針對(duì)不同ip核設(shè)計(jì)ieeestd1500測(cè)試殼時(shí),測(cè)試殼結(jié)構(gòu)各子模塊的可復(fù)用情況分析如下:
wby:結(jié)構(gòu)簡(jiǎn)單,主要由移位寄存器組成,寄存器長(zhǎng)度最短可以到1bit,可以完全復(fù)用。
wir:結(jié)構(gòu)規(guī)整,主要由移位寄存器、更新寄存器和譯碼邏輯組成,移位寄存器和更新寄存器長(zhǎng)度與wir指令集有關(guān),譯碼邏輯除與測(cè)試殼所支持的wir指令集有關(guān)外,還與所選定的wbrcell結(jié)構(gòu)有關(guān),如果wir指令集和wbrcell結(jié)構(gòu)保持不變,wir可以完全復(fù)用。
wbr:結(jié)構(gòu)多變,可復(fù)用情況與ip核功能端口信息(包括名稱、方向、數(shù)目和排序)、ip核內(nèi)部掃描鏈數(shù)目、測(cè)試殼并行訪問(wèn)方式(包括并行訪問(wèn)寬度和并行掃描鏈長(zhǎng)度)有關(guān)。上述任意一個(gè)因素發(fā)生變化時(shí),wbr都不可直接復(fù)用。
本發(fā)明在進(jìn)行測(cè)試殼設(shè)計(jì)時(shí),重點(diǎn)關(guān)注的是對(duì)wbr的設(shè)計(jì)。
ieeestd1500標(biāo)準(zhǔn)只定義兩種wbrcell類型:輸入wbrcell(inputwbrcell)和輸出wbrcell(outputwbrcell)。對(duì)于inputwbrcell,cfi和測(cè)試殼wfi相連,cfo和ip核ci相連,對(duì)于outputwbrcell,cfi和ip核co相連,cfo和測(cè)試殼wfo相連。以圖1所示wbrcell結(jié)構(gòu)為例,同一wbrcell,其cfi和測(cè)試殼wfi相連,cfo和ip核ci相連,則為inputwbrcell,而如其cfi和ip核co相連,cfo和測(cè)試殼wfo相連,則為outputwbrcell。
wbr中的所有wbrcell的移位路徑首尾相連組成測(cè)試殼掃描鏈,串行測(cè)試模式下,測(cè)試殼掃描鏈可連接在測(cè)試殼串行輸入(wsi)和測(cè)試殼串行輸出(wso)之間,并行測(cè)試模式下測(cè)試殼掃描鏈可連接在測(cè)試殼并行輸入(wpi)和測(cè)試殼并行輸出(wpo)之間。
本發(fā)明實(shí)施例提出的測(cè)試殼設(shè)計(jì)方法可以根據(jù)ip核功能端口信息(包括名稱、方向、數(shù)目和排序,不含時(shí)鐘端口、復(fù)位端口、tam端口和模擬端口)、ip核內(nèi)部掃描測(cè)試信息(包括掃描測(cè)試端口信息和掃描鏈數(shù)目nscan)、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度(wwpp)和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度等參數(shù),自動(dòng)進(jìn)行wbr設(shè)計(jì)。
圖2示出了上述測(cè)試殼設(shè)計(jì)方法的一種示例性流程,其可包括:
s201:獲取設(shè)計(jì)參數(shù)。
設(shè)計(jì)參數(shù)由設(shè)計(jì)者人工輸入,其可包括ip核功能端口信息、ip核內(nèi)部掃描測(cè)試信息、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度(wwpp)和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度
更具體的,ip核功能端口信息可包括ip核功能端口的名稱、方向(輸入或輸出)、數(shù)目和排序。例如,請(qǐng)參見圖4-7,ip核功能端口的名稱為a0、a1、a2、a3、b0、b1、b2、b3,共8個(gè)ip核功能端口。其中:a0-a3的方向?yàn)檩斎?,b0-b3的方向?yàn)檩敵?,端口排序?yàn)閍0-a1-a2-a3-b3-b2-b1-b0。
ip核內(nèi)部掃描測(cè)試信息至少包括掃描鏈數(shù)目nscan。此外,ip核內(nèi)部掃描測(cè)試信息還可包括掃描測(cè)試端口信息,例如,si(ip核內(nèi)部掃描鏈掃描輸入端口)、so(ip核內(nèi)部掃描鏈掃描輸出端口)和se(ip核內(nèi)部掃描鏈掃描使能端口)。掃描鏈數(shù)目nscan是ip核本身的屬性。請(qǐng)參見圖6或圖7,圖6或圖7所示的ip核的內(nèi)部掃描鏈包含scanchain0和scanchain1,則nscan=2。
至于測(cè)試殼并行訪問(wèn)寬度wwpp,需要說(shuō)明的是,wwpp取值可為0,在不為0時(shí),wwpp由設(shè)計(jì)者在測(cè)試時(shí)間和測(cè)試殼并行訪問(wèn)寬度之間折中決定,一般為了支持ip核內(nèi)部掃描測(cè)試,要求wwpp>=nscan,可以取wwpp=nscan+1。
當(dāng)wwpp=0時(shí),無(wú)需要輸入
而當(dāng)wwpp≠0時(shí),以ln表示
s202:根據(jù)上述設(shè)計(jì)參數(shù)確定測(cè)試殼的輸入輸出端口信息以及連接方式。
上述輸入輸出端口信息至少包括wbr端口信息。還可包括wsp端口信息和wpp端口信息。
進(jìn)一步的,wbr端口信息可包括wbrcell的數(shù)目、排序、wbr中針對(duì)wbrcell的控制信號(hào)端數(shù)目、wbr中使用的選通器的數(shù)目。
而連接方式可包括每一wbrcell的連接方式,例如:cfi和cfo的連接方式,cti和cto的連接方式。
當(dāng)選通器的數(shù)目不為0時(shí),上述連接方式還可包括每一選通器的插入位置和每一選通器的連接方式:例如,每一選通器的數(shù)據(jù)輸入端的連接方式以及選擇信號(hào)端的連接方式。
在本發(fā)明其他實(shí)施例中,上述步驟s202可具體包括如下步驟(a-e):
步驟a:根據(jù)上述ip核功能端口信息確定wbrcell的數(shù)目、排序和類型。
前述提及了,ip核功能端口信息可包括ip核功能端口的名稱、方向、數(shù)目和排序。
則具體的,步驟a可進(jìn)一步包括:
1):可根據(jù)ip核功能端口的數(shù)目確定wbrcell的數(shù)目;
例如,請(qǐng)參見圖4-7,共8個(gè)ip核功能端口(a0、a1、a2、a3、b0、b1、b2、b3),由于每一ip核功能端口都要連接1個(gè)wbrcell,則wbrcell的數(shù)目也為8個(gè)。
2):可根據(jù)ip核功能端口的名稱,確定各wbrcell的命名;
仍請(qǐng)參見圖4-7,8個(gè)ip核功能端口名稱為a0、a1、a2、a3、b0、b1、b2、b3,則與之對(duì)應(yīng)連接的wbrcell可分別命名為wbr_a0~wbr_a3(在圖4-7中以標(biāo)號(hào)0-3簡(jiǎn)化表示),wbr_b0~wbr_b3(在圖4-7中以標(biāo)號(hào)7-4簡(jiǎn)化表示)。并且,wbr_a0~wbr_a3的cfi端和cfo端分以wbr_a0_cfi~wbr_a3_cfi、wbr_a0_cfo~wbr_a3_cfo表示,wbr_b0~wbr_b3的cfi端和cfo端分以wbr_b0_cfi~wbr_b3_cfi、wbr_b0_cfo~wbr_b3_cfo表示。
3):可根據(jù)ip核功能端口的排序確定所有wbrcell的排序;
仍請(qǐng)參見圖4-7,8個(gè)ip核功能端口的排序?yàn)閍0-a1-a2-a3-b3-b2-b1-b0,則wbrcell的排序確定為:wbr_a0-wbr_a1-wbr_a2-wbr_a3-wbr_b3-wbr_b2-wbr_b1-wbr_b0。
4):根據(jù)ip核功能端口的方向確定各wbrcell的類型。
仍請(qǐng)參見圖4-7,ip核功能端口a0-a3方向?yàn)檩斎?,則可確定,與之連接的wbr_a0~wbr_a3類型為inputwbrcell。同理,ip核功能端口b3-b0方向?yàn)檩敵?,則可確定,與之連接的wbr_b3~wbr_b0類型為outputwbrcell。
步驟b:根據(jù)wbrcell結(jié)構(gòu)和類型確定wbrcell的控制信號(hào)端數(shù)目。
如采用圖1所示的wbrcell結(jié)構(gòu),則每一個(gè)wbrcell的控制信號(hào)端為2,所有wbrcell的控制信號(hào)端為4,其中,inputwbrcell的掃描使能信號(hào)端和保持使能信號(hào)端,以及,outputwbrcell的掃描使能信號(hào)端和保持使能信號(hào)端。
步驟c:根據(jù)wbrcell的類型、排序和wbr結(jié)構(gòu),確定各wbrcell的連接方式。
以wbrcell的cfi和cfo的連接方式為例,仍請(qǐng)參見圖4-7,wbr_a0~wbr_a3類型為inputwbrcell,則其連接方式是:wbr_a0~wbr_a3的cfi端和測(cè)試殼的wfi相連,wbr_a0~wbr_a3的cfo端和ip核的ci相連(也即,wbr_a0~wbr_a3的cfo端分別連接ip核端口a0-a3)。
同理,仍請(qǐng)參見圖4-7,wbr_b3~wbr_b0類型為outputwbrcell,因此,wbr_b3~wbr_b0的cfo端和測(cè)試殼wfo相連,wbr_a0~wbr_a3的cfi端和ip核co相連(也即,wbr_b3~wbr_b0的cfi端分別連接ip核端口b3-b0)。
步驟d:根據(jù)wwpp和nscan確定wbr中使用的選通器的數(shù)目。
更具體的,可根據(jù)公式nmux=n1+n2計(jì)算得到選通器的數(shù)目;其中,nmux表示wbr中所使用的選通器的數(shù)目,mux表示選通器;wwpp=0時(shí),n1=0,wwpp≠0時(shí),n1=wwpp+2×nscan;nscan=0時(shí),n2=0;nscan≠0時(shí),n2=1。
還可以用公式nmux=((wwpp==0)?0:(wwpp+2×nscan))+((nscan==0)?0:1)來(lái)計(jì)算。
例如,請(qǐng)參見圖4所示測(cè)試殼,當(dāng)nscan=0,wwpp=0,則nmux=0。
再例如,請(qǐng)參見圖5所示測(cè)試殼,當(dāng)nscan=0,wwpp=2,則nmux=((wwpp==0)?0:(wwpp+2×nscan))+((nscan==0)?0:1)=2。
再例如,請(qǐng)參見圖6所示測(cè)試殼,當(dāng)nscan=2,wwpp=0,則nmux=((wwpp==0)?0:(wwpp+2×nscan))+((nscan==0)?0:1)=1。
再例如,請(qǐng)參見圖7所示測(cè)試殼,當(dāng)nscan=2,wwpp=3,則
nmux=((wwpp==0)?0:(wwpp+2×nscan))+((nscan==0)?0:1)=8。
步驟e:當(dāng)wbr中使用的選通器的數(shù)目不為0時(shí),至少根據(jù)測(cè)試殼并行掃描鏈長(zhǎng)度確定每一選通器的插入位置和連接方式。
選通器的連接方式可包括每一選通器的數(shù)據(jù)輸入端的連接方式,以及每一選通器的選擇信號(hào)端的連接方式。
s203:使用相應(yīng)的連接方式完成每一wbrcell的連接。
在本步驟中,主要完成每一wbrcell的cfi、cfo的連接。其目的是使能功能路徑,對(duì)于inputwbrcell來(lái)說(shuō),就是讓wfi-cfi-cfo-ci通路連通,對(duì)于outputwbrcell來(lái)說(shuō),就是讓co-cfi-cfo-wfo通路連通。
此外,在步驟203中,還可先完成所有wbrcell模塊的例化,再使用相應(yīng)的連接方式完成每一wbrcell的cfi、cfo的連接。
在集成電路設(shè)計(jì)中,例化(instantiate),是指把子模塊例化到上層模塊中。例如,在模塊a中包括子模塊b和子模塊c,則需要把子模塊b和子模塊c例化到模塊a中,這樣模塊a才真正的具有一定的功能。
s204:將所有wbrcell的移位路徑首尾相連,使能移位路徑,組成測(cè)試殼掃描鏈;
本步驟主要完成的是wbrcell的cti、cto的連接。請(qǐng)參見圖4-7,具體連接方式為:wsi→輸入端口鏈→輸出端口鏈→wso。其中,輸入端口鏈由wbr_a0~wbr_a3組成,輸出端口鏈由wbr_b3~wbr_b0組成,它們一起組成測(cè)試殼掃描鏈。輸入端口鏈由ip核輸入端口對(duì)應(yīng)的wbrcell組成,輸出端口鏈由ip核輸出端口對(duì)應(yīng)的wbrcell組成,它們一起組成測(cè)試殼掃描鏈。
s205:當(dāng)選通器的數(shù)目不為0時(shí),使用相應(yīng)的連接方式插入每一選通器。
可見,在本實(shí)施例中,可根據(jù)ip核功能端口信息、ip核內(nèi)部掃描測(cè)試信息、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度等參數(shù),自動(dòng)進(jìn)行wbr設(shè)計(jì),進(jìn)而完成測(cè)試殼的設(shè)計(jì)。
請(qǐng)參見圖3,圖3示出了經(jīng)本發(fā)明所提供的設(shè)計(jì)方法設(shè)計(jì)得到的wbr的對(duì)外端口(管腳),其可包括:
wbr_wrck端口:連接到測(cè)試殼時(shí)鐘端口wrck;
wbr_wrstn端口:連接到測(cè)試殼復(fù)位端口wrstn;
wbr_wsi/wbr_wso端口:wbr_wsi連接到測(cè)試殼的wsi,wbr_wso輸出后與wby_wso和wir_wso選通,然后連接測(cè)試殼的wso;
wbr_wpi/wbr_wpo端口:wbr_wpi連接到測(cè)試殼的wpi,wbr_wpo連接到測(cè)試殼的wpo,wbr_wpi和wbr_wpo寬度等于wwpp;
wbr_x_cfi/wbr_x_cfo端口:ieeestd1500規(guī)定ip核的每一個(gè)輸入/輸出端口(不含時(shí)鐘端口、復(fù)位端口、tam端口和模擬端口)都有1個(gè)wbrcell,因此,對(duì)ip核的每一個(gè)輸入/輸出端口(端口名記為“x”)(不含時(shí)鐘端口、復(fù)位端口、tam端口和模擬端口),添加1個(gè)wbrcell功能輸入端口(wbr_x_cfi)和1個(gè)wbrcell功能輸出端口(wbr_x_cfo),全部wbr_x_cfi/wbr_x_cfo端口數(shù)目為(ninput+noutput)×2;以圖4為例,wbr_x_cfi的端口數(shù)目為4,wbr_x_cfo的端口數(shù)目為4,則全部wbr_x_cfi/wbr_x_cfo端口數(shù)目為16。
wbr_ctrl端口:wbrcell的控制信號(hào)端,與wbrcell結(jié)構(gòu)和wbrcell類型(inputwbrcell或outputwbrcell)有關(guān),根據(jù)選定的wbrcell結(jié)構(gòu),確定inputwbrcell和outputwbrcell的控制信號(hào),例如,對(duì)于圖1所示的wbrcell結(jié)構(gòu),需要的控制信號(hào)端數(shù)目為4,包括inputwbrcell的掃描使能信號(hào)端、掃描保護(hù)信號(hào)端和outputwbrcell的掃描使能信號(hào)端、掃描保護(hù)信號(hào)端;wbrcell的控制信號(hào)由wir電路產(chǎn)生。
wbr_coreso/wbr_coresi:為了支持串行內(nèi)部掃描測(cè)試和并行內(nèi)部掃描測(cè)試,測(cè)試殼掃描鏈需要與ip核內(nèi)部掃描鏈進(jìn)行連接,因此,對(duì)ip核內(nèi)部掃描鏈的每一個(gè)掃描輸入/輸出端口,wbr需要提供與之相連的掃描輸出/輸入端口,全部wbr_coreso/wbr_coresi端口數(shù)目為等于nscan×2;需要說(shuō)明的是,wbr_coreso/wbr_coresi端口對(duì)應(yīng)圖6和7中scanchain0和scanchain1的so和si端口,其中,wbr_coreso是從ip核的so到wbr,wbr_coresi是從wbr到ip核的si端。
wbr_sel端口:為選通器選擇信號(hào)端口。選通器選擇信號(hào)由wir譯碼電路根據(jù)載入的wir指令產(chǎn)生,且選通器選擇信號(hào)的排序應(yīng)與選通器的排序一致,即:wbr_sel[n]用于控制mux_n,本方案選通器選擇信號(hào)寬度等于wbr設(shè)計(jì)需要的選通器數(shù)目。選通器選擇信號(hào)是多比特的,其比特?cái)?shù)根據(jù)選通器數(shù)目而定。
需要說(shuō)明的是,當(dāng)nscan=0,wwpp=0時(shí),不用執(zhí)行上述步驟205(也即,不用插入選通器)。
實(shí)際上,wwpp和nscan是否等于0,可有四種組合,相應(yīng)的,設(shè)計(jì)出的wbr也有四種:wbr_0至wbr_3,這四種wbr支持的指令集各不相同。下面將以更詳細(xì)的例子,來(lái)介紹如何設(shè)計(jì)測(cè)試殼,尤其是wbr。
圖8為本發(fā)明實(shí)施例提供的另一種測(cè)試殼設(shè)計(jì)方法的示例性流程。
步驟801-804與前述的s201-204相類似,在此不作贅述。
s805:判斷nscan=0是否成立,若成立,跳到s806;若不成立,跳到s810;
s806:判斷wwpp=0是否成立,若成立,跳到s807,若不成立,跳到s808。
s807:完成wbr_0設(shè)計(jì)。跳到s817,結(jié)束設(shè)計(jì)流程。
wbr_0支持的wir指令集為:ws_intest、ws_extest、ws_bypass。
需要說(shuō)明的是,wbr-0設(shè)計(jì)中不需要計(jì)算選通器,nscan=0,無(wú)法支持掃描測(cè)試,所以ws_intest_scan的指令也就沒(méi)必要支持;而wwpp=0,也就不用支持并行的內(nèi)外部測(cè)試,所以,wp_extest、wp_intest_scan、wp_intest指令都用不上,也就不用支持。
舉例來(lái)講,假定設(shè)計(jì)參數(shù)如下:
ip核功能端口信息:ninput=4,端口名稱為a0、a1、a2、a3,noutput=4,端口名稱為b0、b1、b2、b3,端口排序?yàn)閍0-a1-a2-a3-b3-b2-b1-b0;
ip核內(nèi)部掃描測(cè)試信息:nscan=0;
wbrcell結(jié)構(gòu)如圖1所示;
測(cè)試殼并行訪問(wèn)寬度:wwpp=0;
測(cè)試殼并行掃描鏈長(zhǎng)度:無(wú)。
則wbr的設(shè)計(jì)過(guò)程為:
s801->s802->s803->s804->s805->s806->s807->s817,需要的選通器數(shù)目為0,完成的wbr設(shè)計(jì)如圖4所示,圖4中粗線是測(cè)試訪問(wèn)路徑。
s808:在測(cè)試殼掃描鏈中插入wwpp個(gè)選通器(對(duì)應(yīng)nscan=0,wwpp≠0)。
更具體的,在第0,
第0,
上述wwpp個(gè)選通器用于在串行測(cè)試輸入和并行測(cè)試輸入之間選擇。
選通器是一個(gè)三輸入端器件,分別為:in0端,in1端和select端(選擇信號(hào)端),可實(shí)現(xiàn)二選一的功能,select為1,輸出等于1端輸入,否則,輸出等于0端輸入。
假定上述wwpp個(gè)選通器序號(hào)為0~wwpp-1,則具體的連接方式包括:
令上述wwpp個(gè)選通器的輸出端與相應(yīng)的wbr單元的cti端相連接。
令上述wwpp個(gè)選通器的in0端(可稱為第一輸入端)連接測(cè)試殼的wpi;
令上述第0個(gè)選通器的in1端(可稱為第二輸入端)連接測(cè)試殼的wsi;
令第1-wwpp-1選通器的in1端(可稱為第二輸入端)連接上一個(gè)wbrcell的cto端,也即
令上述wwpp個(gè)選通器的select端(可稱為第三輸入端)接選對(duì)應(yīng)的選通器控制信號(hào)。需要說(shuō)明的是,如果有n個(gè)選擇器,則在wbr上會(huì)有n個(gè)控制信號(hào)輸入端口,可稱為wbr_sel[n-1:0]。
s809,完成wbr_1設(shè)計(jì),跳到s817,結(jié)束設(shè)計(jì)流程。
wbr_1支持的wir指令集為:ws_intest、ws_extest、wp_intest、wp_extest、ws_bypass。
舉例來(lái)講,假定設(shè)計(jì)參數(shù)如下:
ip核功能端口信息:ninput=4,端口名稱為a0、a1、a2、a3,noutput=4,端口名稱為b0、b1、b2、b3,端口排序?yàn)閍0-a1-a2-a3-b3-b2-b1-b0;
ip核內(nèi)部掃描測(cè)試信息:nscan=0;
wbrcell結(jié)構(gòu)如圖1所示;
測(cè)試殼并行訪問(wèn)寬度:wwpp=2;
測(cè)試殼并行掃描鏈長(zhǎng)度:{l1,l2}={4,4}。
wbr設(shè)計(jì)步驟為:
s801→s802→s803→s804→s805→s806→s808→s809→s817,需要的選通器數(shù)目為2。這2個(gè)選通器(在圖5中以圓形虛線框框出來(lái))分別位于cell0,cell4的cti端,圖5中粗線是串行測(cè)試訪問(wèn)路徑。
s810,將ip核內(nèi)部nscan條掃描鏈串聯(lián)成1條串行掃描鏈。
更具體的,將各條掃描鏈?zhǔn)孜蚕噙B即可。如何串聯(lián)是現(xiàn)有技術(shù),在此不作贅述。例如,請(qǐng)參見圖6和圖7,是將scanchain1的so與scanchain0的si相連,組成串行掃描鏈。該串行掃描鏈的si即為scanchain1的si,該串行掃描鏈的so即為scanchain0的so。
s811,將ip核內(nèi)部串行掃描鏈串聯(lián)在測(cè)試殼輸入端口鏈和測(cè)試殼輸出端口鏈之間,并在測(cè)試殼輸出端口鏈的第1個(gè)wbrcell處插入1個(gè)選通器(序號(hào)為wwpp)。
前述提及的測(cè)試殼掃描鏈包括測(cè)試殼輸入端口鏈和測(cè)試殼輸出端口鏈,更具體的,inputwbrcell的移位路徑首尾相連,組成測(cè)試殼輸入掃描鏈,而outputwbrcell的移位路徑首尾相連,組成測(cè)試殼輸出掃描鏈。請(qǐng)參見圖6和圖7,第0-3wbrcell的移位路徑首尾相連,組成測(cè)試殼輸入掃描鏈,第4-7wbrcell的移位路徑首尾相連,組成測(cè)試殼輸出掃描鏈。
具體的,請(qǐng)參見圖6和圖7,該選通器插在測(cè)試殼輸出端口鏈的第1個(gè)wbrcell(即cell4)的cti端,其中,選通器的輸出端連接測(cè)試殼輸出端口鏈的第1個(gè)wbrcell的cti端,該選通器的in1端(可稱為第二輸入端)連接ip核內(nèi)部串行掃描鏈的so端(也即scanchain0的so),該選通器的in0端(可稱為第一輸入端)連接測(cè)試殼輸入端口鏈的cto端。這樣的連接方式可令選通器在ip核內(nèi)部串行掃描鏈的so和測(cè)試殼輸入端口鏈的cto之間選擇。
此外,還要完成該選通器的相應(yīng)信號(hào)連接:sel端(可稱為第三輸入端)連到wbr_sel[wwpp],被wbr_sel[wwpp]驅(qū)動(dòng)。wbr_sel[wwpp]表示第wwpp個(gè)wbr_sel控制信號(hào)輸入端口,當(dāng)指令為ws_intest_scan時(shí),wbr_sel[wwpp]為1;當(dāng)指令為ws_extest時(shí),wbr_sel[wwpp]為0。
s812,判斷wwpp=0是否成立,若成立,進(jìn)入s813,否則,進(jìn)入s814;
s813,完成wbr_2設(shè)計(jì),跳到s817,結(jié)束設(shè)計(jì)流程。
wbr_2支持的wir指令集為:ws_intest_scan、ws_extest、ws_bypass。
舉例來(lái)講,假定設(shè)計(jì)參數(shù)如下:
ip核功能端口信息:ninput=4,端口名稱為a0、a1、a2、a3,noutput=4,端口名稱為b0、b1、b2、b3,端口排序?yàn)閍0-a1-a2-a3-b3-b2-b1-b0;
ip核內(nèi)部掃描測(cè)試信息:nscan=2;
wbrcell結(jié)構(gòu)如圖1所示;
測(cè)試殼并行訪問(wèn)寬度:wwpp=0;
測(cè)試殼并行掃描鏈長(zhǎng)度:無(wú)。
wbr設(shè)計(jì)步驟為:
s801→s802→s803→s804→s805→s810→s811→s812→s813→s817,需要的選通器數(shù)目為:1。
完成的wbr設(shè)計(jì)如圖6所示,圖6中粗線是串行內(nèi)部測(cè)試訪問(wèn)路徑。
s814,在測(cè)試殼掃描鏈中插入wwpp個(gè)選通器。
具體如何插入請(qǐng)參見前述步驟s808,在此不作贅述。
針對(duì)于圖7所示的wbr設(shè)計(jì),在步驟s814中完成的是在cell0、cell3、cell5的cti處插入的選通器。
s815,將ip核內(nèi)部nscan條掃描鏈和測(cè)試殼掃描鏈并行連接在wpi和wpo之間,得到nscan+1條并行掃描鏈,并在ip核內(nèi)部掃描鏈的si和so端插入nscan×2個(gè)選通器(也即,在ip核內(nèi)部每條掃描鏈的si和so端口處分別插入1個(gè)選通器),并完成相應(yīng)信號(hào)連接。
更具體的,是在ip核內(nèi)部nscan條掃描鏈和測(cè)試殼掃描鏈的si/so之前先插入選通器,再分別連接到wpi/wpo(si連接wpi,so連接wpo)。
上述nscan×2個(gè)選通器用于在串行內(nèi)部測(cè)試、并行內(nèi)部測(cè)試和并行外部測(cè)試之間選擇。
其中,在ip核內(nèi)部每條掃描鏈的si端插入的選通器的in1端(第二輸入端)接串行測(cè)試輸入接口(例如,前一掃描鏈的so端或cellinput-1的cto),in0端(第一輸入端)接wpi。
例如,請(qǐng)參見圖7,在scanchain1的si端插入的選通器,其in1端接cell3的cto端,in0端接wpi,輸出端接scanchain1的si端。
而在ip核內(nèi)部nscan每條掃描鏈的so端插入的nscan個(gè)選通器,其in1端接測(cè)試殼掃描鏈的
請(qǐng)參見圖7,在scanchain0的so端插入的選通器,其in1端接cell2的cto端,in0端接scanchain0的so端,輸出端接wpo。
在scanchain1的si端插入的選通器,其in1端接cell4的cto端,in0端接scanchain1的so端,輸出端接wpo。
s816,完成wbr_3設(shè)計(jì),跳到s817,結(jié)束設(shè)計(jì)流程。
wbr_3支持的wir指令集為:ws_intest_scan、ws_extest、wp_intest_scan、wp_extest、ws_bypass。
舉例來(lái)講,假定設(shè)計(jì)參數(shù)如下:
ip核功能端口信息:ninput=4,端口名稱為a0、a1、a2、a3,noutput=4,端口名稱為b0、b1、b2、b3,端口排序?yàn)閍0-a1-a2-a3-b3-b2-b1-b0;
ip核內(nèi)部掃描測(cè)試信息:nscan=2;
wbrcell結(jié)構(gòu)如圖1所示;
測(cè)試殼并行訪問(wèn)寬度:wwpp=3;
測(cè)試殼并行掃描鏈長(zhǎng)度:{l1,l2,l3}={3,2,3};
wbr設(shè)計(jì)步驟為:
s801→s802→s803→s804→s805→s810→s811→s812→s814→s815→s816→s817,需要的選通器數(shù)目為8。
如圖7,將上述8個(gè)選通器分別依據(jù)s811、s814和s815所提供的方式插入,圖7中粗線是串行內(nèi)部測(cè)試訪問(wèn)路徑。
需要注意的是,測(cè)試殼并行掃描鏈長(zhǎng)度是根據(jù)nscan來(lái)決定測(cè)試殼掃描鏈分割方式:當(dāng)nscan≠0時(shí),
s817,結(jié)束參數(shù)化wbr設(shè)計(jì)。
本發(fā)明實(shí)施例還要求保護(hù)測(cè)試殼設(shè)計(jì)裝置,圖9示出了上述裝置的一種示例性結(jié)構(gòu),包括:
獲取單元1,用于獲取設(shè)計(jì)參數(shù)。
其中,設(shè)計(jì)參數(shù)包括ip核功能端口信息、ip核內(nèi)部掃描測(cè)試信息、wbrcell結(jié)構(gòu)、測(cè)試殼并行訪問(wèn)寬度和并行外部測(cè)試時(shí)測(cè)試殼并行掃描鏈長(zhǎng)度;其中,所述ip核內(nèi)部掃描測(cè)試信息至少包括掃描鏈數(shù)目;
具體內(nèi)容請(qǐng)參見本文前述記載,在此不作贅述。
設(shè)計(jì)單元2,用于根據(jù)上述設(shè)計(jì)參數(shù)確定測(cè)試殼的輸入輸出端口信息以及連接方式;
具體內(nèi)容請(qǐng)參見本文前述記載,在此不作贅述。
連接單元3,用于使用相應(yīng)的連接方式完成每一wbrcell的連接,將所有wbrcell的移位路徑首尾相連組成測(cè)試殼掃描鏈,以及,當(dāng)選通器的數(shù)目不為0時(shí),使用相應(yīng)的連接方式插入每一選通器。
具體內(nèi)容請(qǐng)參見本文前述記載,在此不作贅述。
結(jié)合本發(fā)明公開內(nèi)容所描述的方法或者算法的步驟,或者上述裝置的單元模塊可以硬件的方式來(lái)實(shí)現(xiàn),也可以是由處理器執(zhí)行軟件指令的方式來(lái)實(shí)現(xiàn)。軟件指令可以由相應(yīng)的軟件模塊組成,軟件模塊可以被存放于ram存儲(chǔ)器、閃存、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤、移動(dòng)硬盤、cd-rom或者本領(lǐng)域熟知的任何其它形式的存儲(chǔ)介質(zhì)中。本領(lǐng)域技術(shù)人員應(yīng)該可以意識(shí)到,在上述一個(gè)或多個(gè)示例中,本發(fā)明所描述的功能可以用硬件、軟件、固件或它們的任意組合來(lái)實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將這些功能存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中或者作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是通用或?qū)S糜?jì)算機(jī)能夠存取的任何可用介質(zhì)。
本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。