18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用三種自動(dòng)化testbench驗(yàn)證方法

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2020-11-20 11:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Testbench編寫指南(4)自動(dòng)化驗(yàn)證方法

自動(dòng)化驗(yàn)證testbench結(jié)果可以減少人工檢查的時(shí)間和可能犯的失誤,尤其對于比較大的設(shè)計(jì)。目前普遍使用三種自動(dòng)化testbench驗(yàn)證方法:

數(shù)據(jù)庫比較:首先創(chuàng)建一個(gè)包含預(yù)期輸出的數(shù)據(jù)庫文件(稱作golden
vector文件),然后捕獲仿真輸出與該文件中的參考向量作比較。但是由于沒有提供從輸出到輸入文件的指針,該方法的缺點(diǎn)是難以追蹤導(dǎo)致不正確輸出的錯(cuò)誤源。

波形比較:將testbench輸出波形與預(yù)期波形作比較。Xilinx曾推出過一款HDL
Bencher的工具,可以執(zhí)行自動(dòng)化的波形比較,不過目前由于該方法很少使用,Xilinx也下架了該工具。

自我檢查testbench設(shè)計(jì):與前兩種方法不同,該方法實(shí)時(shí)檢查預(yù)期結(jié)果和實(shí)際結(jié)果,而不是仿真結(jié)束后才檢查。在testbench中插入錯(cuò)誤追蹤信息可以顯示設(shè)計(jì)在哪里失敗,從而縮短調(diào)試時(shí)間。

本文將介紹最后一種自動(dòng)化驗(yàn)證方法。將一系列預(yù)期向量(比如由MATLAB等軟件產(chǎn)生)放在testbench文件中,在運(yùn)行時(shí)間間隔與實(shí)際仿真結(jié)果比較,如果匹配則表明仿真成功;不匹配則報(bào)告結(jié)果不符。

比較時(shí)間可以選擇在每個(gè)時(shí)鐘邊沿,或者沒n個(gè)時(shí)鐘周期比較一次,總而言之要與設(shè)計(jì)相符合。比如內(nèi)存I/O的testbench應(yīng)該在讀出或?qū)懭胍粋€(gè)新數(shù)據(jù)后就進(jìn)行比較;如何設(shè)計(jì)使用了大量組合邏輯模塊,選取比較時(shí)間必須考慮組合邏輯延遲。
??對于中小型設(shè)計(jì)而言,自我檢查的testbench設(shè)計(jì)方法是一種不錯(cuò)的選擇,但是對于復(fù)雜的大型設(shè)計(jì),可能的輸出組合呈指數(shù)形式增加,編寫一個(gè)自我檢查testbench將會(huì)困難很多。下面給出一個(gè)自我檢查testbench的設(shè)計(jì)示例(來源于xapp199):

