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

  引言
       在IC(integrated circuit.集成電路)發展到超大規模階段的今天,基于IP(Intellectual Property,知識產權)核的IC設計及其再利用是保證SoC(system onchip,片上系統)開發效率和質量的重要手段。如果能對IP核進行驗證、測試和集成.就可以加速SoC的設計,而這需要從以下5個方面進行考慮。

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

  1 IP核與RISC體系

  1.1 IP核

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

  1.2 RISC處理器

  RISC(reduced instruction set computer.精簡指令系統計算機)是IBM公司提出來的、在CISC(complerinstruction set computer復雜指令系統計算機)的基礎,上繼承和發展起來的一種新型系統結構技術。具有結構簡單指令合理成本低廉快捷高效等特點。應用前景被普遍看好。國際IT領域的大公司如IBM、DEC、Intel、ARM、Motorola、Apple、HP等先后將其力量轉向RISC.并已經開發出各種基于RISC的芯片或IP核。

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

  1.3 VHDI語言

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

  2 IP核的仿真與測試

  2.1 SoC的測試策略

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

  2.2 IP核的測試方案

  IP核的研究平臺有很多種.但一般硬件仿真調試器費用昂貴(幾千到數萬元),對于普通用戶來說難于承受。為此,本文利用免費的IP核進行改寫,利用Xilinx ISE開發軟件和匯編語言翻譯過來的機器碼作為測試激勵,完成了RISC結構的Xilinx Spartan2系列的FPGA芯片CPU指令的驗證和測試方案.具體方案如下:

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

 

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

 

  (3)如果SoC應用成功.則可通過cell-Base Design Flow將其轉成ASIC版圖.實現流片。

   2.3 IP核的驗證方法

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

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

  (2)程序仿真測試法。就是為設計模

 

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

 

  2.4 IP核的測試仿真

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

  (1)給Wave(波形)窗口添加信號。首先添加的是RISC 8的整體Structure(結構)信號。

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

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

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

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

  在后仿真過程中,看一下“portb”的輸出是否與行為級仿真一致,若一致則測試通過。如果不一致則必須返回原程序和行為級仿真,對時序進行仔細分析(因為這種情況大都是因為加入延遲后原來的時序發生改變)。

  
       3 IP核在RISC架構中的下載實例

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

  我們選用MICrochip公司生產的PICl6c5x-Xilinx Spartan2系列中的Xc2s150微處理器下載.因為其FPGA芯片架構指令與8位RISC兼容.能夠很容易實現RISC架構之指令集。

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

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

  3.2 測試激勵程序的加載步驟與驗證

  選擇“Project”萊單中的“News Source”選項,在彈出的“New”對話框左側選擇文件類型為“Test Bench Waveform”,填入文件名,單擊下一步,在彈出的“select”對話框中選擇關聯的源為“anss_risc8_top”,單擊下一步.然后單擊“Finish”后會啟動HDL Bencher.在這個軟件環境中可以輸入激勵信號最后將由匯編測試程序翻譯過來的機器碼信息作為激勵信號輸入保存.輸入測試時間后退出HDL Benche。

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

    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

 

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

 

  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

 

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

  4 結束語

  集成電路發展到超大規模階段后,芯片中凝聚的知識已經高度濃縮。專有知識產權的IP核設計及其再利用是保證SoC開發效率和質最的重要手段。 隨著CPLD/FPGA的規模越來越大,設計越來越復雜,IP核是必然的發展趨勢。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产午夜精品久久久| 日韩视频中文| 欧美视频在线不卡| 欧美激情中文字幕在线| 免费欧美日韩国产三级电影| 久久野战av| 久久久久国产精品厨房| 欧美一区二区三区精品| 亚洲男同1069视频| 亚洲——在线| 亚洲男人的天堂在线aⅴ视频| 一区二区毛片| 一区二区欧美在线观看| 夜夜爽夜夜爽精品视频| 99国产精品久久久久久久久久| 91久久中文| 亚洲精品免费一二三区| 亚洲三级视频| 亚洲毛片在线观看.| 亚洲日韩视频| 日韩一级在线| 在线视频中文亚洲| 亚洲一区精品视频| 亚洲欧美日韩精品久久久久| 亚洲欧美日本视频在线观看| 午夜在线播放视频欧美| 欧美一级视频| 久久久蜜桃精品| 久色成人在线| 欧美福利视频一区| 欧美日韩国产精品自在自线| 国产精品xxxxx| 国产精品亚洲激情| 国产亚洲精品久久久久动| 国产一区999| 尤物九九久久国产精品的分类| 亚洲国产精品久久人人爱蜜臀| 亚洲精品视频在线观看免费| 一区二区三区免费网站| 亚洲综合精品一区二区| 久久99伊人| 亚洲精品午夜精品| 亚洲一区精品在线| 久久国产天堂福利天堂| 欧美成人首页| 国产精品a级| 国内精品伊人久久久久av一坑| 亚洲黄网站黄| 亚洲午夜精品网| 久久成人资源| 99精品欧美一区二区三区| 亚洲综合电影一区二区三区| 久久夜色精品国产欧美乱| 欧美黄色成人网| 国产精品免费观看在线| 国产亚洲一区在线播放| 亚洲黄一区二区| 亚洲午夜精品国产| 亚洲二区在线视频| 亚洲视频高清| 久久久精品国产一区二区三区| 欧美国产日本在线| 国产精品一区二区三区免费观看| 在线观看日产精品| 亚洲香蕉网站| 亚洲经典三级| 午夜视频在线观看一区二区| 免费欧美在线视频| 国产精品每日更新| 亚洲激情在线激情| 香蕉精品999视频一区二区| 亚洲美女尤物影院| 欧美在线影院| 欧美日韩在线观看视频| 国产一区二区三区在线免费观看| 亚洲美女性视频| 亚洲丰满在线| 亚洲欧美韩国| 欧美精品在线视频| 国产欧美日韩| av不卡在线观看| 久久精品九九| 亚洲欧美成人在线| 欧美激情91| 精品91在线| 亚洲女爱视频在线| 一区二区三区三区在线| 久久综合给合久久狠狠色| 国产精品久久久一本精品| 亚洲国语精品自产拍在线观看| 性娇小13――14欧美| 亚洲一区免费看| 欧美激情性爽国产精品17p| 国产曰批免费观看久久久| 亚洲网站在线| 一本色道久久综合亚洲二区三区 | 久久久亚洲影院你懂的| 欧美午夜欧美| 日韩亚洲欧美一区二区三区| 亚洲三级毛片| 久久综合九色九九| 韩国成人理伦片免费播放| 亚洲欧美国产日韩天堂区| 亚洲视频视频在线| 欧美精品一区二区三| 亚洲电影在线看| 亚洲高清不卡在线| 久久精品视频va| 国产欧美精品一区| 亚洲主播在线| 亚洲免费网址| 国产精品户外野外| 一区二区三区日韩| 亚洲视频一区在线| 欧美日韩在线播放一区| 亚洲理论在线| 中文日韩在线视频| 欧美视频一区在线| 一区二区三区鲁丝不卡| 亚洲一区二区三区视频播放| 国产精品theporn| 中国女人久久久| 亚洲综合丁香| 国产精品久久久久久超碰| 宅男66日本亚洲欧美视频| 在线中文字幕一区| 欧美三日本三级少妇三99| 夜久久久久久| 午夜精品亚洲一区二区三区嫩草| 国产精品麻豆va在线播放| 亚洲免费视频中文字幕| 欧美亚洲视频一区二区| 国产精品免费电影| 欧美一级片久久久久久久| 久久久久国内| 亚洲电影欧美电影有声小说| 亚洲剧情一区二区| 欧美日韩无遮挡| 亚洲桃花岛网站| 欧美在线影院在线视频| 狠狠色狠狠色综合人人| 亚洲欧洲精品一区二区三区波多野1战4| 欧美高清视频| 99re在线精品| 欧美一区二区三区四区夜夜大片| 国产午夜精品全部视频在线播放| 久久国产色av| 欧美国产精品久久| 日韩午夜激情av| 午夜在线播放视频欧美| 国产主播喷水一区二区| 亚洲激情在线| 国产精品高潮呻吟久久av黑人| 亚洲欧美日韩国产精品 | 一区在线影院| 日韩亚洲欧美精品| 国产精品福利在线| 久久成人精品一区二区三区| 欧美电影专区| 亚洲在线视频免费观看| 久久婷婷国产综合尤物精品| 亚洲激情av在线| 亚洲欧美中文另类| 激情丁香综合| 亚洲视频欧美视频| 国产一区再线| 一区二区三区高清在线 | 国产自产2019最新不卡| 日韩一二在线观看| 国产精品日韩精品| 亚洲国产精品免费| 国产精品99免费看 | aa级大片欧美| 国产欧美精品一区二区三区介绍| 亚洲电影免费观看高清完整版在线| 欧美久久久久久久久久| 亚洲欧美成人一区二区在线电影 | 免费中文字幕日韩欧美| 一本久久综合亚洲鲁鲁| 久久久久久久一区二区| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲国产精品成人综合| 午夜免费电影一区在线观看| 在线日韩中文字幕| 亚洲欧美国产高清| 亚洲国产精品久久久久婷婷老年| 欧美一区二区三区四区高清| 亚洲精品乱码久久久久久日本蜜臀 | 午夜免费电影一区在线观看| 欧美日本韩国一区| 欧美影院一区| 国产精品扒开腿做爽爽爽软件 | avtt综合网| 国产午夜精品久久久久久免费视| 一区二区免费看| 在线电影国产精品| 欧美一区二区日韩| 一区二区av| 欧美大片在线观看| 欧美一区二区三区精品|