ALTECC_DECODER IP核的IEEE 1500 Wrapper設(shè)計(jì)
摘要 IP核的廣泛應(yīng)用提高了電路集成的效率。由于眾多功能各異的IP核集成在電路中,完善的測(cè)試機(jī)制是確保其正常工作的前提。因此,如何對(duì)IP核進(jìn)行測(cè)試成為復(fù)用IP核技術(shù)必須解決的問(wèn)題。IEEE Std 1500提供了IP核的測(cè)試實(shí)現(xiàn)機(jī)制,文中基于IEEE 1500研究如何實(shí)現(xiàn)IP核的Wrapper設(shè)計(jì),實(shí)驗(yàn)以Hamming碼譯碼IP核ALTECC_DECODER為測(cè)試對(duì)象,驗(yàn)證了IEEE 1500 Wrapper可有效地對(duì)IP核進(jìn)行測(cè)試。
本文引用地址:http://2s4d.com/article/201610/308274.htm隨著集成電路規(guī)模的增大,為提高設(shè)計(jì)效率,IP核在電路集成設(shè)計(jì)中得到了廣泛應(yīng)用。盡管IP核復(fù)用能簡(jiǎn)化設(shè)計(jì)流程,避免諸多底層電路的設(shè)計(jì),但I(xiàn)P核集成在電路中后,已無(wú)法直接通過(guò)輸入、輸出端口對(duì)其進(jìn)行測(cè)試,且不同類(lèi)型的IP核給測(cè)試方法設(shè)計(jì)帶來(lái)了困難。因此,如何建立測(cè)試機(jī)制成為IP核復(fù)用技術(shù)必須解決的問(wèn)題。
IEEE Std 1500提供了標(biāo)準(zhǔn)化、可擴(kuò)展的可測(cè)性設(shè)計(jì)方法。在將IP核集成到電路中時(shí),為其設(shè)計(jì)基于IEEE 1500標(biāo)準(zhǔn)的Wrapper,可為集成后的IP核提供標(biāo)準(zhǔn)的測(cè)試接口,同時(shí),IEEE 1500 Wrapper實(shí)現(xiàn)了IP核與互連電路的隔離,這使得IP核的測(cè)試更加方便、安全、高效。
Hamming碼在通信領(lǐng)域應(yīng)用廣泛,原始數(shù)據(jù)碼字在編碼時(shí)被插入若干校驗(yàn)碼,組合后的碼字被發(fā)送給接收方,接收方通過(guò)譯碼即可達(dá)到錯(cuò)誤檢測(cè)的目的。在集成電路中應(yīng)用Hamming碼通信可提高可靠性,Altera公司提供了相應(yīng)的編碼和譯碼IP核:ALTECC_ENCODER、ALTECC_DECODER。本文即以譯碼IP核ALTECC_DECODER為實(shí)驗(yàn)測(cè)試對(duì)象,研究如何針對(duì)IP核設(shè)計(jì)IEEE 1500 Wrapper,以及如何運(yùn)用Wrapper對(duì)IP核進(jìn)行測(cè)試。
1 IEEE 1500 Wrapper硬件結(jié)構(gòu)
IEEE Std 1500規(guī)定的Wrapper硬件結(jié)構(gòu)如圖1所示,其中必須包括的組成結(jié)構(gòu)有:Wrapper邊界寄存器(Wrapper Boundary Register,WBR)、Wrapper指令寄存器(Wrapper Instruction Register,WIR)、Wrapper旁路寄存器(Wrapper Bypass Register,WBY)、Wrapper串行接口(Wrapper Serial Port,WSP);可選設(shè)計(jì)的結(jié)構(gòu)有Wrapper并行測(cè)試接口(Wrapper Parallel Port,WPP)。
1.1 Wrapper接口功能定義
Wrapper接口主要有WSP接口和WPP接口兩類(lèi)。其中,WSP接口包括Wrapper串行輸入端口WSI、Wrapper串行輸出端口WSO、Wrapper串行控制端口WSC;WPP接口包括Wrapper并行輸入端口WPI[m:1]、Wrapper并行輸出端口WPO[n:1]、Wrapper并行控制端口WPC,有關(guān)Wrapper接口的功能定義如表1所示。
由于WPC端口對(duì)并行測(cè)試操作的控制和WSC端口相近,在需要為Wrapper設(shè)計(jì)并行測(cè)試接口WPP時(shí),可省略WPC端口的設(shè)計(jì),相關(guān)并行測(cè)試操作由WSC接口控制。
1.2 WBY設(shè)計(jì)
在測(cè)試過(guò)程中,為達(dá)到節(jié)省測(cè)試時(shí)間的目的,對(duì)于無(wú)需測(cè)試的IP核,可使旁路寄存器WBY在Wrapper中處于有效狀態(tài)。如圖2所示,旁路寄存器WBY串接于WSI—WSO之間,其可為Wrapper提供一條最短的移位路徑,實(shí)現(xiàn)對(duì)WBR鏈的旁路。因此,WBY通常按1 bit移位長(zhǎng)度設(shè)計(jì),但在必要時(shí)可增加移位長(zhǎng)度。
圖2中,WBY_Ins是指選擇WBY連接于WSI—WSO之間的Wrapper指令,D觸發(fā)器FF工作WRCK上升沿,此外,數(shù)據(jù)的移位還需滿足SelectWIR=0,ShiftWR=1的條件。
1.3 WBR設(shè)計(jì)
WBR是Wrapper執(zhí)行測(cè)試操作的最主要執(zhí)行部分,由一個(gè)個(gè)圍繞在IP核輸入、輸出端口的WBR單元組成。WBR單元在響應(yīng)各項(xiàng)測(cè)試操作時(shí),扮演了測(cè)試施加和響應(yīng)捕獲的角色。
文獻(xiàn)給出了典型的WBR單元設(shè)計(jì),但由于設(shè)計(jì)簡(jiǎn)單,在實(shí)際測(cè)試應(yīng)用中存在著安全性、測(cè)試操作不便等問(wèn)題。鑒于WBR單元的設(shè)計(jì)決定著測(cè)試執(zhí)行的效率,諸多文獻(xiàn)均對(duì)其進(jìn)行了設(shè)計(jì)研究。
設(shè)計(jì)的WBR單元結(jié)構(gòu)如圖3所示。Work_Mode信號(hào)決定WBR處于正常工作模式還是測(cè)試模式,其由WRSTN信號(hào)和Wrapper指令控制。存儲(chǔ)單元D1連接于CTI—CTO之間,負(fù)責(zé)響應(yīng)移位和捕獲測(cè)試操作,D1存儲(chǔ)的值即WBR單元的當(dāng)前值。在移位測(cè)試操作時(shí),上一WBR單元的數(shù)據(jù)經(jīng)CTI端移入存儲(chǔ)單元D1,D1中原先的數(shù)據(jù)移入下一WBR單元;在捕獲測(cè)試操作時(shí),CFI端的數(shù)據(jù)被捕獲存儲(chǔ)到D1中。存儲(chǔ)單元D2負(fù)責(zé)更新測(cè)試操作,其將D1存儲(chǔ)的WBR當(dāng)前數(shù)據(jù)更新輸出。本文設(shè)計(jì)的WBR單元在測(cè)試過(guò)程中支持Safe模式和Clamp模式,在Safe模式有效時(shí),WBR單元的CFO輸出預(yù)先設(shè)定的安全值;在Clamp模式有效時(shí),CFO輸出WBR單元的當(dāng)前內(nèi)部數(shù)據(jù)。
1.4 WIR設(shè)計(jì)
指令寄存器WIR用于配置Wripper的測(cè)試狀態(tài),如圖4所示。WIR包括指令碼移位寄存器、指令碼譯碼邏輯和指令更新寄存器,其中指令碼移位寄存器是WSI—WSO之間的一條移位通道。在測(cè)試操作開(kāi)始前,首先令SelectWIR=1,設(shè)置ShiftWR=1,經(jīng)WSI向指令移位寄存器中移入測(cè)試指令碼,或置CaptureWR=1,經(jīng)WIR_PI并行捕獲測(cè)試指令碼。指令碼譯碼邏輯采用組合邏輯設(shè)計(jì),對(duì)當(dāng)前移位寄存器中的數(shù)據(jù)進(jìn)行譯碼。在指令碼移位完成后,令UpdateWR=1執(zhí)行指令更新操作,指令更新寄存器根據(jù)譯碼結(jié)果觸發(fā)新的Wrapper指令有效。
設(shè)計(jì)Wrapper指令的功能定義如表2所示,其中“串行”是指Wrapper中所有WBR單元構(gòu)成一整條WBR鏈并作為WSI和WSO之間的一條移位通道,“并行”是指WBR單元被配置為分段鏈,分別連接于WPI和WPO之間;“內(nèi)測(cè)試”是指Wrapper測(cè)試對(duì)象是內(nèi)部IP核,“外測(cè)試”是指Wrapper測(cè)試對(duì)象是外部互連電路。
2 IP核的Wrapper設(shè)計(jì)
本文測(cè)試對(duì)象是基于Hamming碼規(guī)則的信號(hào)糾錯(cuò)譯碼IP核:ALTECC_DECODER,其作用是實(shí)現(xiàn)Hamming碼的譯碼,并生成伴隨式矢量以檢測(cè)接收碼字中是否存在錯(cuò)誤。ALTECC_ DECODER IP核的端口信號(hào)說(shuō)明,如表3所示。
本文為ALTECC_DECODER IP核設(shè)計(jì)的IEEE1 500 Wrapper,如圖5所示,IP核輸入、輸出端的小方框即為WBR單元。
3 實(shí)驗(yàn)
本文對(duì)ALTECC_DECODER IP核的實(shí)驗(yàn)測(cè)試以接收碼字0000111000100為測(cè)試數(shù)據(jù),驗(yàn)證Wrapper對(duì)IP核的測(cè)試控制能否正常進(jìn)行,并根據(jù)Wrapper的測(cè)試結(jié)果判斷ALTCC_DECOD ER IP核的譯碼是否正確。在WS_INTEST指令下的Modelsim仿真測(cè)試流程圖如圖6所示。
圖6測(cè)試過(guò)程中,測(cè)試數(shù)據(jù)由din[12]→din[11]→* * *→din[0]→clock→aclr的順序構(gòu)成,向輸入端WBR單元先后串行移位輸入的測(cè)試數(shù)據(jù):000011100010000、0000111000 10010,其區(qū)別在于移入clock端WBR單元中的數(shù)據(jù)分別為0和1。測(cè)試數(shù)據(jù)串行移位輸入后經(jīng)過(guò)更新操作,IP核clock端的WBR單元向clock端施加了0到1的激勵(lì)變化,IP核輸出實(shí)驗(yàn)結(jié)果,即譯碼得到的原始碼字,輸出端WBR單元捕獲IP核輸出的結(jié)果后串行移位輸出,串行輸出的數(shù)據(jù)順序?yàn)椋篹rr_fatal→err_cotrected→err_detected→q[0]→q[1]→* * *q[7],實(shí)驗(yàn)測(cè)試結(jié)果,如圖7所示,圖中最后部分即為實(shí)驗(yàn)完成后串行移位輸出結(jié)果。
實(shí)驗(yàn)結(jié)果和根據(jù)Hamming碼編碼規(guī)則得到的理論結(jié)果對(duì)比如表4所示。實(shí)驗(yàn)得到的結(jié)果為11000100,和0000111000100的理論譯碼結(jié)果相同,且標(biāo)記信號(hào)err_detected、err_co rrected、err_fatal的輸出均為0,說(shuō)明本次實(shí)驗(yàn)中ALTECC_DECODER IP核對(duì)接收碼字0000111000100的檢測(cè)結(jié)果無(wú)誤。
綜合實(shí)驗(yàn)分析,為ALTECC_DECODER IP核設(shè)計(jì)的IEEE 1500 Wrapper能正常完成測(cè)試操作,并將測(cè)試結(jié)果移位輸出以供數(shù)據(jù)分析。
4 結(jié)束語(yǔ)
IEEE 1500 Wrapper為集成電路IP核提供了規(guī)范有效的測(cè)試機(jī)制,本文在以Hamming碼譯碼IP核ALTECC_DECODER為測(cè)試對(duì)象,研究如何實(shí)現(xiàn)IP核的Wrapper設(shè)計(jì)。文中針對(duì)目前文獻(xiàn)中WBR存在的不足,設(shè)計(jì)了功能更加完善的WBR單元,能夠更好地滿足測(cè)試需要。
評(píng)論