`timescale 1 ns / 1 ps module test_sc; // 信號(hào)申明 reg tbreset, tbstrtstop; reg tbclk; wire [6:0] onesout, tensout; wire [9:0] tbtenthsout; parameter cycles = 25; reg [9:0] Data_in_t [0:cycles]; // 實(shí)例化設(shè)計(jì) stopwatch UUT (.CLK (tbclk), .RESET (tbreset), .STRTSTOP (tbstrtstop), .ONESOUT (onesout), .TENSOUT (tensout), .TENTHSOUT (tbtenthsout)); wire [4:0] tbonesout, tbtensout; assign tbtensout = led2hex(tensout); assign tbonesout = led2hex(onesout); //------------------------------------------------------------- // 預(yù)期結(jié)果 //------------------------------------------------------------- initial begin Data_in_t[1] =10'b1111111110; Data_in_t[2] =10'b1111111101; Data_in_t[3] =10'b1111111011; Data_in_t[4] =10'b1111110111; Data_in_t[5] =10'b1111101111; Data_in_t[6] =10'b1111011111; Data_in_t[7] =10'b1110111111; Data_in_t[8] =10'b1101111111; Data_in_t[9] =10'b1011111111; Data_in_t[10]=10'b0111111111; Data_in_t[11]=10'b1111111110; Data_in_t[12]=10'b1111111110; Data_in_t[13]=10'b1111111101; Data_in_t[14]=10'b1111111011; Data_in_t[15]=10'b1111110111; Data_in_t[16]=10'b1111101111; Data_in_t[17]=10'b1111011111; Data_in_t[18]=10'b1110111111; Data_in_t[19]=10'b1101111111; Data_in_t[20]=10'b1011111111; Data_in_t[21]=10'b0111111111; Data_in_t[22]=10'b1111111110; Data_in_t[23]=10'b1111111110; Data_in_t[24]=10'b1111111101; Data_in_t[25]=10'b1111111011; end reg GSR; assign glbl.GSR = GSR; initial begin GSR = 1; // 等到全局復(fù)位結(jié)束 #100 GSR = 0; end //建立一個(gè)時(shí)鐘 initial begin tbclk = 0; //全局復(fù)位結(jié)束后開始產(chǎn)生時(shí)鐘信號(hào) #100 forever #60 tbclk = ~tbclk; end //給出設(shè)計(jì)激勵(lì) initial begin tbreset = 1; tbstrtstop = 1; #240 tbreset = 0; tbstrtstop = 0; #5000 tbstrtstop = 1; #8125 tbstrtstop = 0; #500 tbstrtstop = 1; #875 tbreset = 1; #375 tbreset = 0; #700 tbstrtstop = 0; #550 tbstrtstop = 1; #100000 $stop; end //------------------------------------------------------------- // 在每個(gè)時(shí)鐘的下降沿比較預(yù)期結(jié)果和實(shí)際結(jié)果 //------------------------------------------------------------- integer i,errors; always @ (posedge tbclk) begin if (tbstrtstop) begin i = 0; errors = 0; end else begin for (i = 1; i <= cycles; i = i + 1) begin ? ? ? ?@(negedge tbclk) ? ? ? ?// 每個(gè)下降沿檢查結(jié)果 ? ? ? ?$display("Time%d ns; TBSTRTSTOP=%b; Reset=%h; Expected ? ? ? ?TenthsOut=%b; Actual TenthsOut=%b", $stime, tbstrtstop, tbreset, ? ? ? ?Data_in_t[i], tbtenthsout); ? ? ? ?if ( tbtenthsout !== Data_in_t[i] ) begin ? ? ? ? ? ?$display(" ------ERROR. A mismatch has occurred-----"); ? ? ? ? ? ?errors = errors + 1; ? ? ? ?end ? ?end ? ?if (errors == 0) ? ? ? ?$display("Simulation finished Successfully."); ? ?else if (errors > 1) $display("%0d ERROR! See log above for details.",errors); else $display("ERROR! See log above for details."); #100 $stop; end end endmodule

上述代碼中,將預(yù)期結(jié)果和實(shí)際結(jié)果的比較情況顯示在終端。該代碼模板可應(yīng)用于任何設(shè)計(jì)的自我檢查testbench中,需要修改實(shí)例化接口和預(yù)期的輸出值。如果不需要在每個(gè)時(shí)鐘沿檢查一次數(shù)據(jù),則修改for循環(huán)的執(zhí)行條件。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    189

    文章

    3010

    瀏覽量

    237043
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5849

    瀏覽量

    88362
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3983

    瀏覽量

    67525

原文標(biāo)題:Testbench編寫指南(4)自動(dòng)化驗(yàn)證方法

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    智芯公司完成智能分布式饋線自動(dòng)化試點(diǎn)驗(yàn)證

    近日,智芯公司所屬智芯半導(dǎo)體聯(lián)合國網(wǎng)河南電力門峽供電公司、中國移動(dòng)門峽分公司完成基于 5G LAN技術(shù)的智能分布式饋線自動(dòng)化試點(diǎn)驗(yàn)證。此次現(xiàn)網(wǎng)試點(diǎn)將5G通信技術(shù)與智能分布式饋線
    的頭像 發(fā)表于 09-30 15:34 ?745次閱讀

    自動(dòng)化測試如何繞過Cloudflare驗(yàn)證碼?Python + Selenium 腳本實(shí)戰(zhàn)指南!

    01什么是Cloudflare驗(yàn)證碼Cloudflare提供網(wǎng)絡(luò)工具,并提供一套全面的安全功能,以保護(hù)網(wǎng)站免受各種在線威脅。Cloudflare驗(yàn)證碼是一用于區(qū)分人類用戶和自動(dòng)化機(jī)器
    的頭像 發(fā)表于 08-15 10:01 ?628次閱讀
    <b class='flag-5'>自動(dòng)化</b>測試如何繞過Cloudflare<b class='flag-5'>驗(yàn)證</b>碼?Python + Selenium 腳本實(shí)戰(zhàn)指南!

    工業(yè)DTU對工業(yè)自動(dòng)化通信格局的重塑

    隨著工業(yè)4.0和智能制造的快速發(fā)展,工業(yè)自動(dòng)化系統(tǒng)對通信技術(shù)的要求越來越高。工業(yè)數(shù)據(jù)傳輸單元(DTU,DataTransferUnit)作為一新興的通信設(shè)備,正在逐步重塑工業(yè)自動(dòng)化通信格局,為工業(yè)
    的頭像 發(fā)表于 03-28 14:09 ?480次閱讀
    工業(yè)DTU對工業(yè)<b class='flag-5'>自動(dòng)化</b>通信格局的重塑

    告別人工檢測!casaim自動(dòng)化維激光掃描

    casaim自動(dòng)化維激光掃描技術(shù)通過集成傳感器、智能算法和自動(dòng)化控制系統(tǒng),解決了傳統(tǒng)人工檢測的諸多問題。
    的頭像 發(fā)表于 03-12 13:20 ?489次閱讀
    告別人工檢測!casaim<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>三</b>維激光掃描

    相濾波器:工業(yè)自動(dòng)化的穩(wěn)定基石

    自動(dòng)化中的應(yīng)用,以及它如何成為這一領(lǐng)域不可或缺的科技力量。 一、相濾波器:工業(yè)自動(dòng)化中的電磁守護(hù)者 相濾波器的工作原理與重要性 相濾波
    的頭像 發(fā)表于 03-11 11:04 ?677次閱讀

    HFSS 自動(dòng)化建模工具

    因工作需求,自己寫的HFSS參數(shù)自動(dòng)化建模工具,目前只實(shí)現(xiàn)了常用的四模型,可定制,如需可聯(lián)系 qq:1300038043 附件下載鏈接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT
    發(fā)表于 02-27 17:44

    casaim自動(dòng)化維激光掃描

    CASAIM自動(dòng)化維激光掃描技術(shù)通過非接觸式高精度數(shù)據(jù)采集與智能分析系統(tǒng),為工業(yè)檢測提供全流程數(shù)字化解決方案。
    的頭像 發(fā)表于 02-27 10:32 ?568次閱讀

    自動(dòng)化設(shè)備中滾珠螺桿的清洗方法有哪些?

    滾珠螺桿是一常見的精密傳動(dòng)元件,廣泛應(yīng)用于機(jī)床、自動(dòng)化設(shè)備等領(lǐng)域。
    的頭像 發(fā)表于 02-05 17:58 ?577次閱讀
    <b class='flag-5'>自動(dòng)化</b>設(shè)備中滾珠螺桿的清洗<b class='flag-5'>方法</b>有哪些?

    示波器的三種觸發(fā)模式

    示波器的觸發(fā)方式不僅影響波形捕捉的時(shí)機(jī),還決定了顯示的波形是否穩(wěn)定。 常見的觸發(fā)模式有三種: 單次觸發(fā) (Single)、 正常觸發(fā) (Normal)和 自動(dòng)觸發(fā) (Auto)。下面將對這三種觸發(fā)
    的頭像 發(fā)表于 01-07 11:04 ?1.1w次閱讀
    示波器的<b class='flag-5'>三種</b>觸發(fā)模式

    串口屏自動(dòng)化測試

    嚴(yán)謹(jǐn)而高效的自動(dòng)化測試方案顯得尤為重要。以下是對串口屏自動(dòng)化測試策略的深度解析,旨在通過高質(zhì)量的測試設(shè)計(jì),嚴(yán)格控制產(chǎn)品設(shè)計(jì)質(zhì)量,推動(dòng)產(chǎn)業(yè)升級。 引言 串口屏自動(dòng)化測試是連接軟件開發(fā)與硬件性能驗(yàn)
    的頭像 發(fā)表于 12-27 17:17 ?1673次閱讀

    菱PLC在工業(yè)自動(dòng)化中的作用

    、增強(qiáng)系統(tǒng)穩(wěn)定性和安全性方面發(fā)揮著不可替代的作用。 一、菱PLC的定義與特點(diǎn) 菱PLC是一專為工業(yè)環(huán)境設(shè)計(jì)的數(shù)字運(yùn)算操作的電子系統(tǒng),用于控制機(jī)器或生產(chǎn)過程。它通過軟件編程來實(shí)現(xiàn)自動(dòng)化
    的頭像 發(fā)表于 12-26 17:56 ?1632次閱讀

    菱PLC自動(dòng)化控制應(yīng)用領(lǐng)域

    在現(xiàn)代工業(yè)生產(chǎn)中,自動(dòng)化控制技術(shù)扮演著至關(guān)重要的角色。菱電機(jī)作為自動(dòng)化技術(shù)的先驅(qū)之一,其PLC產(chǎn)品以其高可靠性、高性能和易用性在全球范圍內(nèi)被廣泛采用。 1. 制造業(yè) 制造業(yè)是PLC應(yīng)用最廣泛的領(lǐng)域
    的頭像 發(fā)表于 12-26 17:34 ?2949次閱讀

    CAN總線在工業(yè)自動(dòng)化中的應(yīng)用

    CAN總線作為一高效的現(xiàn)場總線系統(tǒng),已經(jīng)在工業(yè)自動(dòng)化領(lǐng)域得到了廣泛的應(yīng)用。 1. 引言 隨著工業(yè)自動(dòng)化技術(shù)的快速發(fā)展,對通信系統(tǒng)的要求也越來越高。CAN總線以其高速、可靠和靈活的特點(diǎn),成為連接工業(yè)
    的頭像 發(fā)表于 11-12 09:45 ?2776次閱讀

    編寫高效Testbench的指南和示例

    Testbench驗(yàn)證HDL設(shè)計(jì)的主要手段,本文提供了布局和構(gòu)建高效Testbench的指南以及示例。另外,本文還提供了一示例,可以為任何設(shè)計(jì)開發(fā)自檢
    的頭像 發(fā)表于 10-29 16:14 ?2570次閱讀
    編寫高效<b class='flag-5'>Testbench</b>的指南和示例

    工控自動(dòng)化電流信號(hào)隔離柵

    ,簡稱信號(hào)隔離柵,是一用于工業(yè)自動(dòng)化系統(tǒng)內(nèi)的設(shè)備,主要作用是將輸入信號(hào)與輸出信號(hào)進(jìn)行電氣隔離。這種隔離可以有效防止由高電壓或電流引起的設(shè)備損壞,確保設(shè)備在安全范圍內(nèi)運(yùn)行,同時(shí)避免電氣噪聲、干擾信號(hào)以及其他外部
    的頭像 發(fā)表于 10-28 14:25 ?1456次閱讀
    工控<b class='flag-5'>自動(dòng)化</b>電流信號(hào)隔離柵