基于VHDL語言的IP核驗(yàn)證設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁
基于VHDL語言的IP核驗(yàn)證設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁
基于VHDL語言的IP核驗(yàn)證設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁
基于VHDL語言的IP核驗(yàn)證設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁
基于VHDL語言的IP核驗(yàn)證設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于VHDL語言的IP核驗(yàn)證設(shè)計(jì)-設(shè)計(jì)應(yīng)用引言

代碼純化.指在代碼設(shè)計(jì)中及完成后進(jìn)行自定義的、IEEE標(biāo)準(zhǔn)的、設(shè)計(jì)重用的、可綜合性和可測試性等方面的規(guī)則檢查;

代碼覆蓋率分析.研究仿真中的測試矢量是否足夠;

設(shè)計(jì)性能和面積分析.在設(shè)計(jì)邏輯綜合過程中分析所設(shè)計(jì)的RTL所能達(dá)到的性能和面積要求;

可測性分析:IP核設(shè)計(jì)重用中的關(guān)鍵技術(shù)。如何保證IP核的高測試覆蓋率,如何保證IP核在集成到SoC中后的可測試性.是該階段分析的主要目標(biāo)。所以在IP核實(shí)現(xiàn)之前.要檢查IP核設(shè)計(jì)中是否違反了可測性設(shè)計(jì)規(guī)則;

低功耗分析:SoC的重要衡量指標(biāo)。我們在IP核設(shè)計(jì)階段就需要將TP核功耗參數(shù)進(jìn)行估計(jì)并進(jìn)行相應(yīng)的功耗優(yōu)化設(shè)計(jì);

基于此.本文重點(diǎn)討論在IC設(shè)計(jì)過程中IP核的驗(yàn)證測試問題并以互聯(lián)網(wǎng)上可的原始IP核資源為例.在與8位RISC架構(gòu)指令兼容的微處理器成功。

1IP核與RISC體系

1.1IP核

IP核是具有知識產(chǎn)權(quán)的集成電路芯核的簡稱其作用是把一組擁有知識產(chǎn)權(quán)的、在數(shù)字電路中常用但又比較復(fù)雜的電路設(shè)計(jì)功能塊(如FIR濾波器SDRAM控制器、PCI接口等)設(shè)計(jì)成可修改參數(shù)的集成模塊構(gòu)成芯片的基本單位,以供設(shè)計(jì)時直接調(diào)用從而大大避免重復(fù)勞動。

1.2RISC處理器

RISC(reducedinstructionsetcomputer.精簡指令系統(tǒng)計(jì)算機(jī))是IBM公司提出來的、在CISC(complerinstructionsetcomputer復(fù)雜指令系統(tǒng)計(jì)算機(jī))的基礎(chǔ),上繼承和發(fā)展起來的一種新型系統(tǒng)結(jié)構(gòu)技術(shù)。具有結(jié)構(gòu)簡單指令合理成本低廉快捷高效等特點(diǎn)。應(yīng)用前景被普遍看好。國際IT領(lǐng)域的大公司如IBM、DEC、Intel、ARM、Motorola、Apple、HP等先后將其力量轉(zhuǎn)向RISC.并已經(jīng)開發(fā)出各種基于RISC的芯片或IP核。

SoC是進(jìn)行IA(IntelArchitecture.智能家電)產(chǎn)品開發(fā)的主要方法.而基于RISC體系的EP(embeddedprocessor,嵌入式處理器)則是SoC芯片的??梢哉f,RISC是當(dāng)前計(jì)算機(jī)發(fā)展不可逆轉(zhuǎn)的趨勢。

1.3VHDI語言

VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage.集成電路硬件描述語言)與VerilogHDL程序都很適合用來設(shè)計(jì)架構(gòu)RCMPreconfigurablemICroprocessor,可重新規(guī)劃的微處理器)。為此.我們利用VHDL設(shè)計(jì)一種嵌入式RISC8微處理器及應(yīng)用芯片.設(shè)計(jì)后的IP核到FPGA(FieldProgrammableGateArray.現(xiàn)場可編程門陣列)芯片上做驗(yàn)證,并在開發(fā)板構(gòu)建視頻接口模塊等以利于調(diào)試和應(yīng)用。

2IP核的仿真與測試

2.1SoC的測試策略

