《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于VHDL語(yǔ)言的IP核驗(yàn)證
基于VHDL語(yǔ)言的IP核驗(yàn)證
摘要: 探討了IP核的驗(yàn)證與測(cè)試的方法及其和VHDL語(yǔ)言在IC設(shè)計(jì)中的應(yīng)用.并給出了其在RISC8框架CPU核中的下載實(shí)例。
Abstract:
Key words :

  引言
       在IC(integrated circuit.集成電路)發(fā)展到超大規(guī)模階段的今天,基于IP(Intellectual Property,知識(shí)產(chǎn)權(quán))核的IC設(shè)計(jì)及其再利用是保證SoC(system onchip,片上系統(tǒng))開發(fā)效率和質(zhì)量的重要手段。如果能對(duì)IP核進(jìn)行驗(yàn)證、測(cè)試和集成.就可以加速SoC的設(shè)計(jì),而這需要從以下5個(gè)方面進(jìn)行考慮。

代碼純化.指在代碼設(shè)計(jì)中及完成后進(jìn)行自定義的、IEEE標(biāo)準(zhǔn)的、設(shè)計(jì)重用的、可綜合性和可測(cè)試性等方面的規(guī)則檢查;
代碼覆蓋率分析.研究仿真中的測(cè)試矢量是否足夠;
設(shè)計(jì)性能和面積分析.在設(shè)計(jì)邏輯綜合過(guò)程中分析所設(shè)計(jì)的RTL所能達(dá)到的性能和面積要求;
可測(cè)性分析:IP核設(shè)計(jì)重用中的關(guān)鍵技術(shù)。如何保證IP核的高測(cè)試覆蓋率,如何保證IP核在集成到SoC中后的可測(cè)試性.是該階段分析的主要目標(biāo)。所以在IP核實(shí)現(xiàn)之前.要檢查IP核設(shè)計(jì)中是否違反了可測(cè)性設(shè)計(jì)規(guī)則;
低功耗分析:SoC的重要衡量指標(biāo)。我們?cè)贗P核設(shè)計(jì)階段就需要將TP核功耗參數(shù)進(jìn)行精確估計(jì)并進(jìn)行相應(yīng)的功耗優(yōu)化設(shè)計(jì);基于此.本文重點(diǎn)討論在IC設(shè)計(jì)過(guò)程中IP核的驗(yàn)證測(cè)試問(wèn)題并以互聯(lián)網(wǎng)上可免費(fèi)下載的原始IP核資源為例.在與8位RISC架構(gòu)指令兼容的微處理器下載成功。

  1 IP核與RISC體系

  1.1 IP核

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

  1.2 RISC處理器

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

  SoC是進(jìn)行IA(Intel Architecture.智能家電)產(chǎn)品開發(fā)的主要方法.而基于RISC體系的EP(embedded processor,嵌入式處理器)則是SoC芯片的核心。可以說(shuō),RISC是當(dāng)前計(jì)算機(jī)發(fā)展不可逆轉(zhuǎn)的趨勢(shì)。

  1.3 VHDI語(yǔ)言

  VHDL(Very High Speed Integrated Circuit Hardware Description Language.集成電路硬件描述語(yǔ)言)與Verilog HDL程序都很適合用來(lái)設(shè)計(jì)架構(gòu)RCMP reconfigurable mICroprocessor,可重新規(guī)劃的微處理器)。為此.我們利用VHDL設(shè)計(jì)一種嵌入式RISC8微處理器及應(yīng)用芯片.設(shè)計(jì)后的IP核下載到FPGA(Field Programmable Gate Array.現(xiàn)場(chǎng)可編程門陣列)芯片上做驗(yàn)證,并在開發(fā)板構(gòu)建視頻接口模塊等以利于調(diào)試和應(yīng)用。

  2 IP核的仿真與測(cè)試

  2.1 SoC的測(cè)試策略

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

  2.2 IP核的測(cè)試方案

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

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

 

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

 

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

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

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

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

  (2)程序仿真測(cè)試法。就是為設(shè)計(jì)模

 

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

 

  2.4 IP核的測(cè)試仿真

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

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

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

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

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

  (5)布圖布線后的仿真(后仿真)。事實(shí)上在行為級(jí)仿真與后仿真之間還有3個(gè)仿真過(guò)程,但一般來(lái)說(shuō)只要能通過(guò)后仿真則其他的仿真也就沒有問(wèn)題。

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

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

  3.1 RISC處理器的選擇與指令的測(cè)試

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

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

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

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

  選擇“Project”萊單中的“News Source”選項(xiàng),在彈出的“New”對(duì)話框左側(cè)選擇文件類型為“Test Bench Waveform”,填入文件名,單擊下一步,在彈出的“select”對(duì)話框中選擇關(guān)聯(lián)的源為“anss_risc8_top”,單擊下一步.然后單擊“Finish”后會(huì)啟動(dòng)HDL Bencher.在這個(gè)軟件環(huán)境中可以輸入激勵(lì)信號(hào)最后將由匯編測(cè)試程序翻譯過(guò)來(lái)的機(jī)器碼信息作為激勵(lì)信號(hào)輸入保存.輸入測(cè)試時(shí)間后退出HDL Benche。

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

    incf x,f:X<=FE
    incf x,f;X<=FF
    incf x,f:X<=00
    incf x,f;X<=01
    decf x,f:X<=00
    decf x,f:X<=FF
    decf x,f:X<=FE

 

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

 

  a.signal bittest,temp:std_logIC_vector(7 downto 0);
    --add signal temp
    b.u_zero:process(bittest,op,longq)
    begin
    if(bittest=ZEROBYTE)  and&n

 

