一種加速芯片中斷控制器驗(yàn)證的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是一種片上系統(tǒng)(System on a chip: SOC)芯片驗(yàn)證技術(shù)領(lǐng)域,尤其是一種加速芯片中斷控制器驗(yàn)證的系統(tǒng)及方法。
【背景技術(shù)】
[0002]在現(xiàn)有技術(shù)中,公知的技術(shù)是現(xiàn)有的為了預(yù)防芯片運(yùn)行中可能出現(xiàn)的異常行為,在芯片中都會加入中斷控制器的設(shè)計(jì)。為了驗(yàn)證中斷控制器,首先需要使中斷觸發(fā)。在現(xiàn)有的芯片驗(yàn)證中,芯片某些中斷的實(shí)際觸發(fā)事件可能需要很長時(shí)間的仿真才能發(fā)生,甚至有些中斷觸發(fā)條件可能很苛刻很難發(fā)生。比如在一個(gè)Nand Flash控制器中設(shè)計(jì)了 ecc校驗(yàn)失敗中斷,對于一個(gè)40位的ecc校驗(yàn),可能需要對一整頁Flash的8KB數(shù)據(jù)讀寫η次之后才會有ecc校驗(yàn)失敗中斷發(fā)生。而且在芯片級驗(yàn)證中,為了觸發(fā)所有的中斷,需要跟中斷有關(guān)聯(lián)的所有模塊都參與仿真才可以,這不僅需要很長的仿真時(shí)間,而且需要耗費(fèi)大量的硬件資源。為了縮短驗(yàn)證時(shí)間,本發(fā)明提出了一種通過模擬中斷觸發(fā)加速中斷控制器驗(yàn)證的方法。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的就是針對現(xiàn)有技術(shù)所存在的不足,而提供一種加速芯片中斷控制器驗(yàn)證的系統(tǒng)及方法,該方案在測試中,通過往某個(gè)預(yù)留寄存器中寫入某個(gè)特定的數(shù)值觸發(fā)模擬中斷源,之后模擬中斷源會替代實(shí)際中斷源強(qiáng)制使實(shí)際中斷信號觸發(fā),從而啟動中斷控制器工作,快速實(shí)現(xiàn)對中斷控制器的驗(yàn)證,并且不需要鏈接實(shí)際的中斷產(chǎn)生模塊就能完成中斷控制器的功能驗(yàn)證,減少了硬件仿真資源開銷。
[0004]本方案是通過如下技術(shù)措施來實(shí)現(xiàn)的:一種加速芯片中斷控制器驗(yàn)證的系統(tǒng),其特征在于包括如下模塊:
中斷觸發(fā)模塊,通過軟件接口往預(yù)留寄存器中寫入一個(gè)特定的寄存器值,用于觸發(fā)中斷測試事件;
中斷釋放模塊,通過軟件接口往預(yù)留寄存器中寫入一個(gè)特定的寄存器值,用于觸發(fā)中斷釋放事件;
模擬中斷源模塊,實(shí)時(shí)監(jiān)測中斷測試事件和中斷釋放事件,監(jiān)測到中斷測試事件發(fā)生后依次將所有的實(shí)際中斷信號觸發(fā),并且在監(jiān)測到中斷釋放事件后將各中斷信號釋放。
[0005]一種加速芯片中斷控制器驗(yàn)證的方法,其特征在于包括如下步驟:
1)在軟件測試用例中,通過配置中斷寄存器將中斷使能打開,通過配置預(yù)留寄存器觸發(fā)中斷測試事件;
2)各個(gè)實(shí)際中斷源被強(qiáng)制觸發(fā),中斷控制器將中斷請求信號傳輸?shù)紺PU,CPU檢測到中斷請求信號后啟動相應(yīng)的中斷處理程序,進(jìn)行中斷處理和測試;
3)監(jiān)測到中斷釋放事件時(shí),釋放中斷信號,完成中斷測試。
[0006]在步驟I)中,配置中斷寄存器將中斷使能打開,往系統(tǒng)預(yù)留的某個(gè)寄存器中寫入一個(gè)特定的寄存器值以觸發(fā)中斷測試事件。
[0007]在步驟2)中設(shè)置一用于實(shí)時(shí)監(jiān)測中斷測試事件和中斷釋放事件的模擬中斷源模塊。
[0008]所述的步驟2)中,模擬中斷源監(jiān)測到中斷測試事件發(fā)生后,觸發(fā)各個(gè)實(shí)際中斷源,中斷控制器發(fā)中斷請求信號給CPU,CPU檢測到中斷信號后啟動相應(yīng)的中斷請求信號后啟動相應(yīng)的中斷處理程序,進(jìn)行中斷處理和測試。
[0009]在步驟3)中,往系統(tǒng)預(yù)留的某個(gè)寄存器中寫入一個(gè)特定的寄存器值觸發(fā)中斷釋放事件。
[0010]所述的步驟3)中,模擬中斷源監(jiān)測到中斷釋放事件后,將相應(yīng)的實(shí)際中斷信號釋放,完成中斷測試。
[0011]本方案的有益效果可根據(jù)對上述方案的敘述得知,由于在該方案中通過往某個(gè)預(yù)留寄存器中寫入一個(gè)特定的寄存器值觸發(fā)中斷測試事件,中斷信號的產(chǎn)生不再依賴于實(shí)際的中斷源,快速實(shí)現(xiàn)了中斷信號的觸發(fā),大大縮短了仿真時(shí)間;有一個(gè)模擬中斷源模塊,可以實(shí)時(shí)監(jiān)測中斷測試事件和中斷釋放事件,監(jiān)測到中斷測試事件發(fā)生后依次將所有的實(shí)際中斷信號觸發(fā),并且在監(jiān)測到中斷釋放事件后將各中斷信號釋放,不需要鏈接實(shí)際的中斷產(chǎn)生模塊就能完成中斷控制器的功能驗(yàn)證;硬件監(jiān)測到預(yù)留寄存器中有某個(gè)特定的寄存器值寫入的話就會觸發(fā)相應(yīng)的中斷釋放事件,模擬中斷源模塊一旦監(jiān)測到中斷釋放事件后會將相應(yīng)的實(shí)際中斷信號釋放,完成中斷測試。由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實(shí)質(zhì)性特點(diǎn)和顯著的進(jìn)步,其實(shí)施的有益效果也是顯而易見的。
[0012]【附圖說明】:
圖1為本發(fā)明【具體實(shí)施方式】的驗(yàn)證架構(gòu)圖。
[0013]圖2為本發(fā)明【具體實(shí)施方式】的流程圖。
【具體實(shí)施方式】
[0014]為能清楚說明本方案的技術(shù)特點(diǎn),下面通過一個(gè)【具體實(shí)施方式】,并結(jié)合其附圖,對本方案進(jìn)行闡述。
[0015]本方案的加速芯片中斷控制器驗(yàn)證的系統(tǒng),中斷觸發(fā)模塊,通過軟件接口往預(yù)留寄存器中寫入一個(gè)特定的寄存器值,用于觸發(fā)中斷測試事件;中斷釋放模塊,通過軟件接口往預(yù)留寄存器中寫入一個(gè)特定的寄存器值,用于觸發(fā)中斷釋放事件;模擬中斷源模塊(Virtual Interrupt Source),實(shí)時(shí)監(jiān)測中斷測試事件和中斷釋放事件,監(jiān)測到中斷測試事件發(fā)生后依次將所有的實(shí)際中斷信號觸發(fā),并且在監(jiān)測到中斷釋放事件后將各中斷信號釋放。
[0016]軟件啟動測試時(shí),先將某個(gè)特定的寄存器值寫入某預(yù)留的特定寄存器以觸發(fā)中斷測試事件;隨后,模擬中斷源模塊(Virtual Interrupt Source)監(jiān)測到中斷測試事件發(fā)生后,模擬觸發(fā)各個(gè)中斷源(isr_nfc_v/isr_dma_v/isr_sata_v/......);中斷控制器
(interrupt controller)監(jiān)測到有中斷信號后會產(chǎn)生中斷請求信號(itr_req),并將中斷請求信號傳輸給CPU ;CPU檢測到中斷請求信號后啟動相應(yīng)的中斷處理程序,進(jìn)行中斷處理和測試;在中斷處理程序中,會將某個(gè)特定的寄存器值寫入某預(yù)留的特定寄存器以觸發(fā)中斷釋放事件;模擬中斷源模塊(Virtual Interrupt Source)監(jiān)測到中斷釋放事件后,將相應(yīng)的實(shí)際中斷信號釋放,完成中斷測試。本實(shí)施例中,實(shí)際上是使用模擬中斷源模塊(Virtual Interrupt Source)產(chǎn)生的模擬中斷信號 isr—nfc—v/isr—dma—v/isr—sata—
v/......,替代了 NFC、DMA、SATA Controller 等模塊實(shí)際的中斷信號 isr—nfc/isr—dma/isr—
sata/......,這樣驗(yàn)證時(shí),就不需要連接圖中的NFC、DMA、SATA Controller等模塊,減少了硬件仿真資源開銷。
[0017]本發(fā)明并不僅限于上述【具體實(shí)施方式】,本領(lǐng)域普通技術(shù)人員在本發(fā)明的實(shí)質(zhì)范圍內(nèi)做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種加速芯片中斷控制器驗(yàn)證的系統(tǒng),其特征在于包括如下模塊: 中斷觸發(fā)模塊,通過軟件接口往預(yù)留寄存器中寫入一個(gè)特定的寄存器值,用于觸發(fā)中斷測試事件; 中斷釋放模塊,通過軟件接口往預(yù)留寄存器中寫入一個(gè)特定的寄存器值,用于觸發(fā)中斷釋放事件; 模擬中斷源模塊,實(shí)時(shí)監(jiān)測中斷測試事件和中斷釋放事件,監(jiān)測到中斷測試事件發(fā)生后依次將所有的實(shí)際中斷信號觸發(fā),并且在監(jiān)測到中斷釋放事件后將各中斷信號釋放。
2.一種加速芯片中斷控制器驗(yàn)證的方法,其特征在于包括如下步驟: 1)在軟件測試用例中,通過配置中斷寄存器將中斷使能打開,通過配置預(yù)留寄存器觸發(fā)中斷測試事件; 2)各個(gè)實(shí)際中斷源被強(qiáng)制觸發(fā),中斷控制器將中斷請求信號傳輸?shù)紺PU,CPU檢測到中斷請求信號后啟動相應(yīng)的中斷處理程序,進(jìn)行中斷處理和測試; 3)監(jiān)測到中斷釋放事件時(shí),釋放中斷信號,完成中斷測試。
3.根據(jù)權(quán)利要求2所述的加速芯片中斷控制器驗(yàn)證的方法,其特征是:在步驟I)中,配置中斷寄存器將中斷使能打開,往系統(tǒng)預(yù)留的某個(gè)寄存器中寫入一個(gè)特定的寄存器值以觸發(fā)中斷測試事件。
4.根據(jù)權(quán)利要求2所述的加速芯片中斷控制器驗(yàn)證的方法,其特征是:在步驟3)中,往預(yù)留寄存器中寫入一個(gè)特定的寄存器值以觸發(fā)中斷釋放事件。
5.根據(jù)權(quán)利要求2所述的加速芯片中斷控制器驗(yàn)證的方法,其特征是:在步驟2)中設(shè)置一用于實(shí)時(shí)監(jiān)測中斷測試事件和中斷釋放事件的模擬中斷源模塊。
6.根據(jù)權(quán)利要求5所述的加速芯片中斷控制器驗(yàn)證的方法,其特征是:所述的步驟2)中,模擬中斷源監(jiān)測到中斷測試事件發(fā)生后,觸發(fā)各個(gè)實(shí)際中斷源,中斷控制器發(fā)中斷請求信號給CPU,CPU檢測到中斷請求信號后啟動相應(yīng)的中斷處理程序,進(jìn)行中斷處理和測試。
7.根據(jù)權(quán)利要求5所述的加速芯片中斷控制器驗(yàn)證的方法,其特征是:所述的步驟3)中,模擬中斷源監(jiān)測到釋放中斷事件后,將相應(yīng)的實(shí)際中斷信號釋放,完成中斷測試。
【專利摘要】本發(fā)明提供了一種加速芯片中斷控制器驗(yàn)證的系統(tǒng)及方法,該方案包括如下模塊:中斷觸發(fā)模塊、中斷釋放模塊、模擬中斷源模塊。該方案在測試中,通過往某個(gè)預(yù)留寄存器中寫入某個(gè)特定的數(shù)值觸發(fā)中斷測試事件,之后模擬中斷源會替代實(shí)際中斷源強(qiáng)制使實(shí)際中斷信號觸發(fā),從而啟動中斷控制器工作,快速實(shí)現(xiàn)對中斷控制器的驗(yàn)證,并且不需要鏈接實(shí)際的中斷產(chǎn)生模塊就能完成中斷控制器的功能驗(yàn)證,減少了硬件仿真資源開銷。
【IPC分類】G06F11-36
【公開號】CN104699620
【申請?zhí)枴緾N201510150498
【發(fā)明人】戴紹新, 李風(fēng)志, 姚香君, 楊萌, 李文軍, 石易明
【申請人】山東華芯半導(dǎo)體有限公司
【公開日】2015年6月10日
【申請日】2015年4月1日