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

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

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

FPGA中的testbench介紹

DIri_ALIFPGA ? 來源:未知 ? 作者:李倩 ? 2018-10-10 16:14 ? 次閱讀

testbench就是對(duì)寫的FPGA文件進(jìn)行測試的文件,可以是verilog也可以是VHDL。verilog和VHDL的國際標(biāo)準(zhǔn)里面有很多不能被綜合實(shí)現(xiàn)的語句,比如initial,forever,repeat,延時(shí)語句#1等等,這些語句就是用來測試的時(shí)候使用的。運(yùn)行環(huán)境一般是ise或者vivado或者quartus自帶的仿真工具,或者如modelsim一樣的第三方仿真工具。

測試機(jī)制

任何一個(gè)設(shè)計(jì)好的模塊,都有輸入和輸出,此模塊是否滿足要求就是看給定滿足要求的輸入,是否能夠得到滿足要求的輸出。所以testbench的測試機(jī)制就是:用各種verilog或者VHDL語法,產(chǎn)生滿足條件的激勵(lì)信號(hào)(也就是對(duì)被模塊的輸入),同時(shí)對(duì)模塊的輸出進(jìn)行捕捉,測試輸出是否滿足要求。如下圖,產(chǎn)生激勵(lì)輸出驗(yàn)證模塊兩個(gè)模塊都屬于testbench,最好的輸出驗(yàn)證模塊最終只需要給一個(gè)pass和fail的答案出來就可以了。不管是用一個(gè)信號(hào)表示pass和fail還是用$display()函數(shù)打印,最終簡單明了的給出過或者不過的信息就好了。請(qǐng)大家寫仿真文件的時(shí)候盡量做到這點(diǎn)。

運(yùn)行順序

跟大家解釋一點(diǎn),所有testbench本質(zhì)上都是串行執(zhí)行,因?yàn)樵?a href="http://srfitnesspt.com/tags/cpu/" target="_blank">CPU環(huán)境下,沒有可靠并行執(zhí)行的能力。所有并行的語句,比如兩個(gè)always模塊,fork join語句塊,都是軟件模擬并行執(zhí)行的。所以老一點(diǎn)的編譯器,信號(hào)定義要在initial語句前面,initial的信號(hào)要先有初始值后面的語句才能從給定初值開始執(zhí)行。所以大家寫testbench的時(shí)候,要注意,最好先定義信號(hào),再寫initial語句,后面的語句交換順序不影響,軟件可以識(shí)別并按照IEEE標(biāo)準(zhǔn)的順序去執(zhí)行。

如果一個(gè)模塊里面想用并行執(zhí)行語句用fork join語句,順序執(zhí)行用begin end語句。initial語句可以寫多個(gè),都是并行執(zhí)行的,當(dāng)兩個(gè)信號(hào)在initial沖突的時(shí)候,會(huì)先執(zhí)行前面的initial的值。

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

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600519
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1335

    瀏覽量

    109860

原文標(biāo)題:FPGA中的testbench

