八通道多協(xié)議串行通信控制器的功能驗(yàn)證
驗(yàn)證平臺(tái)總線功能模型中一個(gè)cpu寫周期的本文引用地址:http://www.ex-cimer.com/article/163855.htm
在對(duì)某個(gè)設(shè)備的寄存器進(jìn)行讀操作時(shí),譬如,向地址為ADDR的狀態(tài)寄存器寫入DATA數(shù)據(jù),在testcase里調(diào)用該任務(wù)可以寫成:
2.2 功能覆蓋率
功能驗(yàn)證的另一個(gè)關(guān)鍵問題是驗(yàn)證工作到什么程度,如何保證驗(yàn)證的充分性。對(duì)于通信控制器芯片,更關(guān)心的是功能覆蓋率。功能覆蓋率是衡量設(shè)計(jì)的原始要求實(shí)現(xiàn)程度的指標(biāo)。
通信控制器功能實(shí)現(xiàn)主要體現(xiàn)在寄存器的配置組合上。前面提到,所采取的驗(yàn)證策略是在單通道下分別在Intel總線和:Motorola總線接口按照數(shù)據(jù)傳送協(xié)議為劃分標(biāo)準(zhǔn),將驗(yàn)證分為異步、同步和HDLC三大類,然后再按照數(shù)據(jù)傳送類型,在中斷方式和DMA方式下驗(yàn)證各個(gè)功能。最后再測試全通道的數(shù)據(jù)收發(fā)。通信控制器的每一個(gè)功能均有相應(yīng)的testcase,配置寄存器的每一位都保證有翻轉(zhuǎn)。按照驗(yàn)證計(jì)劃,驗(yàn)證該通信控制器開發(fā)的testcase共計(jì)225個(gè),通信控制器的全部功能均被覆蓋。
圖3~6示例了幾個(gè)testcase的仿真波形圖。圖3的testcase用來驗(yàn)證通信控制器Intel總線接口異步協(xié)議DMA傳送模式下的數(shù)據(jù)傳送,DWT(DMArequest transmit)是DMA傳送請求信號(hào),wrl和wr2是內(nèi)部信號(hào),當(dāng)FIFO從數(shù)據(jù)總線上每成功讀取8bit數(shù)據(jù)時(shí),wrl或者wr2信號(hào)跳變一次,結(jié)果顯示該testcase驗(yàn)證通過。圖4是Motorola總線接口異步協(xié)議中斷傳送模式下數(shù)據(jù)傳送的一個(gè)testcase,圖5是Intel總線接口HDLC協(xié)議中斷傳送模式下數(shù)據(jù)傳送的一個(gè)testease。與圖3的分析相類似,波形顯示這兩個(gè)testcase驗(yàn)證通過。圖6是驗(yàn)證28個(gè)全局并口發(fā)送數(shù)據(jù)的testease,波形顯示四個(gè)并口先后發(fā)送數(shù)據(jù)55、66、77和F,該testease驗(yàn)證通過。
2.3 錯(cuò)誤狀態(tài)的驗(yàn)證
對(duì)錯(cuò)誤狀態(tài)的驗(yàn)證是一個(gè)很重要的環(huán)節(jié)。在testease中,加入錯(cuò)誤狀態(tài)激勵(lì),觀察輸出結(jié)果是否符合預(yù)期。一些錯(cuò)誤狀態(tài)比較容易實(shí)現(xiàn),如某個(gè)配置項(xiàng)賦定義以外的值,只需在配置文件相應(yīng)行上填入錯(cuò)誤狀態(tài)配置值即可。再如很短的時(shí)間內(nèi)發(fā)生了同一通道的兩次配置(即配置覆蓋),這只需在配置文件中的同一配置時(shí)刻參數(shù)段加入相同通道的又一次配置即可。另外一些錯(cuò)誤狀態(tài)可以根據(jù)通信協(xié)議自行設(shè)定,如發(fā)送端和接收端配置的數(shù)據(jù)幀頭同步字符不一致,接收時(shí)鐘和發(fā)送時(shí)鐘不同步等。
圖7是一個(gè)錯(cuò)誤狀態(tài)驗(yàn)證的testcase波形圖。該testease是驗(yàn)證通信控制器在Intel總線接口,同步協(xié)議的中斷方式傳送模式下數(shù)據(jù)傳送。發(fā)送端的同步幀設(shè)置為80,接收端的同步幀設(shè)置為8l。按照同步協(xié)議,同步幀不一樣,接收端的數(shù)據(jù)不能寫入FIFO。如所預(yù)期,wrl和wr2未發(fā)生跳變,表明發(fā)送數(shù)據(jù)沒有被接收。
2.4 后仿真與樣片測試
在實(shí)際電路中,信號(hào)的跳變不是瞬間完成的,而是具有一定的時(shí)延。功能驗(yàn)證主要是驗(yàn)證電路的邏輯功能,信號(hào)的跳變是瞬間完成的,因此只能在功能上證明設(shè)計(jì)的正確性,而無法證明在實(shí)際電路中邏輯功能依然正確。后仿真是對(duì)版圖提取了寄生參數(shù)以后考慮了互聯(lián)延遲進(jìn)行的仿真。驗(yàn)證在引入實(shí)際時(shí)延之后系統(tǒng)功能是否正確。
構(gòu)建后仿真環(huán)境的思想與構(gòu)建前仿真的思想基本相同。在功能驗(yàn)證過程使用結(jié)構(gòu)化和逐層抽象的方法來設(shè)計(jì)驗(yàn)證環(huán)境,因此在后仿真的過程中可以復(fù)用前仿真的環(huán)境,測試用例也可以直接復(fù)用到后仿真的過程中。圖8是后仿真的一個(gè)波形。
采用上面介紹的驗(yàn)證方案,作者成功地對(duì)八通道多協(xié)議串行通信控制器芯片進(jìn)行了功能驗(yàn)證,該芯片已成功流片并進(jìn)行了樣片測試。將功能驗(yàn)證時(shí)各testcase芯片每個(gè)管腳的輸入以及相應(yīng)的輸出轉(zhuǎn)化為測試碼輸入測試機(jī),驗(yàn)證對(duì)于相同的輸入,芯片的實(shí)際輸出與功能驗(yàn)證時(shí)的輸出是否相符。測試碼按照測試機(jī)的要求有一定的格式給出了一行測試碼。芯片目前也通過了樣片測試并已經(jīng)實(shí)際應(yīng)用。
3 結(jié)語
大規(guī)模集成電路的驗(yàn)證是一項(xiàng)非常復(fù)雜的任務(wù),使用總線功能模型構(gòu)建可復(fù)用的驗(yàn)證平臺(tái)能夠提高集成電路的驗(yàn)證效率,縮短產(chǎn)品開發(fā)周期。本文采用總線功能模型實(shí)現(xiàn)了一款八通道多協(xié)議串行通信控制器芯片的功能驗(yàn)證,相信這種方法對(duì)相關(guān)領(lǐng)域的設(shè)計(jì)驗(yàn)證具有一定的參考價(jià)值。
評(píng)論