SoC芯片的測試比傳統(tǒng)的ASIC測試要復(fù)雜得多.全面的功能測試通常是不現(xiàn)實(shí)的目前常采用的策略是分別測試所有的電路功能模塊在SoC芯片中存在各種不同類型的電路模塊,每個模塊所要求的測試方式也不相同。SoC芯片中的模塊基本可以分為三類:CPU/DSP、存儲器模塊、其他功能電路模塊。CPU/DSP的測試與傳統(tǒng)的CPU/DSP測試類似.通常采用邊界掃描方式結(jié)合矢量測試方式。存儲器的測試一般采用BIST測試,比較快捷而容易控制。其他的電路模塊按設(shè)計(jì)難易程度或應(yīng)用方便性,采用邊界掃描或BIST。

2.2IP核的測試方案

IP核的研究平臺有很多種.但一般硬件仿真調(diào)試器費(fèi)用昂貴(幾千到數(shù)萬元),對于普通用戶來說難于承受。為此,本文利用的IP核進(jìn)行改寫,利用XilinxISE開發(fā)軟件和匯編語言翻譯過來的機(jī)器碼作為測試激勵,完成了RISC結(jié)構(gòu)的XilinxSpartan2系列的FPGA芯片CPU指令的驗(yàn)證和測試方案.具體方案如下:

(1)以VHDL/Verilog語言改寫或新寫8bitpipelinedRISC結(jié)構(gòu)之處理器模塊、內(nèi)存控制器模塊以及視頻控制接口模塊.然后通過XilinxISE4.1/5.2、ModelSim完成行為級仿真、綜合以及布局布線等。

(2)以某個應(yīng)用為例將C語言或匯編語言編寫的測試算法程序存儲在SRAM中.實(shí)現(xiàn)嵌入式處理器及視頻控制接口并到FPGA.從而生成一塊可編程的控制器芯片構(gòu)成一個簡化SoC應(yīng)用。

(3)如果SoC應(yīng)用成功.則可通過cell-BaseDesignFlow將其轉(zhuǎn)成ASIC版圖.實(shí)現(xiàn)流片。

2.3IP核的驗(yàn)證方法

在芯片的設(shè)計(jì)流程中設(shè)計(jì)的驗(yàn)證是一個重要而又費(fèi)時的環(huán)節(jié)。在進(jìn)行Top_Down設(shè)計(jì)時.從行為級設(shè)計(jì)開始到RTT級設(shè)計(jì)再到門級設(shè)計(jì)相應(yīng)地利用EDA工具進(jìn)行各個級別的仿真.行為仿真和RTL級仿真屬于功能仿真其作用是驗(yàn)證設(shè)計(jì)模塊的邏輯功能門級仿真是時序仿真用于驗(yàn)證設(shè)計(jì)模塊的時序關(guān)系無論是功能仿真或是時序仿真仿真方法有兩種.即交互式仿真方法和測試平臺法

(1)交互式仿真方法。該方法主要是利用EDA工具提供的仿真器進(jìn)行模塊的仿真它允許在仿真期間對輸入信號賦值,指定仿真執(zhí)行時間,觀察輸出波形。當(dāng)系統(tǒng)的邏輯功能、時序關(guān)系達(dá)到設(shè)計(jì)要求后,仿真結(jié)束。缺點(diǎn)是輸入輸出不便于記錄歸檔尤其是輸入量比較復(fù)雜時,輸出不便于觀察和比較

(2)程序仿真測試法。就是為設(shè)計(jì)模塊專門設(shè)計(jì)的仿真程序(也稱為測試程序),以實(shí)現(xiàn)對被測模塊自動輸入測試矢量,并通過波形輸出文件記錄輸出,便于將仿真結(jié)果記錄歸檔和比較。利用測試程序可以對一個設(shè)計(jì)模塊進(jìn)行功能仿真和時序仿真。

2.4IP核的測試仿真

綜上所述,下面給出RISC8測試仿真實(shí)例。該測試仿真大致可分為5個步驟

(1)給Wave(波形)窗口添加信號。首先添加的是RISC8的整體Structure(結(jié)構(gòu))信號。

(2)行為級仿真初步測試。在初步測試中.“portb”信號的輸出如果是“FX”,則說明系統(tǒng)必然存在問題;如果是“OX”則說明系統(tǒng)沒有發(fā)現(xiàn)問題要進(jìn)行進(jìn)一步的測試。

(3)行為級仿真進(jìn)一步測試。在進(jìn)一步測試中,要注意的信號是romaddr、romdata以及各種指令控制信號。

(4)源程序修改,再仿真。在上一步中定位到出錯的地方,然后回到源程序中找到所有出錯信號出現(xiàn)的地方,仔細(xì)分析,并結(jié)合波形圖進(jìn)行修改,然后重復(fù)上述步驟進(jìn)行再仿真。

(5)布圖布線后的仿真(后仿真)。事實(shí)上在行為級仿真與后仿真之間還有3個仿真過程,但一般來說只要能通過后仿真則其他的仿真也就沒有問題。