文章出處:【微信號(hào):ALIFPGA,微信公眾號(hào):FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    testbench的差分時(shí)鐘

    如果輸入時(shí)鐘時(shí)差分時(shí)鐘信號(hào),如何編寫testbench?
    發(fā)表于 09-15 19:37

    LFSR testbench V1.2

    LFSR testbench The LFSR testbench can help you understand the LFSR basics: 1. Change
    發(fā)表于 05-14 11:18 ?50次下載

    testbench_book

    verilog Testbench
    發(fā)表于 12-13 22:20 ?3次下載

    testbench怎么寫_testbench經(jīng)典教程VHDL

     testbench是一種驗(yàn)證的手段。首先,任何設(shè)計(jì)都是會(huì)有輸入輸出的。但是在軟環(huán)境沒有激勵(lì)輸入,也不會(huì)對(duì)你設(shè)計(jì)的輸出正確性進(jìn)行評(píng)估。那么此時(shí)便有一種,模擬實(shí)際環(huán)境的輸入激勵(lì)和輸出校驗(yàn)的一種“虛擬
    發(fā)表于 12-01 17:22 ?5.6w次閱讀
    <b class='flag-5'>testbench</b>怎么寫_<b class='flag-5'>testbench</b>經(jīng)典教程VHDL

    FPGA教程之簡單的Testbench設(shè)計(jì)的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA教程之簡單的Testbench設(shè)計(jì)的詳細(xì)資料說明免費(fèi)下載。
    發(fā)表于 03-01 16:52 ?15次下載
    <b class='flag-5'>FPGA</b>教程之簡單的<b class='flag-5'>Testbench</b>設(shè)計(jì)的詳細(xì)資料說明

    簡單的Testbench設(shè)計(jì)

    testbench是一種驗(yàn)證的手段。首先,任何設(shè)計(jì)都是會(huì)有輸入輸出的。但是在軟環(huán)境沒有激勵(lì)輸入,也不會(huì)對(duì)你設(shè)計(jì)的輸出正確性進(jìn)行評(píng)估。那么此時(shí)便有一種,模擬實(shí)際環(huán)境的輸入激勵(lì)和輸出校驗(yàn)的一種“虛擬
    的頭像 發(fā)表于 03-08 14:35 ?2397次閱讀

    FPGA視頻教程:簡單的Testbench設(shè)計(jì)

    testbench是一種驗(yàn)證的手段。首先,任何設(shè)計(jì)都是會(huì)有輸入輸出的。但是在軟環(huán)境沒有激勵(lì)輸入,也不會(huì)對(duì)你設(shè)計(jì)的輸出正確性進(jìn)行評(píng)估。那么此時(shí)便有一種,模擬實(shí)際環(huán)境的輸入激勵(lì)和輸出校驗(yàn)的一種“虛擬平臺(tái)”的產(chǎn)生。在這個(gè)平臺(tái)上你可以對(duì)你的設(shè)計(jì)從軟件層面上進(jìn)行分析和校驗(yàn)。
    的頭像 發(fā)表于 12-11 07:09 ?2160次閱讀
    <b class='flag-5'>FPGA</b>視頻教程:簡單的<b class='flag-5'>Testbench</b>設(shè)計(jì)

    關(guān)于testbenchFPGA編程的技巧

    定義信號(hào)類型:原來模塊的輸入信號(hào),定義成reg 類型,原來模塊的輸出信號(hào),定義為wire類型,但這里有個(gè)問題,如果在testbench本身有一個(gè)模塊需要,如用來產(chǎn)生時(shí)鐘,送給要仿
    發(fā)表于 07-31 17:52 ?1029次閱讀

    介紹FPGAtestbench的編寫技巧

    原來模塊的輸入信號(hào),定義成reg 類型,原來模塊的輸出信號(hào),定義為wire類型,但這里有個(gè)問題,如果在testbench本身有一個(gè)模塊需要,如用來產(chǎn)生時(shí)鐘,送給要仿真的模塊,那怎
    發(fā)表于 01-06 14:52 ?1902次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>FPGA</b><b class='flag-5'>中</b><b class='flag-5'>testbench</b>的編寫技巧

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

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

    在模塊化設(shè)計(jì)過程編寫testbench并仿真的方法

    在開始設(shè)計(jì)前,根據(jù)設(shè)計(jì)劃分好各功能模塊(為了敘述方便,這里以對(duì)“FPGA數(shù)字信號(hào)處理(十三)鎖相環(huán)位同步技術(shù)的實(shí)現(xiàn)”設(shè)計(jì)的系統(tǒng)仿真為例)。編寫好第一個(gè)子模塊(本例為雙相時(shí)鐘生成模塊),在Vivado
    的頭像 發(fā)表于 11-20 11:29 ?3807次閱讀

    FPGA驗(yàn)證簡介之FPGA開發(fā)分析一個(gè)testbench

    、Johnson計(jì)數(shù)器、PN碼發(fā)生器、頻率計(jì)等,這些例子是經(jīng)驗(yàn)豐富的工程師寫的,我們可以學(xué)到編程思想、代碼風(fēng)格等方面的知識(shí)和經(jīng)驗(yàn),這些東西可能從學(xué)校老師或一般書籍都學(xué)習(xí)不到。 如果你用的不是Xilinx的FPGA,也就是說不使用ISE,那也沒關(guān)系,HDL代碼和testbench
    的頭像 發(fā)表于 04-11 10:46 ?3104次閱讀
    <b class='flag-5'>FPGA</b>驗(yàn)證簡介之<b class='flag-5'>FPGA</b>開發(fā)分析一個(gè)<b class='flag-5'>testbench</b>

    testbench是什么? testbench測試的機(jī)制是什么?

    廢話不多說直接上干貨,testbench就是對(duì)寫的FPGA文件進(jìn)行測試的文件,可以是verilog也可以是VHDL。
    的頭像 發(fā)表于 06-28 16:44 ?4318次閱讀
    <b class='flag-5'>testbench</b>是什么? <b class='flag-5'>testbench</b>測試的機(jī)制是什么?

    Verilog Testbench怎么寫 Verilog Testbench文件的編寫要點(diǎn)

    之前在使用Verilog做FPGA項(xiàng)目中、以及其他一些不同的場合下,零散的寫過一些練手性質(zhì)的testbench文件,開始幾次寫的時(shí)候,每次都會(huì)因?yàn)橐恍┗镜臇|西沒記住、寫的很不熟練,后面寫的時(shí)候稍微
    的頭像 發(fā)表于 08-01 12:44 ?3255次閱讀
    Verilog <b class='flag-5'>Testbench</b>怎么寫 Verilog <b class='flag-5'>Testbench</b>文件的編寫要點(diǎn)

    Testbench自動(dòng)化驗(yàn)證方法介紹

    自動(dòng)化驗(yàn)證testbench結(jié)果可以減少人工檢查的時(shí)間和可能犯的失誤,尤其對(duì)于比較大的設(shè)計(jì)。
    的頭像 發(fā)表于 09-04 09:15 ?807次閱讀