哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

使用三種自動化testbench驗證方法

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

掃碼添加小助手

加入工程師交流群

Testbench編寫指南(4)自動化驗證方法

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

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

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

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

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

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

`timescale 1 ns / 1 ps module test_sc; // 信號申明 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è)計 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 //建立一個時鐘 initial begin tbclk = 0; //全局復(fù)位結(jié)束后開始產(chǎn)生時鐘信號 #100 forever #60 tbclk = ~tbclk; end //給出設(shè)計激勵 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 //------------------------------------------------------------- // 在每個時鐘的下降沿比較預(yù)期結(jié)果和實際結(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) ? ? ? ?// 每個下降沿檢查結(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é)果和實際結(jié)果的比較情況顯示在終端。該代碼模板可應(yīng)用于任何設(shè)計的自我檢查testbench中,需要修改實例化接口和預(yù)期的輸出值。如果不需要在每個時鐘沿檢查一次數(shù)據(jù),則修改for循環(huán)的執(zhí)行條件。

責(zé)任編輯:lq

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

    關(guān)注

    189

    文章

    3028

    瀏覽量

    239146
  • 自動化
    +關(guān)注

    關(guān)注

    31

    文章

    5981

    瀏覽量

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

    關(guān)注

    7

    文章

    4078

    瀏覽量

    68519

原文標(biāo)題:Testbench編寫指南(4)自動化驗證方法

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    通用自動化測試系統(tǒng):FCT、ATE、ICT、PCBA功能測試

    ,以便后續(xù)的質(zhì)量審查和改進(jìn)。 測試治具集成:通過與自動化測試治具的深度集成,系統(tǒng)支持自定義測試工裝與治具,確保每一項測試都能夠準(zhǔn)確無誤地進(jìn)行。 測試應(yīng)用場景 FCT(功能測試):功能測試主要用于驗證
    發(fā)表于 04-13 14:54

    器件工藝協(xié)同優(yōu)化中加速版圖設(shè)計的三種方法

    器件工藝協(xié)同優(yōu)化(DTCO)流程需要生成海量版圖。本文將介紹幾種借助自動化手段,加速這一耗時流程的實現(xiàn)方法
    的頭像 發(fā)表于 03-24 09:41 ?192次閱讀
    器件工藝協(xié)同優(yōu)化中加速版圖設(shè)計的<b class='flag-5'>三種方法</b>

    五個問題助您應(yīng)對自動化系統(tǒng)設(shè)計中的挑戰(zhàn)

    自動化控制系統(tǒng)廣泛應(yīng)用于各類工業(yè)領(lǐng)域的工廠自動化場景——從化工廠到工廠生產(chǎn)線。
    的頭像 發(fā)表于 03-12 10:49 ?472次閱讀

    羅克韋爾自動化2025年自動化博覽會精彩回顧

    作為工業(yè)自動化、信息和數(shù)字轉(zhuǎn)型領(lǐng)域的全球領(lǐng)先企業(yè)之一,羅克韋爾自動化于去年 11 月在芝加哥成功舉辦了年度盛會 —— 2025 年自動化
    的頭像 發(fā)表于 03-10 09:33 ?494次閱讀

    羅克韋爾自動化邀您共赴2025年自動化博覽會

    11 月 17 - 20 日,作為工業(yè)自動化、信息和數(shù)字轉(zhuǎn)型領(lǐng)域的全球領(lǐng)先企業(yè)之一,羅克韋爾自動化將在芝加哥舉辦的 2025 年自動化
    的頭像 發(fā)表于 11-17 17:54 ?2131次閱讀

    宜科電子推出三種不同原理標(biāo)簽傳感器

    在工業(yè)自動化與智能包裝領(lǐng)域,標(biāo)簽檢測的精度、速度與適應(yīng)性直接決定了生產(chǎn)線的效率與產(chǎn)品合規(guī)性。針對不同材質(zhì)標(biāo)簽(如紙質(zhì)、薄膜、金屬箔)及復(fù)雜檢測環(huán)境,我們推出超聲波、光電、電容三種不同原理標(biāo)簽傳感器,以多模融合、精準(zhǔn)識別、智能適應(yīng)為核心,為食品包裝、醫(yī)藥制造、物流分揀等行業(yè)
    的頭像 發(fā)表于 11-08 15:07 ?2068次閱讀

    語法糾錯和testbench自動生成

    ,每次跑仿真都需要修改語法錯誤;另外在寫完一個模塊之后,每次跑仿真前都需要搭建testbench,模塊的實例,這顯然是很麻煩的,查閱資料發(fā)現(xiàn)vscode有插件可以解決上述問題,故來分享給大家
    發(fā)表于 10-27 07:07

    智芯公司完成智能分布式饋線自動化試點驗證

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

    伺服電機的三種制動方式有什么區(qū)別?

    伺服電機作為自動化控制系統(tǒng)中執(zhí)行元件的核心部件,其制動性能直接影響設(shè)備的定位精度和安全可靠性。目前主流的伺服電機制動方式包括動態(tài)制動、再生制動和電磁機械制動三種,它們在制動原理、應(yīng)用場景及技術(shù)特點上
    的頭像 發(fā)表于 09-19 18:26 ?2122次閱讀
    伺服電機的<b class='flag-5'>三種</b>制動方式有什么區(qū)別?

    電源模塊的短路保護(hù)如何通過自動化測試軟件完成測試

    在當(dāng)今電力電子領(lǐng)域,電源模塊的可靠性至關(guān)重要,短路保護(hù)作為其關(guān)鍵特性,需通過精確的自動化測試軟件進(jìn)行驗證。本文將整理如何借助自動化測試軟件ATECLOUD完成電源模塊短路保護(hù)的測試。 短路測試項目
    的頭像 發(fā)表于 09-03 19:10 ?972次閱讀
    電源模塊的短路保護(hù)如何通過<b class='flag-5'>自動化</b>測試軟件完成測試

    【干貨】一文帶你了解CAN、Modbus與LoRa三種通信協(xié)議的區(qū)別

    在工業(yè)自動化與物聯(lián)網(wǎng)領(lǐng)域,CAN、Modbus和LoRa是三種主流通信技術(shù)。而億佰特在該行業(yè)具有豐富的產(chǎn)品供客戶選擇與使用,幫助客戶進(jìn)一步確定需求,本文將結(jié)合技術(shù)細(xì)節(jié)與實際案例解析其核心區(qū)別。一
    的頭像 發(fā)表于 08-28 19:32 ?2274次閱讀
    【干貨】一文帶你了解CAN、Modbus與LoRa<b class='flag-5'>三種</b>通信協(xié)議的區(qū)別

    相全自動穩(wěn)壓器在工業(yè)自動化領(lǐng)域的重要性與應(yīng)用

    在工業(yè)自動化領(lǐng)域中,電力的穩(wěn)定性至關(guān)重要。我們都知道,電力就像一條河流,穩(wěn)定的水流才能保證工業(yè)設(shè)備的平穩(wěn)運行。而在這條河流中,相全自動穩(wěn)壓器就像是一個水閘,控制著水流的強度和方向,確保每一個環(huán)節(jié)都能正常運作。下面就來詳細(xì)的說說
    的頭像 發(fā)表于 08-18 15:19 ?843次閱讀
    <b class='flag-5'>三</b>相全<b class='flag-5'>自動</b>穩(wěn)壓器在工業(yè)<b class='flag-5'>自動化</b>領(lǐng)域的重要性與應(yīng)用

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

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

    電源模塊在配電自動化終端中的應(yīng)用

    配電終端設(shè)備的可靠性和自動化程度,直接影響到整個配電自動化系統(tǒng)的可靠性和自動化水平。由于配電終端設(shè)備一般安裝于戶外或比較偏僻的地方,不可能有直流電源提供,因此,配電網(wǎng)終端設(shè)備的直流供電方式成為各配網(wǎng)
    的頭像 發(fā)表于 07-22 10:20 ?2.4w次閱讀
    電源模塊在配電<b class='flag-5'>自動化</b>終端中的應(yīng)用

    自動化計算機的功能與用途

    工業(yè)自動化是指利用自動化計算機來控制工業(yè)環(huán)境中的流程、機器人和機械,以制造產(chǎn)品或其部件。工業(yè)自動化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過程的質(zhì)量。工業(yè)自動化在汽車制造中體現(xiàn)得最為
    的頭像 發(fā)表于 07-15 16:32 ?870次閱讀
    <b class='flag-5'>自動化</b>計算機的功能與用途
    财经| 额敏县| 太谷县| 江西省| 咸宁市| 建瓯市| 蛟河市| 正定县| 尼玛县| 鄢陵县| 忻州市| 佛坪县| 远安县| 苏尼特右旗| 大冶市| 浮山县| 璧山县| 宣城市| 天峻县| 津市市| 花莲市| 兰考县| 正定县| 淮滨县| 岫岩| 浠水县| 甘德县| 平度市| 芒康县| 含山县| 温宿县| 嵊泗县| 自贡市| 文安县| 溆浦县| 洱源县| 大城县| 南通市| 崇左市| 聂荣县| 禄劝|