亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VCD波形的FPGA驗證平臺*

        2019-10-14 11:14:26朱巖巖方建勇許壽全
        指揮控制與仿真 2019年5期
        關(guān)鍵詞:原型時鐘波形

        朱巖巖,方建勇,許壽全

        (江蘇自動化研究所,江蘇連云港 222061)

        物理原型驗證方法是一種即耗時又昂貴[1]的ASIC驗證方法。對于每一種芯片,物理原型驗證要求要有獨立的原型設(shè)計,并且在對這些芯片進行實時驗證時,要考慮所有可能的測試向量輸入,這是一項十分棘手的工作。

        近年來, 隨著現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)技術(shù)的快速發(fā)展,FPGA以其高靈活性、高集成度、高速度、低功耗和低成本[2]的優(yōu)勢,成為物理原型驗證方法的良好載體?;贔PGA的物理原型驗證方法在ASIC驗證領(lǐng)域得到了越來越廣泛的應(yīng)用。這種方法一方面可使設(shè)計者可以較好把握硬件設(shè)計的物理特性[3],另一方面可以獲得相比較于傳統(tǒng)RTL仿真工具1000倍以上的仿真速度[4]。

        目前, 國外許多半導(dǎo)體廠商已經(jīng)使用FPGA完成物理原型驗證。如飛思卡爾半導(dǎo)體應(yīng)用基于FPGA的IC原型驗證技術(shù), 加速了芯片開發(fā)速度、降低了成本、提高了流片成功率[5]。而我國ASIC驗證起步較晚,與發(fā)達(dá)國家還存在較大差異,隨著芯片驗證的需求不斷增加,國內(nèi)對FPGA物理原型驗證方法的研究也日益重視。VCD(Value Change Dump)波形文件是 Verilog HDL語言標(biāo)準(zhǔn)的一部分,它記錄了仿真過程中的輸入輸出引腳變化信息[6]。在ASIC驗證中,VCD波形文件被廣泛應(yīng)用于功能驗證,如ATE(Automatic Test Equipment)測試設(shè)備[7]等??紤]到FPGA技術(shù)不斷進步的優(yōu)勢,針對中小規(guī)模的ASIC設(shè)計,將VCD波形與FPGA原型驗證相結(jié)合,實現(xiàn)基于VCD波形的FPGA原型驗證平臺,能夠替代昂貴的測試設(shè)備,有效降低成本,且具有較好的靈活性。

        基于此種背景,本文研究開發(fā)了一套基于FPGA的硬件和相應(yīng)軟件組成的物理原型驗證平臺。驗證平臺的輸入使用了VCD仿真波形文件。在本驗證平臺中,驗證平臺首先對VCD波形進行預(yù)處理,將其下載到FPGA中,并進一步應(yīng)用到實時環(huán)境中。而從被測對象(DUT)返回的響應(yīng)數(shù)據(jù)經(jīng)驗證平臺驗證后被傳回上位機,上位機軟件可顯示該驗證結(jié)果。驗證人員或設(shè)計人員可以分析驗證結(jié)果,找到設(shè)計的問題所在。本研究所開發(fā)的驗證平臺提供了一個易于使用,驗證成本低廉的驗證環(huán)境,彌補了模擬仿真與硬件驗證之間的不足。

        1 VCD仿真波形

        VCD仿真波形文件包含的時序信息十分豐富。在將VCD波形文件作為驗證平臺的輸入時,要對VCD波形文件進行處理,提取其內(nèi)部的有效信息。處理VCD波形文件的方法是先對VCD文件進行周期化切割,測試時序中的定時沿,最后進行向量編譯[8]。本研究對VCD波形的處理正是采用了這種方法,將VCD波形文件按照其特定格式以時間周期切割成比特流,測定其定時沿后,以報文形式編譯為測試向量。

        VCD波形文件的處理只是對其內(nèi)容信息的提取,使用VCD波形文件作為驗證平臺的輸入時需要另外注意一些問題。一般來說, 這些問題包括[9]:

        1) 每次對數(shù)據(jù)進行處理時,數(shù)據(jù)大小是不同的,另外,所有信號的時鐘頻率也不盡相同,單獨操縱它們無疑會使硬件設(shè)計變得非常復(fù)雜;

        2) 每個接口信號都需要存儲,這增加了存儲的需求;

        3) 驗證平臺需要存儲每個時間的變化以及該時間點所對應(yīng)的邏輯值;另一方面,由于時序信息比較豐富,比對這些值需要耗費較長的時間。

        由于使用VCD波形文件會面對這些問題,硬件平臺的搭建過程要充分考慮VCD仿真波形文件的特點。本研究正基于此對驗證平臺進行了設(shè)計,提出了合理的硬件結(jié)構(gòu)和具體可行的設(shè)計方案。

        2 FPGA驗證平臺

        2.1 驗證平臺架構(gòu)

        FPGA能夠提供功能驗證所需的速度,I/O[10]和可伸縮性[11]。本驗證平臺使用的FPGA芯片是XILINX Virtex-7系列芯片(XC7V585T)。該芯片提供了豐富的I/O口和可用于存儲測試向量和響應(yīng)數(shù)據(jù)的28 Mbit的RAM。FPGA驗證平臺架構(gòu)如圖1所示。其中包括了COMe模塊、FPGA模塊、DDR3模塊、PCIe總線和FMC接口等。

        在工作流程上,COMe模塊對VCD波形進行處理生成測試向量,測試向量在FPGA轉(zhuǎn)化為測試激勵,測試激勵經(jīng)FMC接口傳到DUT上。讀取響應(yīng)過程則相反,FPGA通過FMC讀取DUT的響應(yīng)數(shù)據(jù),并將其與預(yù)期值進行比對,最后將驗證結(jié)果返回PC端進行顯示。

        圖1 FPGA驗證平臺架構(gòu)

        2.2 軟件架構(gòu)

        FPGA驗證輔助軟件用于連接模擬器和硬件環(huán)境。該軟件的體系結(jié)構(gòu)如圖2所示,該軟件獨立于任何計算機輔助設(shè)計(CAD)環(huán)境,并能運行于Windows操作系統(tǒng)中。它需要一個VCD波形文件作為輸入,該軟件讀取輸入并將其轉(zhuǎn)換為一組兼容的Test Pattern。

        軟件首先對輸入進行處理生成Test Pattern,接著將Test Pattern輸出到驗證平臺。驗證的結(jié)果從驗證平臺傳回,再通過軟件處理存儲為標(biāo)準(zhǔn)VCD文件。

        圖2 FPGA驗證輔助軟件架構(gòu)

        3 關(guān)鍵技術(shù)分析

        3.1 時鐘域的劃分

        由于待測對象的接口信號屬于多個時鐘域,如果以時鐘域的形式將接口信號劃分為多個組,每個組分別對應(yīng)不同的時鐘,那么硬件設(shè)計上不僅會變得更為簡單,還可以解決多時鐘接口信號的問題。

        本研究基于FPGA驗證平臺將時鐘域劃分為相互獨立的4個組,每組的接口信號均包含input、output和inout信號。對于驗證平臺,同樣以時鐘域?qū)est Pattern復(fù)制劃分為4個組,每組Pattern對應(yīng)于時鐘域接口信號的驅(qū)動。時鐘域的劃分方法如下:

        1) 根據(jù)時鐘域?qū)attern劃分為4個子Pattern,如Pattern-1, Pattern-2, Pattern-3, Pattern-4,每個Pattern對應(yīng)一組驗證接口信號,Pattern之間相互獨立,每個Pattern具有完整的幀結(jié)構(gòu);

        2) 主機依次load這幾個Pattern,等待所有Pattern完成加載后才可以開始驗證;

        3) 根據(jù)時鐘域通過Pin-ctrl模塊將Pattern加載和存儲,將此過程劃分為對應(yīng)不同時鐘域的幾個組,如Group1,Group2,Group3,Group4;

        4) 每個Group均包含若干個PIN-DRIVE, PIN-CAPTURE, PIN-INOUT信號;

        5) CLK模塊提供多個時鐘,分別對應(yīng)于劃分的多個Pattern,如clk1,clk2,clk3,clk4;

        6) 配置寄存器,定義每個group選用哪個時鐘。如果都處于不同時鐘域,可以是Group1選clk1,Group2選clk2,Group3選clk3,Group4選clk4;如果某兩個或多個Group處于同一時鐘域,可以是Group1/2/3都選clk1,Group4選clk4。

        3.2 數(shù)據(jù)緩沖

        VCD文件中含有豐富的接口信號信息,在驗證過程中,FPGA需要對這些接口信號進行不斷處理,但 FPGA上的片上資源有限,不能滿足所有數(shù)據(jù)的處理需求。為解決此問題,驗證平臺引入了存儲器來緩沖數(shù)據(jù)。

        驗證平臺在FPGA上外掛兩個2 G的DDR3存儲器,分別用于緩沖來自CPU的測試向量和來自FPGA的響應(yīng)數(shù)據(jù)。在驗證過程中,CPU產(chǎn)生的測試向量先寫入到一塊DDR3上,FPGA以讀方式讀取此塊DDR3的測試向量;FPGA產(chǎn)生的響應(yīng)數(shù)據(jù)以寫方式寫入另一塊DDR3,CPU從這塊DDR3上讀取響應(yīng)數(shù)據(jù)。其工作原理圖如圖3所示。

        圖3 數(shù)據(jù)緩沖原理圖

        存儲器的引入相當(dāng)于在CPU與FPGA之間插入一個緩沖器,用來解決數(shù)據(jù)流量過大引起的存儲問題,減輕了FPGA的負(fù)擔(dān)。這種設(shè)計方法同時也改善了CPU與FPGA的數(shù)據(jù)傳輸速度不匹配的問題,使得FPGA可以實現(xiàn)更靈活的程序設(shè)計。

        3.3 異構(gòu)解算

        本驗證平臺采用了CPU+FPGA的架構(gòu),其中CPU負(fù)責(zé)生成測試向量,FPGA擔(dān)任協(xié)處理器,主要用于測試向量注入的解算和驗證結(jié)果對比的解算。

        在注入解算上,使用FPGA片上Block RAM搭建雙端口DPRAM組(圖4中a1-an)來存儲測試向量文件。DPRAM一端接受來自Pattern-load-ctrl塊寫入的數(shù)據(jù);另一端讀出數(shù)據(jù)給Pin-ctrl。其中,Pattern-load-ctrl用于承載測試向量并進行DPRAM的分配,Pin-ctrl能夠控制PIN的驅(qū)動和獲取,并選擇對應(yīng)的接口。圖4中的b1-bn代表這些接口。測試向量注入解算的流程如圖4所示。

        圖4 測試向量注入解算過程

        響應(yīng)數(shù)據(jù)的接收與測試向量注入解算過程相反,這里不再贅述。

        在對比解算上,同樣使用FPGA片上RAM。響應(yīng)數(shù)據(jù)被暫存在一組RAM上(圖5中的m1-mn),期望值數(shù)據(jù)被暫存在另一組RAM上(圖5中的n1-nn),根據(jù)響應(yīng)數(shù)據(jù)中的每條行頭標(biāo)記對應(yīng)的描述行序號,將兩組RAM進行匹配,分別同時進行對比。其解算過程如圖5所示。

        圖5 驗證結(jié)果對比解算過程

        注入解算和對比解算利用了FPGA并行的特點。CPU只負(fù)責(zé)測試向量的生成與響應(yīng)數(shù)據(jù)的讀取,而FPGA將數(shù)據(jù)進行分組,以其并行計算的優(yōu)勢,在較短的時間內(nèi)同時處理大量接口信號的信息,進而縮短了驗證時間。

        4 實驗驗證

        FPGA驗證平臺采用子板加母板架構(gòu),用戶可根據(jù)子板功能對子板進行預(yù)先設(shè)計,免除了對母板的頻繁修改,FPGA驗證平臺實物如圖6所示。

        圖6 FPGA驗證平臺

        為測試基于VCD波形的FPGA驗證平臺能否正常工作,本文對一個已驗證好的芯片子板進行驗證。其結(jié)構(gòu)框圖如下圖7所示。

        圖7 實驗驗證結(jié)構(gòu)框圖

        其中,DUT為包含Counter模塊芯片的被測子板,FPGA驗證平臺中設(shè)計了用于與子板通信的三類接口:DRIVE-PINS-CLK、DRIVE-PINS和CAPTURE-PINS。

        啟動驗證過程中,VCD波形首先被轉(zhuǎn)化為測試向量,測試向量文件如圖8所示。

        在本次實驗驗證中,測試向量格式被定義如下:

        1) 測試向量.txt文件由若干行組成,每行96 bit數(shù)字,取值1,0或z;行數(shù)與記錄的時鐘周期數(shù)有關(guān);

        2) [95]:reserve,保留位;

        3) [94:80]:ptn-line-num,測試向量文件行號,從零開始遞增;

        4) [79]:檢查使能;

        5) [78:64]:ptn-hold-num,表示該行測試向量延續(xù)多少個時鐘周期;

        圖8 測試向量文件

        6) [63:23]:drive-pins的記錄值,FPGA驗證平臺根據(jù)該值驅(qū)動drv-pins,1為高電平,0為低電平,z為高阻;

        7) [31:0]:cap-pins,FPGA驗證平臺將cap-pins作為待測FPGA設(shè)計輸出信號的期望值,1為高電平,0位低電平,z表示不關(guān)心。

        在測試向量文件中,為了驗證FPGA驗證平臺能否正常運行,通過修改mem[4]、mem[6],注入錯誤行,在Vivado上觀察前后波形變化:

        測試向量未注入錯誤行時,圖9中cap-error-valid信號一直為低電平,無錯誤發(fā)生。測試向量注入錯誤行后時,圖10中cap-error-valid信號有兩處高電平,標(biāo)記出兩處錯誤,第一個錯誤期望值為0x00,真實值為0x02;第二個錯誤期望值為0x03,真實值為0x01。波形圖表明,FPGA驗證平臺能檢測出VCD轉(zhuǎn)化的測試向量出現(xiàn)的錯誤,驗證結(jié)果能夠正確顯示出來。

        通過本次驗證,檢驗了基于VCD波形的FPGA驗證平臺的整個工作流程。實驗結(jié)果證明,基于VCD波形的FPGA驗證平臺各功能模塊能夠正常運行,FPGA驗證平臺能夠正常工作。

        圖9 注入錯誤行前波形

        圖10 注入錯誤行后波形

        5 結(jié)束語

        本文在VCD波形文件處理的基礎(chǔ)上,通過分析VCD波形文件特點,合理設(shè)計了FPGA硬件平臺,包括時鐘域的劃分,數(shù)據(jù)緩沖的實現(xiàn)以及異構(gòu)解算處理方法等。這些方法對ASIC驗證有一定借鑒意義。如果進一步擴展,未來驗證平臺將用于驗證小型系統(tǒng)。可以考慮在待驗板上集成多個FPGA或ASIC形成DUT,這將更適用于實際的工程應(yīng)用。

        猜你喜歡
        原型時鐘波形
        別樣的“時鐘”
        對《壓力容器波形膨脹節(jié)》2018版新標(biāo)準(zhǔn)的理解及分析
        包裹的一切
        古代的時鐘
        基于LFM波形的靈巧干擾效能分析
        《哈姆雷特》的《圣經(jīng)》敘事原型考證
        有趣的時鐘
        論《西藏隱秘歲月》的原型復(fù)現(xiàn)
        時鐘會開“花”
        基于ARM的任意波形電源設(shè)計
        国产精品性色av麻豆| 亚洲VA中文字幕无码毛片春药| 欧美亚洲h在线一区二区| 国产三级韩三级日产三级| 精品香蕉一区二区三区| 水蜜桃无码视频在线观看| 久久99国产亚洲高清| 成年女人18毛片观看| 日韩乱码人妻无码系列中文字幕| 亚洲色欲久久久综合网| 巨爆乳中文字幕爆乳区| 日本一区二区三区精品不卡| 亚洲综合精品中文字幕| 精品麻豆国产色欲色欲色欲www| Y111111国产精品久久久| 青青草绿色华人播放在线视频| 亚洲a无码综合a国产av中文| 国产精品无码a∨精品影院| 日韩中文字幕一区二区高清 | 国产公开免费人成视频| 久久这里只精品国产免费10 | 蜜桃人妻午夜精品一区二区三区 | 国产av自拍视频在线观看| 亚洲日韩av无码中文字幕美国| 国产成人亚洲综合无码DVD| 国产午夜视频高清在线观看| 亚洲a∨无码精品色午夜| 亚洲欧美日韩综合久久久| 九月色婷婷免费| 亚洲国产中文字幕无线乱码| 无码乱人伦一区二区亚洲一| 乱子伦av无码中文字幕| 国产激情小视频在线观看| 粗大的内捧猛烈进出小视频| 亚洲av无码乱码国产麻豆穿越| 日本五十路熟女在线视频| 国产精品一区二区三区在线免费| 国产福利一区二区三区在线观看| 国产精品一区二区三级| 日韩精品久久午夜夜伦鲁鲁| 伊人久久大香线蕉综合影院首页|