在后仿真過程中,看一下“portb”的輸出是否與行為級仿真一致,若一致則測試通過。如果不一致則必須返回原程序和行為級仿真,對時序進(jìn)行仔細(xì)分析(因?yàn)檫@種情況大都是因?yàn)榧尤胙舆t后原來的時序發(fā)生改變)。

3IP核在RISC架構(gòu)中的實(shí)例

3.1RISC處理器的選擇與指令的測試

我們選用MICrochip公司生產(chǎn)的PICl6c5x-XilinxSpartan2系列中的Xc2s150微處理器.因?yàn)槠銯PGA芯片架構(gòu)指令與8位RISC兼容.能夠很容易實(shí)現(xiàn)RISC架構(gòu)之指令集。

RISC的測試激勵文件是由匯編語言測試程序翻譯而得到的.例如test3程序測試循環(huán)移位.test5測試邏輯操作指令、test8測試端口等。

testl程序是測試incf和的decf指令的.行為級初步測試中,“portb”輸出為“01”,如3.3中所述,這并不能說明沒有問題接著做行為級進(jìn)一步測試

3.2測試激勵程序的加載步驟與驗(yàn)證

選擇“Project”萊單中的“NewsSource”選項(xiàng),在彈出的“New”對話框左側(cè)選擇文件類型為“TestBenchWaveform”,填入文件名,單擊下一步,在彈出的“select”對話框中選擇關(guān)聯(lián)的源為“anss_risc8_top”,單擊下一步.然后單擊“Finish”后會啟動HDLBencher.在這個軟件環(huán)境中可以輸入激勵信號將由匯編測試程序翻譯過來的機(jī)器碼信息作為激勵信號輸入保存.輸入測試時間后退出HDLBenche。

在進(jìn)一步測試中也沒有問題,然后,我們可將測試程序進(jìn)行如下改變.

incfx,f:X=FE

incfx,f;X=FF

incfx,f:X=00

incfx,f;X=01

decfx,f:X=00

decfx,f:X=FF

decfx,f:X=FE

將程序中的一個incf改為的decf.這樣制造了一個錯誤.重新進(jìn)行仿真,發(fā)現(xiàn)"portb"的輸出仍然為"01"而不是預(yù)想的"F1"。由此可見程序中存在問題。仔細(xì)分析后發(fā)現(xiàn)問題出現(xiàn)在“btfss”變?yōu)?時.此時alu_z為1而實(shí)際上它應(yīng)該是0。由于alu_z出現(xiàn)在算術(shù)邏輯運(yùn)算模塊ALU的一個子模塊alu_dp中,因此對alu_dp進(jìn)行分析,在wave窗口中加入alu_dp模塊的信號,同時在ISE4.1i中打開alu_dp的源文件進(jìn)行分析.經(jīng)分析發(fā)現(xiàn)alu_z變?yōu)?是由于源程序中對alu_z的處理不完備.少考慮了一種情況。根據(jù)這種情況對源程序alu_dp.vhd進(jìn)行修改如下:

a.signalbittest,temp:std_logIC_vector(7downto0);

--addsignaltemp

b.u_zero:process(bittest,op,longq)

begin

if(bittest=ZEROBYTE)andn

bsp;(op=ALU_OP_BITTESTCLR)

thenzero='1';

elsif(bittest/=ZEROBYTE)and(op=ALU_OP_BITTESTSET)

thenzero='1';

elsiflongq(7downto0)=ZEROBYTEand(op/=ALUOP_BITTESTSET)

thenzero='1';--newadd

elsiftemp="zerobyte"andop="ALUOP"_BITTESTSET

thenzero='1';--newadd

else

zero='0';

endif;

endprocess;

c.bittest=bitdecoderanda;

temp=bitdecoderora;--newadd

修改存儲源程序后再次仿真的結(jié)果是正確的(即portb輸出為“F1”)。將測試程序恢復(fù),仿真結(jié)果也是正確的。再進(jìn)行后仿真也正確.至此.test1程序測試完畢。

4結(jié)束語

集成電路發(fā)展到超大規(guī)模階段后,芯片中凝聚的知識已經(jīng)高度濃縮。專有知識產(chǎn)權(quán)的IP核設(shè)計(jì)及其再利用是保證SoC開發(fā)效率和質(zhì)的重要手段。隨著CPLD/FPGA的規(guī)模越來越大,設(shè)計(jì)越來越復(fù)雜,IP核是必然的發(fā)展趨勢。歡迎轉(zhuǎn)載,信息維庫電子市

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論