一種帶有保護(hù)模塊的jtag電路的制作方法
【專利摘要】一種帶有保護(hù)模塊的JTAG電路,包括TAP控制器、指令寄存器、指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器、TDO電路,以及輸入端口和輸出端口,該電路在IEEE?1149.1標(biāo)準(zhǔn)的基礎(chǔ)上,新增了鎖定指令和解鎖指令,通過代碼識別方式實(shí)現(xiàn)JTAG電路鎖定和解鎖控制,防止非法用戶對JTAG電路的控制,可以有效提高JTAG電路的安全性,防止外界通過JTAG電路對芯片系統(tǒng)進(jìn)行攻擊,本發(fā)明可以與IEEE?1149.1標(biāo)準(zhǔn)完全兼容,且硬件花銷小。
【專利說明】一種帶有保護(hù)模塊的JTAG電路
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路領(lǐng)域,特別涉及一種帶有保護(hù)模塊的JTAG電路,適用于應(yīng)用IEEE 1149.1標(biāo)準(zhǔn)的所有芯片。
【背景技術(shù)】
[0002]JTAG電路即邊界掃描電路,基本都是在IEEE 1149.1標(biāo)準(zhǔn)的基礎(chǔ)上實(shí)現(xiàn)的,一些基于IEEE 1149.4, IEEE 1149.5, IEEE 1149.6, IEEE 1532等標(biāo)準(zhǔn)所實(shí)現(xiàn)的電路也是以IEEE 1149.1標(biāo)準(zhǔn)為基礎(chǔ)?;贗EEE 1149.1標(biāo)準(zhǔn)的JTAG電路廣泛應(yīng)用于器件級、板級及系統(tǒng)級的測試和調(diào)試中。
[0003]在提供測試和調(diào)試便利性的同時,因?yàn)镴TAG本身的特點(diǎn),非法用戶可以通過JTAG電路對芯片造成攻擊。其中的一個場景是取得JTAG管腳控制權(quán)后,執(zhí)行INTEST指令,通過所有可能的輸入變量,監(jiān)測輸出結(jié)果從而推演芯片執(zhí)行的功能。另一個普遍的場景是在JTAG串聯(lián)型的多芯片系統(tǒng)中,通過控制某一個或某幾個芯片,對目標(biāo)芯片進(jìn)行功能復(fù)制或破壞等。隨著芯片、系統(tǒng)的復(fù)雜度提高,JTAG的安全性問題越加突出,因此需要提高JTAG電路的安全性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種帶有保護(hù)模塊的JTAG電路,該電路在IEEE 1149.1標(biāo)準(zhǔn)的基礎(chǔ)上,新增了鎖定指令和解鎖指令,通過代碼識別方式實(shí)現(xiàn)JTAG電路鎖定和解鎖控制,防止非法用戶對JTAG電路的控制,可以有效提高JTAG電路的安全性,防止外界通過JTAG電路對芯片系統(tǒng)進(jìn)行攻擊,本發(fā)明可以與IEEE 1149.1標(biāo)準(zhǔn)完全兼容,且硬件花銷小。
[0005]本發(fā)明的上述目的主要是通過如下技術(shù)方案予以實(shí)現(xiàn)的:
[0006]一種帶有保護(hù)模塊的JTAG電路,包括TAP控制器、指令寄存器、指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器、TDO電路,以及輸入端口和輸出端Π:
[0007]TAP控制器根據(jù)外部輸入的模式選擇數(shù)據(jù)和時鐘信號,生成狀態(tài)轉(zhuǎn)移控制信號,將所述狀態(tài)轉(zhuǎn)移控制信號發(fā)送到指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器和邊界掃描寄存器;
[0008]指令寄存器接收外部輸入的串行指令數(shù)據(jù),對所述串行指令數(shù)據(jù)進(jìn)行串并變換,輸出并行指令數(shù)據(jù)到指令譯碼器;同時將接收到的串行指令數(shù)據(jù)傳送到TDO電路;
[0009]指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行指令數(shù)據(jù),對所述并行指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行指令數(shù)據(jù),生成模式選擇信號,根據(jù)所述模式選擇信號,在保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器中選擇一個作為目標(biāo)模塊,發(fā)送控制信號A到所述目標(biāo)模塊,并將所述模式選擇信號發(fā)送到TDO電路;
[0010]保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作;包括控制緩沖寄存器組、鎖定寄存器組、解鎖寄存器組和比較電路,其中:
[0011]控制緩沖寄存器組接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和外部輸入的數(shù)據(jù)代碼,根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;如果解鎖寄存器組處于使能狀態(tài),則將移位操作后的數(shù)據(jù)代碼發(fā)送到解鎖寄存器組,如果鎖定寄存器組處于使能狀態(tài),則將移位操作后的數(shù)據(jù)代碼發(fā)送到鎖定寄存器組;并在控制緩沖寄存器組使能狀態(tài)下生成電路保護(hù)標(biāo)識信號,并將所述標(biāo)識信號發(fā)送到TDO電路;
[0012]鎖定寄存器組接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和控制緩沖寄存器組發(fā)送的數(shù)據(jù)代碼,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移入并存儲,并將所述存儲的代碼數(shù)據(jù)發(fā)送到比較電路;
[0013]解鎖寄存器組接收指令譯碼器發(fā)送的控制信號A,如果JTAG電路進(jìn)行電路鎖定操作,則在指令譯碼器控制信號A的指示下進(jìn)行清零,如果JTAG電路進(jìn)行電路解鎖操作,接收指令譯碼器控制信號A進(jìn)行使能,并接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和控制緩沖寄存器組發(fā)送的數(shù)據(jù)代碼,然后在指令譯碼器控制信號A指示下,根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成數(shù)據(jù)代碼移入并存儲,并將所述存儲的代碼數(shù)據(jù)發(fā)送到比較電路;
[0014]比較電路接收鎖定寄存器組和解鎖寄存器組發(fā)送的數(shù)據(jù)代碼,并對所述兩路數(shù)據(jù)代碼進(jìn)行比較,如果兩路數(shù)據(jù)代碼相同,則發(fā)送解鎖控制信號到指令譯碼器,如果兩路數(shù)據(jù)代碼不同,則發(fā)送鎖定控制信號到指令譯碼器;
[0015]BYPASS寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號和外部輸入的數(shù)據(jù),在狀態(tài)轉(zhuǎn)移信號的控制下將所述數(shù)據(jù)延遲一個時鐘周期后輸出到TDO電路;
[0016]器件ID寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,并在狀態(tài)轉(zhuǎn)移信號的控制下,讀取器件ID寄存器內(nèi)存放的外部系統(tǒng)電路的標(biāo)識碼,將所述標(biāo)識碼發(fā)送到TDO電路;
[0017]邊界掃描寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號和外部輸入的數(shù)據(jù),對所述數(shù)據(jù)進(jìn)行測試處理后,輸出測試數(shù)據(jù)到TDO電路;
[0018]TDO電路接收指令寄存器發(fā)送的串行指令數(shù)據(jù)、指令譯碼器發(fā)送的模式選擇信號、保護(hù)模塊中控制緩沖寄存器組發(fā)送的電路保護(hù)標(biāo)識信號、BYPASS寄存器發(fā)送的延遲輸出數(shù)據(jù)、器件ID寄存器發(fā)送的外部系統(tǒng)電路的標(biāo)識碼、邊界掃描寄存器發(fā)送的測試數(shù)據(jù);根據(jù)所述模式選擇信號控制TDO電路中的多路選擇器,使輸入端口與輸出端口之間通過一個模塊形成工作閉環(huán),所述模塊為指令寄存器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器或邊界掃描寄存器;
[0019]當(dāng)所述模塊為指令寄存器時,輸入端口經(jīng)指令寄存器與輸出端口形成工作閉環(huán),輸出串行指令數(shù)據(jù);
[0020]當(dāng)所述模塊為保護(hù)模塊時,輸入端口經(jīng)保護(hù)模塊與輸出端口形成工作閉環(huán),輸出電路保護(hù)標(biāo)識信號;
[0021]當(dāng)所述模塊為BYPASS寄存器時,輸入端口經(jīng)BYPASS寄存器與輸出端口形成工作閉環(huán),輸出延遲輸出數(shù)據(jù);
[0022]當(dāng)所述模塊為器件ID寄存器時,輸入端口經(jīng)器件ID寄存器與輸出端口形成工作閉環(huán),輸出外部系統(tǒng)電路的標(biāo)識碼;
[0023]當(dāng)所述模塊為邊界掃描寄存器時,輸入端口經(jīng)邊界掃描寄存器與輸出端口形成工作閉環(huán),輸出測試數(shù)據(jù);
[0024]在上述的帶有保護(hù)模塊的JTAG電路中,保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作,其中:
[0025]JTAG電路鎖定操作具體操作過程如下:
[0026](I)指令寄存器接收外部輸入的鎖定指令,并對所述鎖定指令完成串并變換,輸出并行鎖定指令數(shù)據(jù)到指令譯碼器;
[0027](2)指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行鎖定指令數(shù)據(jù),對所述并行鎖定指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行鎖定指令數(shù)據(jù),生成模式選擇信號,在所述模式選擇信號控制下,發(fā)送控制信號A對保護(hù)模塊中的控制緩沖寄存器組和鎖定寄存器組進(jìn)行使能,并發(fā)送控制信號A對解鎖寄存器組進(jìn)行清零;
[0028](3)控制緩沖寄存器組接收外部輸入的數(shù)據(jù)代碼,并根據(jù)TAP發(fā)送的狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;并將移位操作后的數(shù)據(jù)代碼發(fā)送到鎖定寄存器組;
[0029](4)將解鎖寄存器組和鎖定寄存器組中保存的數(shù)據(jù)發(fā)送到比較電路,經(jīng)比較電路進(jìn)行數(shù)據(jù)比較后,判定解鎖寄存器組和鎖定寄存器組中存儲的數(shù)據(jù)不同,發(fā)送鎖定控制信號到指令譯碼器;
[0030](5)指令譯碼器根據(jù)鎖定控制信號,生成模式選擇信號,在未接收到解鎖控制信號之前,只對BYPASS寄存器進(jìn)行使能,使輸入端口經(jīng)BYPASS寄存器與輸出端口間形成工作閉環(huán),其中BYPASS寄存器經(jīng)過輸入端口接收數(shù)據(jù),根據(jù)TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,將接收到的數(shù)據(jù)延遲一個時鐘周期輸出到TDO電路,并經(jīng)輸出端口輸出;
[0031]JTAG電路解鎖操作的具體操作過程如下:
[0032](I)指令寄存器接收外部輸入的解鎖指令,并對所述解鎖指令完成串并變換,輸出并行解鎖指令數(shù)據(jù)到指令譯碼器;
[0033](2)指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行解鎖指令數(shù)據(jù),對所述并行解鎖指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行解鎖指令數(shù)據(jù),生成模式選擇信號,在所述模式選擇信號控制下,發(fā)送控制信號A到保護(hù)模塊中的控制緩沖寄存器組和解鎖寄存器組進(jìn)行使能;
[0034](3)控制緩沖寄存器組接收外部輸入的數(shù)據(jù)代碼,并根據(jù)TAP發(fā)送的狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;并將移位操作后的數(shù)據(jù)代碼發(fā)送到解鎖寄存器組;
[0035](4)將解鎖寄存器組和鎖定寄存器組中保存的數(shù)據(jù)發(fā)送到比較電路,經(jīng)比較電路進(jìn)行數(shù)據(jù)比較后,判定解鎖寄存器組和鎖定寄存器組中存儲的數(shù)據(jù)相同,發(fā)送解鎖控制信號到指令譯碼器;
[0036](5)指令譯碼器根據(jù)接收到的解鎖控制信號,解除對模式選擇信號的鎖定,按照正常工作狀態(tài)進(jìn)行模式選擇信號生成;
[0037]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
[0038](I)本發(fā)明在JTAG電路中增加保護(hù)模塊,其中保護(hù)模塊包括控制緩沖寄存器組、鎖定寄存器組、解鎖寄存器組和比較電路,保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作,提高JTAG電路的安全性,可以防止外界通過JTAG電路對芯片系統(tǒng)進(jìn)行攻擊;特別是在通信、國防領(lǐng)域,現(xiàn)場可編程門陣列(FPGA)及其配置芯片(PROM)組成的電子系統(tǒng)經(jīng)常需要通過JTAG電路端口進(jìn)行遠(yuǎn)程FPGA動態(tài)重配置,以實(shí)現(xiàn)分時復(fù)用功能,本發(fā)明的帶用保護(hù)模塊的JTAG電路可以有效避免FPGA和PROM芯片被遠(yuǎn)程惡意控制。
[0039](2)本發(fā)明在IEEE 1149.1標(biāo)準(zhǔn)的基礎(chǔ)上,新增了鎖定指令和解鎖指令,通過代碼識別方式實(shí)現(xiàn)JTAG電路鎖定和解鎖控制,防止非法用戶對JTAG電路的控制,可以與IEEE1149.1標(biāo)準(zhǔn)完全兼容,且硬件花銷小。
【專利附圖】
【附圖說明】
[0040]圖1為本發(fā)明JTAG電路的組成框圖;
[0041]圖2為本發(fā)明JTAG電路中保護(hù)模塊的組成框圖。
【具體實(shí)施方式】
[0042]如圖1所示為本發(fā)明JTAG電路的組成框圖,由圖可知本發(fā)明帶有保護(hù)模塊的JTAG電路包括TAP控制器、指令寄存器、指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器、TDO電路,以及TDI端口、TMS端口、TCK端口和TDO端口,其中:
[0043]TDI端口、TMS端口、TCK端口為JTAG電路的輸入端口,TDO端口為JTAG電路的輸出端口 ;
[0044]TAP控制器根據(jù)TMS端口輸入的模式選擇數(shù)據(jù)和TCK端口輸入的時鐘信號,生成狀態(tài)轉(zhuǎn)移控制信號,將所述狀態(tài)轉(zhuǎn)移控制信號發(fā)送到指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器;
[0045]指令寄存器接收經(jīng)TDI端口輸入的串行指令數(shù)據(jù),對所述串行指令數(shù)據(jù)進(jìn)行串并變換,輸出并行指令數(shù)據(jù)到指令譯碼器;并將接收到串行指令數(shù)據(jù)傳送到TDO電路;
[0046]指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行指令數(shù)據(jù),對所述并行指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行指令數(shù)據(jù),生成模式選擇信號,根據(jù)所述模式選擇信號,在保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器中選擇一個作為目標(biāo)模塊,發(fā)送控制信號A到所述目標(biāo)模塊,并將所述模式選擇信號發(fā)送到TDO電路;如果根據(jù)模式選擇信號選定BYPASS寄存器進(jìn)行工作,則發(fā)送控制信號A對BYPASS寄存器進(jìn)行使能,保護(hù)模塊、器件ID寄存器、邊界掃描寄存器處于非工作狀態(tài),傳送給TDO電路的模式選擇信號控制TDO電路中多路選擇器選擇BYPASS寄存器與TDO輸出電路連接,從而在TDI輸入到TDO輸出之間形成一個工作閉環(huán);
[0047]保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作;如圖2所示為本發(fā)明JTAG電路中保護(hù)模塊的組成框圖,由圖可知保護(hù)模塊包括控制緩沖寄存器組、鎖定寄存器組、解鎖寄存器組和比較電路,其中:
[0048]當(dāng)指令譯碼器選擇保護(hù)模塊作為目標(biāo)模塊發(fā)送控制信號A時,控制緩沖寄存器組接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和經(jīng)TDI端口輸入的數(shù)據(jù)代碼,所述狀態(tài)轉(zhuǎn)移控制信號包括時鐘信號、清零控制信號、代碼移位控制信號,根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;如果解鎖寄存器組處于使能狀態(tài),則將移位操作后的數(shù)據(jù)代碼發(fā)送到解鎖寄存器組,如果鎖定寄存器組處于使能狀態(tài),則將移位操作后的數(shù)據(jù)代碼發(fā)送到鎖定寄存器組;并在控制緩沖寄存器組使能狀態(tài)下生成電路保護(hù)標(biāo)識信號,并將所述標(biāo)識信號發(fā)送到TDO電路;
[0049]當(dāng)指令譯碼器選擇保護(hù)模塊作為目標(biāo)模塊發(fā)送控制信號A時,并且在保護(hù)模塊執(zhí)行鎖定操作過程中,鎖定寄存器組接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和控制緩沖寄存器組發(fā)送的數(shù)據(jù)代碼,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移入并存儲,并將所述存儲的代碼數(shù)據(jù)發(fā)送到比較電路;
[0050]當(dāng)指令譯碼器選擇保護(hù)模塊作為目標(biāo)模塊發(fā)送控制信號A時,解鎖寄存器組接收指令譯碼器發(fā)送的控制信號A,如果JTAG電路進(jìn)行電路鎖定操作,則在指令譯碼器控制信號A的指示下進(jìn)行清零,如果JTAG電路進(jìn)行電路解鎖操作,接收指令譯碼器控制信號A進(jìn)行使能,并接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和控制緩沖寄存器組發(fā)送的數(shù)據(jù)代碼,然后在指令譯碼器控制信號A指示下,根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成數(shù)據(jù)代碼移入并存儲,并將所述存儲的代碼數(shù)據(jù)發(fā)送到比較電路;
[0051]比較電路接收鎖定寄存器組和解鎖寄存器組發(fā)送的數(shù)據(jù)代碼,并對所述兩路數(shù)據(jù)代碼進(jìn)行比較,如果兩路數(shù)據(jù)代碼相同,則發(fā)送解鎖控制信號到指令譯碼器,如果兩路數(shù)據(jù)代碼不同,則發(fā)送鎖定控制信號到指令譯碼器;
[0052]當(dāng)指令譯碼器選擇BYPASS寄存器作為目標(biāo)模塊發(fā)送控制信號A時,BYPASS寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,并經(jīng)過TDI端口接收數(shù)據(jù),在狀態(tài)轉(zhuǎn)移信號的控制下將所述數(shù)據(jù)延遲一個時鐘周期后輸出到TDO電路;
[0053]當(dāng)指令譯碼器選擇器件ID寄存器作為目標(biāo)模塊發(fā)送控制信號A時,器件ID寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,并在狀態(tài)轉(zhuǎn)移信號的控制下,讀取器件ID寄存器內(nèi)存放的外部系統(tǒng)電路的標(biāo)識碼,將所述標(biāo)識碼發(fā)送到TDO電路;
[0054]當(dāng)指令譯碼器選擇邊界掃描寄存器作為目標(biāo)模塊發(fā)送控制信號A時,邊界掃描寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號和經(jīng)TDI端口輸入的數(shù)據(jù),對所述數(shù)據(jù)進(jìn)行測試處理后,輸出測試數(shù)據(jù)到TDO電路;
[0055]TDO電路接收指令寄存器發(fā)送的串行指令數(shù)據(jù)、指令譯碼器發(fā)送的模式選擇信號、保護(hù)模塊中控制緩沖寄存器組發(fā)送的電路保護(hù)標(biāo)識信號、BYPASS寄存器發(fā)送的延遲輸出數(shù)據(jù)、器件ID寄存器發(fā)送的外部系統(tǒng)電路的標(biāo)識碼、邊界掃描寄存器發(fā)送的測試數(shù)據(jù);根據(jù)所述模式選擇信號控制TDO電路中的多路選擇器,使TDI端口與TDO端口之間通過一個模塊形成工作閉環(huán),所述模塊包括:
[0056](a)指令寄存器;
[0057](b)保護(hù)模塊;
[0058](c) BYPASS 寄存器;
[0059](d)器件ID寄存器;
[0060](e)邊界掃描寄存器;
[0061]在所述的五種工作閉環(huán)狀態(tài)中,將TDO電路接收的數(shù)據(jù)經(jīng)過TDO端口輸出,其中:
[0062](a)在TDI端口經(jīng)指令寄存器與TDO端口形成工作閉環(huán)時,經(jīng)TDO端口輸出串行指令數(shù)據(jù);
[0063](b)在TDI端口經(jīng)保護(hù)模塊與TDO端口形成工作閉環(huán)時,經(jīng)TDO端口輸出電路保護(hù)標(biāo)識信號;
[0064](c)在TDI端口經(jīng)BYPASS寄存器與TDO端口形成工作閉環(huán)時,經(jīng)TDO端口輸出延遲輸出數(shù)據(jù);
[0065](d)在TDI端口經(jīng)器件ID寄存器與TDO端口形成工作閉環(huán)時,經(jīng)TDO端口輸出外部系統(tǒng)電路的標(biāo)識碼;
[0066](e)在TDI端口經(jīng)邊界掃描寄存器與TDO端口形成工作閉環(huán)時,經(jīng)TDO端口輸出測試數(shù)據(jù);
[0067]本發(fā)明帶有保護(hù)模塊的JTAG電路中,保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作,其中:
[0068]JTAG電路鎖定操作具體操作過程如下:
[0069](I)指令寄存器接收TDI端口輸入的鎖定指令,并對所述鎖定指令完成串并變換,輸出并行鎖定指令數(shù)據(jù)到指令譯碼器;
[0070](2)指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行鎖定指令數(shù)據(jù),對所述并行鎖定指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行鎖定指令數(shù)據(jù),生成模式選擇信號,在所述模式選擇信號控制下,發(fā)送控制信號A對保護(hù)模塊中的控制緩沖寄存器組和鎖定寄存器組進(jìn)行使能,并發(fā)送控制信號A對解鎖寄存器組進(jìn)行清零;
[0071](3)控制緩沖寄存器組接收經(jīng)TDI端口輸入的數(shù)據(jù)代碼,并根據(jù)TAP發(fā)送的狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;并將移位操作后的數(shù)據(jù)代碼發(fā)送到鎖定寄存器組;
[0072](4)將解鎖寄存器組和鎖定寄存器組中保存的數(shù)據(jù)發(fā)送到比較電路,由于解鎖寄存器組已進(jìn)行了清零操作,而鎖定寄存器組中保存的是經(jīng)TDI端口輸入的數(shù)據(jù)代碼,因此兩個寄存器組中的數(shù)據(jù)完全不同,經(jīng)比較電路進(jìn)行數(shù)據(jù)比較后,判定解鎖寄存器組和鎖定寄存器組中存儲的數(shù)據(jù)不同,發(fā)送鎖定控制信號到指令譯碼器;
[0073](5)指令譯碼器根據(jù)鎖定控制信號,生成模式選擇信號,在未接收到解鎖控制信號之前,只對BYPASS寄存器進(jìn)行使能,使輸入端口經(jīng)BYPASS寄存器與輸出端口間形成工作閉環(huán),其中BYPASS寄存器經(jīng)過TDI端口接收數(shù)據(jù),根據(jù)TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,將接收到的數(shù)據(jù)延遲一個時鐘周期輸出到TDO電路,并經(jīng)TDO端口輸出。
[0074]JTAG電路解鎖操作的具體操作過程如下:
[0075](I)指令寄存器接收TDI端口輸入的解鎖指令,并對所述解鎖指令完成串并變換,輸出并行解鎖指令數(shù)據(jù)到指令譯碼器;
[0076](2)指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行解鎖指令數(shù)據(jù),對所述并行解鎖指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行解鎖指令數(shù)據(jù),生成模式選擇信號,在所述模式選擇信號控制下,發(fā)送控制信號A到保護(hù)模塊中的控制緩沖寄存器組和解鎖寄存器組進(jìn)行使能;
[0077](3)控制緩沖寄存器組通過TDI端口輸入的數(shù)據(jù)代碼,并根據(jù)TAP發(fā)送的狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;并將移位操作后的數(shù)據(jù)代碼發(fā)送到解鎖寄存器組;
[0078](4)將解鎖寄存器組和鎖定寄存器組中保存的數(shù)據(jù)發(fā)送到比較電路,由于鎖定寄存器組在鎖定狀態(tài)下已保存了數(shù)據(jù)代碼,與解鎖寄存器組中重新存入的數(shù)據(jù)代碼相同,經(jīng)比較電路進(jìn)行數(shù)據(jù)比較后,判定解鎖寄存器組和鎖定寄存器組中存儲的數(shù)據(jù)相同,發(fā)送解鎖控制信號到指令譯碼器;
[0079](5)指令譯碼器根據(jù)接收到的解鎖控制信號,解除對模式選擇信號的鎖定,按照正常工作狀態(tài)進(jìn)行模式選擇信號生成。
[0080]以上所述,僅為本發(fā)明最佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
[0081]本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。
【權(quán)利要求】
1.一種帶有保護(hù)模塊的JTAG電路,其特征在于:包括TAP控制器、指令寄存器、指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器、TDO電路,以及輸入端口和輸出端口: TAP控制器根據(jù)外部輸入的模式選擇數(shù)據(jù)和時鐘信號,生成狀態(tài)轉(zhuǎn)移控制信號,將所述狀態(tài)轉(zhuǎn)移控制信號發(fā)送到指令譯碼器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器和邊界掃描寄存器; 指令寄存器接收外部輸入的串行指令數(shù)據(jù),對所述串行指令數(shù)據(jù)進(jìn)行串并變換,輸出并行指令數(shù)據(jù)到指令譯碼器;同時將接收到的串行指令數(shù)據(jù)傳送到TDO電路; 指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行指令數(shù)據(jù),對所述并行指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行指令數(shù)據(jù),生成模式選擇信號,根據(jù)所述模式選擇信號,在保護(hù)模塊、BYPASS寄存器、器件ID寄存器、邊界掃描寄存器中選擇一個作為目標(biāo)模塊,發(fā)送控制信號A到所述目標(biāo)模塊,并將所述模式選擇信號發(fā)送到TDO電路; 保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作;包括控制緩沖寄存器組、鎖定寄存器組、解鎖寄存器組和比較電路,其中: 控制緩沖寄存器組接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和外部輸入的數(shù)據(jù)代碼,根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;如果解鎖寄存器組處于使能狀態(tài),則將移位操作后的數(shù)據(jù)代碼發(fā)送到解鎖寄存器組,如果鎖定寄存器組處于使能狀態(tài),則將移位操作后的數(shù)據(jù)代碼發(fā)送到鎖定寄存器組;并在控制緩沖寄存器組使能狀態(tài)下生成電路保護(hù)標(biāo)識信號,并將所述標(biāo)識信號發(fā)送到TDO電路; 鎖定寄存器組接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和控制緩沖寄存器組發(fā)送的數(shù)據(jù)代碼,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移入并存儲,并將所述存儲的代碼數(shù)據(jù)發(fā)送到比較電路; 解鎖寄存器組接收指令譯碼器發(fā)送的控制信號A,如果JTAG電路進(jìn)行電路鎖定操作,則在指令譯碼器控制信號A的指示下進(jìn)行清零,如果JTAG電路進(jìn)行電路解鎖操作,接收指令譯碼器控制信號A進(jìn)行使能,并接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號和控制緩沖寄存器組發(fā)送的數(shù)據(jù)代碼,然后在指令譯碼器控制信號A指示下,根據(jù)狀態(tài)轉(zhuǎn)移控制信號完成數(shù)據(jù)代碼移入并存儲,并將所述存儲的代碼數(shù)據(jù)發(fā)送到比較電路; 比較電路接收鎖定寄存器組和解鎖寄存器組發(fā)送的數(shù)據(jù)代碼,并對所述兩路數(shù)據(jù)代碼進(jìn)行比較,如果兩路數(shù)據(jù)代碼相同,則發(fā)送解鎖控制信號到指令譯碼器,如果兩路數(shù)據(jù)代碼不同,則發(fā)送鎖定控制信號到指令譯碼器; BYPASS寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號和外部輸入的數(shù)據(jù),在狀態(tài)轉(zhuǎn)移信號的控制下將所述數(shù)據(jù)延遲一個時鐘周期后輸出到TDO電路; 器件ID寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,并在狀態(tài)轉(zhuǎn)移信號的控制下,讀取器件ID寄存器內(nèi)存放的外部系統(tǒng)電路的標(biāo)識碼,將所述標(biāo)識碼發(fā)送到TDO電路; 邊界掃描寄存器接收指令譯碼器發(fā)送的控制信號A進(jìn)行使能,接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號和外部輸入的數(shù)據(jù),對所述數(shù)據(jù)進(jìn)行測試處理后,輸出測試數(shù)據(jù)到TDO電路; TDO電路接收指令寄存器發(fā)送的串行指令數(shù)據(jù)、指令譯碼器發(fā)送的模式選擇信號、保護(hù)模塊中控制緩沖寄存器組發(fā)送的電路保護(hù)標(biāo)識信號、BYPASS寄存器發(fā)送的延遲輸出數(shù)據(jù)、器件ID寄存器發(fā)送的外部系統(tǒng)電路的標(biāo)識碼、邊界掃描寄存器發(fā)送的測試數(shù)據(jù);根據(jù)所述模式選擇信號控制TDO電路中的多路選擇器,使輸入端口與輸出端口之間通過一個模塊形成工作閉環(huán),所述模塊為指令寄存器、保護(hù)模塊、BYPASS寄存器、器件ID寄存器或邊界掃描寄存器; 當(dāng)所述模塊為指令寄存器時,輸入端口經(jīng)指令寄存器與輸出端口形成工作閉環(huán),輸出串行指令數(shù)據(jù); 當(dāng)所述模塊為保護(hù)模塊時,輸入端口經(jīng)保護(hù)模塊與輸出端口形成工作閉環(huán),輸出電路保護(hù)標(biāo)識信號; 當(dāng)所述模塊為BYPASS寄存器時,輸入端口經(jīng)BYPASS寄存器與輸出端口形成工作閉環(huán),輸出延遲輸出數(shù)據(jù); 當(dāng)所述模塊為器件ID寄存器時,輸入端口經(jīng)器件ID寄存器與輸出端口形成工作閉環(huán),輸出外部系統(tǒng)電路的標(biāo)識碼; 當(dāng)所述模塊為邊界掃描寄存器時,輸入端口經(jīng)邊界掃描寄存器與輸出端口形成工作閉環(huán),輸出測試數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的一種帶有保護(hù)模塊的JTAG電路,其特征在于:保護(hù)模塊與指令寄存器、指令譯碼器、TAP控制器根據(jù)外部輸入的鎖定指令或解鎖指令完成JTAG電路鎖定操作或JTAG電路解鎖操作,其中: JTAG電路鎖定操作具體操作過程如下: (1)指令寄存器接收外部輸入的鎖定指令,并對所述鎖定指令完成串并變換,輸出并行鎖定指令數(shù)據(jù)到指令譯碼器; (2)指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行鎖定指令數(shù)據(jù),對所述并行鎖定指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行鎖定指令數(shù)據(jù),生成模式選擇信號,在所述模式選擇信號控制下,發(fā)送控制信號A對保護(hù)模塊中的控制緩沖寄存器組和鎖定寄存器組進(jìn)行使能,并發(fā)送控制信號A對解鎖寄存器組進(jìn)行清零; (3)控制緩沖寄存器組接收外部輸入的數(shù)據(jù)代碼,并根據(jù)TAP發(fā)送的狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;并將移位操作后的數(shù)據(jù)代碼發(fā)送到鎖定寄存器組; (4)將解鎖寄存器組和鎖定寄存器組中保存的數(shù)據(jù)發(fā)送到比較電路,經(jīng)比較電路進(jìn)行數(shù)據(jù)比較后,判定解鎖寄存器組和鎖定寄存器組中存儲的數(shù)據(jù)不同,發(fā)送鎖定控制信號到指令譯碼器; (5)指令譯碼器根據(jù)鎖定控制信號,生成模式選擇信號,在未接收到解鎖控制信號之前,只對BYPASS寄存器進(jìn)行使能,使輸入端口經(jīng)BYPASS寄存器與輸出端口間形成工作閉環(huán),其中BYPASS寄存器經(jīng)過輸入端口接收數(shù)據(jù),根據(jù)TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移信號,將接收到的數(shù)據(jù)延遲一個時鐘周期輸出到TDO電路,并經(jīng)輸出端口輸出; JTAG電路解鎖操作的具體操作過程如下: (1)指令寄存器接收外部輸入的解鎖指令,并對所述解鎖指令完成串并變換,輸出并行解鎖指令數(shù)據(jù)到指令譯碼器; (2)指令譯碼器接收TAP控制器發(fā)送的狀態(tài)轉(zhuǎn)移控制信號、指令寄存器發(fā)送的并行解鎖指令數(shù)據(jù),對所述并行解鎖指令數(shù)據(jù)進(jìn)行譯碼,生成控制信號A,并根據(jù)狀態(tài)轉(zhuǎn)移控制信號和譯碼后的并行解鎖指令數(shù)據(jù),生成模式選擇信號,在所述模式選擇信號控制下,發(fā)送控制信號A到保護(hù)模塊中的控制緩沖寄存器組和解鎖寄存器組進(jìn)行使能; (3)控制緩沖寄存器組接收外部輸入的數(shù)據(jù)代碼,并根據(jù)TAP發(fā)送的狀態(tài)轉(zhuǎn)移控制信號完成所述數(shù)據(jù)代碼移位操作;并將移位操作后的數(shù)據(jù)代碼發(fā)送到解鎖寄存器組; (4)將解鎖寄存器組和鎖定寄存器組中保存的數(shù)據(jù)發(fā)送到比較電路,經(jīng)比較電路進(jìn)行數(shù)據(jù)比較后,判定解鎖寄存器組和鎖定寄存器組中存儲的數(shù)據(jù)相同,發(fā)送解鎖控制信號到指令譯碼器; (5)指令譯碼器根據(jù)接收到的解鎖控制信號,解除對模式選擇信號的鎖定,按照正常工作狀態(tài)進(jìn)行模式選擇信號生成。
【文檔編號】G06F21/31GK104182665SQ201410381645
【公開日】2014年12月3日 申請日期:2014年8月5日 優(yōu)先權(quán)日:2014年8月5日
【發(fā)明者】文治平, 鄧先坤, 李學(xué)武, 陳雷, 趙元富, 張彥龍, 林彥君, 王浩馳, 方新嘉, 張帆 申請人:北京時代民芯科技有限公司, 北京微電子技術(shù)研究所