本發(fā)明屬于集成電路領(lǐng)域,涉及一種針對反熔絲FPGA的微探針實時動態(tài)測試電路,特別的是通過這種結(jié)構(gòu)形式,可以使反熔絲FPGA的測試方式更加靈活多變,大大提高芯片的測試效率與可測性,該微探針設(shè)計應(yīng)該具有很高的覆蓋性,可以偵測任意電路節(jié)點。
背景技術(shù):
FPGA即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA芯片內(nèi)部有著豐富的布線資源,布線資源連通FPGA內(nèi)部的所有單元,而連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。
傳統(tǒng)上,F(xiàn)PGA的應(yīng)用在很大程度上受到通信市場主導(dǎo),但隨著工業(yè)智能化、汽車電子化以及物聯(lián)網(wǎng)的發(fā)展,對具備靈活可編程特性的FPGA需求大增。但普通的FPGA不能承受高能量粒子的撞擊,無法應(yīng)對軍工,甚至是航空航天的嚴(yán)格環(huán)境。
反熔絲型FPGA以其低功耗、非易失性、抗輻射性、百分百可測性等優(yōu)點,在航空航天、衛(wèi)星系統(tǒng)等高可靠領(lǐng)域,受到了越來越廣泛的應(yīng)用。目前,國內(nèi)在這一領(lǐng)域仍處以初創(chuàng)階段,對反熔絲型系列FPGA的研究已刻不容緩。然而,集成電路在設(shè)計和生產(chǎn)的過程中,芯片的測試是不可缺少的一個環(huán)節(jié),其目的就是要預(yù)先發(fā)現(xiàn)并且定位集成電路中的設(shè)計缺陷。不同于印刷板電路可以直接 通過萬用表、示波器等測試儀器很容易地對電路中電阻電容等參數(shù)進(jìn)行測量評估,集成電路的測試很難直接對芯片內(nèi)部電路的工作狀態(tài)進(jìn)行偵測,一般都是通過輸入輸出引腳的行為來推測驗證芯片的工作情況。隨著集成電路的飛速發(fā)展,芯片的集成度日益提高,電路設(shè)計的復(fù)雜程度不斷提升,對集成電路的測試要求也越來越高,早先對芯片直接測試的方法已不能滿足大規(guī)模集成電路的測試需求,因而必須在集成電路的設(shè)計和生產(chǎn)過程中引入可測性設(shè)計。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種全新的測試方法,以解決或改善上述一個或多個問題。
本發(fā)明鑒于上述情況,設(shè)計出一種針對反熔絲FPGA的微探針實時動態(tài)測試電路,不僅輔助了芯片的數(shù)字功能實現(xiàn),而且有效地保證了芯片的生產(chǎn)良率。借用模擬設(shè)計的思想提出了一個實時動態(tài)測試設(shè)計方案,使用戶在反熔絲FPGA編程結(jié)束后的應(yīng)用階段實現(xiàn)對芯片內(nèi)部任意電路節(jié)點的偵測,從而判斷芯片的功能是否正確。這種動態(tài)測試電路結(jié)構(gòu)對芯片資源的占有率很小,并且涉及很少的數(shù)字化電路模塊,通過借用模擬設(shè)計的思想充分簡化電路結(jié)構(gòu)、優(yōu)化電路性能,使其可以正常并且高效地工作。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的動態(tài)測試電路系統(tǒng)陣列框圖
圖2為本發(fā)明的動態(tài)測試電路原理圖
圖3依據(jù)本發(fā)明原則的第一個實例原理圖
圖4依據(jù)本發(fā)明原則的第二個實例原理圖
圖5依據(jù)本發(fā)明原則的第三個實例原理圖
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明的動態(tài)測試電路系統(tǒng)陣列框圖。在反熔絲FPGA的邏輯陣列中,每一個邏輯模塊LB的輸出端都帶有一個偵測電路結(jié)構(gòu),用于偵測邏輯模塊的輸出信號,在圖中用黑色正方形圖案表示。由于反熔絲FPGA具有很高的集成度,每一個邏輯模塊相當(dāng)于一顆小細(xì)粒,相應(yīng)地,偵測電路結(jié)構(gòu)也可以看作一根微細(xì)的探針,因而,我們把這種偵測電路結(jié)構(gòu)叫做“微探針”電路。除了邏輯模塊的輸出端帶有“微探針”結(jié)構(gòu),IO模塊的輸出信號也可以用“微探針”電路進(jìn)行偵測,以便驗證IO模塊的功能是否正確。我們可以在反熔絲FPGA的動態(tài)測試設(shè)計的體系結(jié)構(gòu)中,設(shè)置兩個測試信號輸出電路模塊,一個叫做PRA模塊,一個叫做PRB模塊,分別與芯片的兩個特殊引腳PRA、PRB相連,通過這兩個特殊引腳來偵測芯片內(nèi)部電路任意模塊的輸出信號。相應(yīng)地,“微探針”電路偵測到的輸出信號也可以通過兩種路徑傳送到動態(tài)測試設(shè)計的輸出模塊中去。這樣設(shè)計的好處是可以給用戶提供三個可選的動態(tài)測試方案,第一種是只用PRA 引腳對內(nèi)部電路模塊進(jìn)行偵測,第二種是只用PRB引腳對內(nèi)部電路模塊進(jìn)行偵測,第三種是同時啟用PRA、PRB引腳對內(nèi)部電路模塊進(jìn)行偵測。第三種方案可以提高芯片的測試效率。反熔絲FPGA在進(jìn)行動態(tài)測試時,同一時間最多只能對兩個電路節(jié)點進(jìn)行偵測,因而需要對期望檢測的內(nèi)部電路模塊進(jìn)行尋址定位。
圖2為本發(fā)明的動態(tài)測試電路原理圖。由四個MOS管m1、m2、m3和m4組成。m1的柵極與邏輯模塊的輸出端相連,用于偵測邏輯模塊的輸出信號。若邏輯模塊的輸出信號為高電平,則m1被打開,低電平會被傳送到“微探針”的輸出端;若邏輯模塊的輸出信號為低電平,則m1被關(guān)斷,“微探針”電路的輸出信號為高阻態(tài),具體的偵測信號結(jié)果由動態(tài)測試電路的其它部分決定。m2的柵極由數(shù)據(jù)寄存器a鏈2控制,用作行選信號。當(dāng)數(shù)據(jù)寄存器a鏈2的輸出信號為高電平時,m2被打開,說明選擇輸出這一行的偵測信號;當(dāng)數(shù)據(jù)寄存器a鏈2的輸出信號為低電平時,m2被關(guān)斷,說明不用選擇輸出這一行的偵測信號。同樣地,m4的柵極由數(shù)據(jù)寄存器a鏈1控制,用作列選信號。當(dāng)數(shù)據(jù)寄存器a鏈1的輸出信號為高電平時,m4被打開,說明選擇輸出這一列的偵測信號;當(dāng)數(shù)據(jù)寄存器a鏈1的輸出信號為低電平時,m4被關(guān)斷,說明不用選擇輸出這一列的偵測信號。當(dāng)需要偵測特定的邏輯模塊的輸出信號時,通過數(shù)據(jù)寄存器a鏈1和a鏈2選擇輸出相應(yīng)的行與列的偵測信號,即可完成對待偵測模塊的定位。m3的作用是將微探針電路輸出路徑上多余的電荷給泄放掉。一般地,每完成一次信號的偵測,“微探針”電路輸出線上可能會殘留一些多余的電荷,為了不影響下一個信號的偵測結(jié)果,需要預(yù)先開啟MOS管m3,將多余的電荷給泄放掉。m3的柵極控制信號ctrl可以通過反熔絲FPGA的控制電路模塊來提供。每一個“微探針”電路的輸出端最后都與動態(tài)測試電路的輸出模塊相連。
圖3為依據(jù)本發(fā)明原則的第一個實例原理圖。由于邏輯模塊LB1、LB2和LB3
圖3為依據(jù)本發(fā)明原則的第一個實例原理圖。由于邏輯模塊LB1、LB2和LB3在芯片中位于不同的列,LB1輸出端的偵測信號通過“微探針”電路結(jié)構(gòu)傳送到第1列的輸出線上,LB2輸出端的偵測信號通過“微探針”電路結(jié)構(gòu)傳送到第2列的輸出線上,LB3輸出端的偵測信號通過“微探針”電路結(jié)構(gòu)傳送到第3列的輸出線上。又因為邏輯模塊LB1、LB2和LB3在芯片中位于相同的行,用于偵測它們輸出信號的“微探針”電路的行選開關(guān)只需要通過一個數(shù)據(jù)寄存器a鏈2控制即可。當(dāng)數(shù)據(jù)寄存器a鏈2把“微探針”電路的行選開關(guān)打開后,LB1、LB2和LB3輸出端的偵測信號才能傳送到下一級電路結(jié)構(gòu)中。數(shù)據(jù)寄存器a鏈1用于選擇不同列的偵測信號,總共有三個數(shù)據(jù)寄存器a鏈1,它們的輸出信號sel1、sel2、sel3分別用于控制選擇第1列、第2列、第3列的偵測信號。若我們需要偵測第1列的輸出信號,則通過控制第1列中的數(shù)據(jù)寄存器a鏈1,使得sel1信號為高電平,相應(yīng)的測試路徑就會被打開,偵測信號就會被傳送到“微探針”電路的輸出端。不同列的偵測信號的輸出端連接在一根公共線上,控制相應(yīng)列的數(shù)據(jù)寄存器a鏈1就可以選擇這一列的偵測信號作為輸出信號。另外,所有列中充當(dāng)泄放電路結(jié)構(gòu)的MOS管的柵極控制信號都來源于同一個控制信號ctrl,當(dāng)ctrl為高電平時,可以很方便地把所有列中多余的電荷給泄放掉,從而為下一次信號的偵測做好準(zhǔn)備。
圖4為依據(jù)本發(fā)明原則的第二個實例原理圖。邏輯模塊LB輸出信號為高電平,通過數(shù)據(jù)寄存器a鏈1和a鏈2打開相應(yīng)的通路晶體管,“微探針”電路得到的偵測信號SENSE被N管m1拉到低電平。此時,動態(tài)測試電路已經(jīng)開始對芯片內(nèi)部邏輯節(jié)點進(jìn)行偵測,使能控制信號EN為高電平。使能控制信號EN經(jīng)過兩級反相器后仍為高電平,而經(jīng)過“微探針”電路傳輸過來的SENSE信號為低電平,因而在輸出級電路模塊第二級反相器的輸出節(jié)點就會發(fā)生高電平和低 試電路的輸出結(jié)果與邏輯模塊的輸出信號一致,在解決偵測信號SENSE和使能信號EN的電平驅(qū)動沖突問題時,需要使SENSE信號仍然保持低電平,不被使能信號EN所影響而發(fā)生改變,這樣SENSE信號在經(jīng)過三級反相器后,測試電路的輸出結(jié)果就會為高電平。由于數(shù)據(jù)寄存器a鏈1和a鏈2的控制作用,m2和m4一直處于導(dǎo)通的狀態(tài),“微探針”電路中的N管m1對SENSE信號有一個下拉作用,而反饋電路結(jié)構(gòu)中P管m10由于高電平使能控制信號EN經(jīng)過三級反相器作用在其柵極上,所以m10對SENSE信號也有一個下拉作用。雖然輸出電路中第二級反相器中的P管m5對SENSE信號有一個上拉作用,但由于m1和m10的寬長比要大于m5的寬長比,因而m1和m10的整體下拉能力要大于m5的上拉能力,輸出級電路第二級反相器輸出節(jié)點的電平則會被拉到低電平狀態(tài),不受高電平使能控制信號EN的影響,從而測試電路最后的輸出結(jié)果為高電平,保證了測試電路的輸出結(jié)果與邏輯模塊的輸出信號一致。
圖5為依據(jù)本發(fā)明原則的第三個實例原理圖。四個邏輯模塊LB1、LB2、LB3和LB4的輸出信號分別用不同周期的方波信號表示,以示區(qū)別。row_ctrl1為第一行邏輯模塊LB1和LB2的行選擇信號,row_ctrl2為第二行邏輯模塊LB3和LB4的行選擇信號。col_ctrl1為第一列邏輯模塊LB1和LB3的列選擇信號,col_ctrl2為第二列邏輯模塊LB2和LB4的列選擇信號。通過這四個行列選擇信號的控制,就可以定位待偵測的邏輯模塊的輸出信號。ctrl信號在仿真時為0V的低電平,用于泄放多余電荷的晶體管處于關(guān)斷狀態(tài)。使能控制信號EN為5V的高電平,表示測試電路正在對芯片內(nèi)部邏輯節(jié)點進(jìn)行偵測。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其 中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。