bsp; (op=ALU_OP_BITTESTCLR)
    then zero<='1';
    elsif(bittest/=ZEROBYTE)  and  (op=ALU_OP_BITTESTSET)
    then zero<='1';
    elsif longq(7 downto 0)=ZEROBYTE and(op/=ALUOP_BITTESTSET)
    then zero<='1';--new add
    elsif temp="zerobyte" and op="ALUOP"_BITTESTSET
    then zero<='1';--new add
    else
    zero<='0';
    end if;
    end process;
    c.bittest<=bitdecoder and a;
    temp<=bitdecoder or a; --new add

 

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

  4 結(jié)束語(yǔ)

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频狠狠| 西西裸体人体做爰大胆久久久| 日韩一区二区免费看| 狠狠干成人综合网| 国产精品日韩一区| 欧美视频免费在线观看| 欧美精品一区二区蜜臀亚洲| 蜜臀av国产精品久久久久| 久久久久欧美精品| 久久精品成人| 欧美一区二区三区免费观看视频| 亚洲一区二区三区在线看| 亚洲人成久久| 亚洲精品国产视频| 最新日韩精品| 亚洲欧洲三级| 亚洲靠逼com| 亚洲精品乱码久久久久久日本蜜臀 | 黄色成人av在线| 国产亚洲a∨片在线观看| 国产精品稀缺呦系列在线| 国产精品亚洲а∨天堂免在线| 国产精品欧美一区二区三区奶水 | 国产伦理一区| 国产性猛交xxxx免费看久久| 国产一区二区三区无遮挡| 国产综合精品| 亚洲丁香婷深爱综合| 亚洲人成毛片在线播放女女| 亚洲理论电影网| 一本久道久久久| 亚洲一区bb| 欧美一区二区在线免费播放| 亚洲国产成人porn| 99国内精品久久| 亚洲在线视频观看| 欧美在线高清| 老司机凹凸av亚洲导航| 欧美激情视频给我| 国产精品久久9| 国产在线精品二区| 亚洲电影在线看| 99re热这里只有精品视频| 亚洲色图自拍| 欧美一区二区三区四区高清| 亚洲黄色免费网站| 在线综合亚洲| 欧美一区二区三区在线| 快she精品国产999| 欧美日韩高清区| 国产日本欧美一区二区三区在线| 国语自产偷拍精品视频偷 | 久久久国产一区二区三区| 欧美aⅴ99久久黑人专区| 欧美日韩在线精品| 国产欧美日韩免费| 136国产福利精品导航| 一本色道久久综合亚洲精品不 | 在线欧美亚洲| 一区二区三区日韩在线观看 | 一区二区三区 在线观看视| 午夜精品久久久久久久99水蜜桃| 久久精品国产亚洲aⅴ| 欧美黄色精品| 国产精品永久免费在线| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲最快最全在线视频| 欧美在现视频| 在线性视频日韩欧美| 欧美在线视屏| 欧美啪啪一区| 国产亚洲亚洲| 日韩天堂av| 欧美资源在线| 亚洲午夜精品久久| 猫咪成人在线观看| 国产精品人人爽人人做我的可爱| 加勒比av一区二区| 亚洲一区二区欧美| 亚洲伦理中文字幕| 久久国产视频网站| 欧美日韩喷水| 在线观看视频欧美| 亚洲欧美中文日韩v在线观看| 亚洲久久在线| 久久免费精品日本久久中文字幕| 欧美日韩一级大片网址| 一区精品在线播放| 亚洲欧美精品在线| 亚洲一二区在线| 欧美成年人网站| 国产欧美一级| 一区二区精品在线| 亚洲人成毛片在线播放| 久久久精品动漫| 欧美性事在线| 亚洲人人精品| 亚洲国产精品久久91精品| 久久成人这里只有精品| 欧美视频一区二| 亚洲激情中文1区| 亚洲高清资源| 久久久久久久久久久一区| 国产精品亚洲欧美| 一区二区三区日韩欧美| 一区二区三区视频在线| 欧美大片在线观看一区| 黑丝一区二区| 先锋影音一区二区三区| 亚洲欧美日韩国产综合精品二区| 欧美日韩国产高清| 亚洲人成人一区二区三区| 亚洲国产精品第一区二区| 久久国产精品黑丝| 国产欧美综合一区二区三区| 亚洲素人一区二区| 亚洲四色影视在线观看| 欧美日本免费| 亚洲精品美女| 亚洲理论在线观看| 欧美成年人在线观看| 亚洲国产精品第一区二区| 亚洲激情在线观看| 噜噜爱69成人精品| 曰韩精品一区二区| 亚洲国产日韩欧美在线99 | 欧美日韩不卡视频| 亚洲欧洲精品一区二区三区不卡| 亚洲国产一区二区三区高清| 久久综合影视| 18成人免费观看视频| 亚洲精品乱码久久久久久黑人| 欧美成年人视频网站| 亚洲人成网站999久久久综合| 一本色道久久综合亚洲精品按摩 | 国产亚洲在线| 欧美在线播放一区二区| 久久久久综合一区二区三区| 国产综合精品一区| 亚洲激情综合| 欧美精品一区二区蜜臀亚洲| 99国产精品国产精品久久| 亚洲一区二区在| 国产精品久久毛片a| 欧美亚洲免费| 另类成人小视频在线| 亚洲高清在线播放| 亚洲视频综合| 国产精品一区二区三区乱码| 欧美专区在线观看一区| 麻豆国产精品一区二区三区 | 最新成人在线| 欧美日韩一二三四五区| 亚洲制服av| 久久久欧美精品| 亚洲国产美女久久久久| 国产精品99久久久久久www| 国产精品久久久久秋霞鲁丝| 欧美在线免费观看视频| 欧美国产精品va在线观看| 日韩视频在线观看免费| 欧美在线免费播放| 伊人久久亚洲影院| 中国女人久久久| 国产视频久久网| 亚洲美女在线看| 国产精品久久久久久久app| 欧美在线一二三区| 欧美国产一区二区| 亚洲特黄一级片| 麻豆91精品| aa亚洲婷婷| 久久久高清一区二区三区| 亚洲三级毛片| 久久精品30| 亚洲精品欧美| 久久久91精品国产一区二区精品| 亚洲黄一区二区三区| 亚洲欧美在线看| 亚洲电影一级黄| 性色一区二区| 亚洲国产女人aaa毛片在线| 亚洲一区二区三区精品在线| 国际精品欧美精品| 亚洲天堂免费观看| 极品日韩av| 午夜视频在线观看一区| 亚洲国产人成综合网站| 欧美一区二区三区四区夜夜大片 | 亚洲午夜激情网页| 黄色影院成人| 亚洲一区在线播放| 1024国产精品| 欧美在线日韩| 亚洲精品中文字| 久久免费午夜影院| 亚洲午夜精品福利| 欧美日本亚洲韩国国产| 久久丁香综合五月国产三级网站| 欧美色精品天天在线观看视频|