在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

冬至子 ? 來(lái)源:玩兒轉(zhuǎn)FPGA ? 作者:東哥 ? 2023-06-28 16:44 ? 次閱讀

01

testbench是什么

廢話不多說(shuō)直接上干貨,testbench就是對(duì)寫的FPGA文件進(jìn)行測(cè)試的文件,可以是verilog也可以是VHDL。

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

02

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

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

圖片

03

testbench運(yùn)行順序之謎

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

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

04

常用testbench語(yǔ)句總結(jié)

時(shí)鐘產(chǎn)生——always begin clk = 0; #1 clk = 1; #1; end 。注意這里的always后面沒(méi)有@!沒(méi)有@的時(shí)候always代表永遠(yuǎn)循環(huán)執(zhí)行begin end之間的語(yǔ)句,如果有@,后面一定要加時(shí)鐘,代表時(shí)鐘邊沿來(lái)到的時(shí)候順序執(zhí)行begin end里面的語(yǔ)句。沒(méi)有@的always語(yǔ)句不可綜合。

時(shí)間軸設(shè)置——'timescale 仿真時(shí)間單位/時(shí)間精度; 比如`timescale 1ns / 1ps;代表仿真的時(shí)間軸單位是1ns,仿真工具仿真的最大精度只到1ps內(nèi)的邏輯變化。

延時(shí)語(yǔ)句——#n; 代表延時(shí)n個(gè)時(shí)間軸單位。比如之前定義了`timescale 1ns / 1ps;如果后面寫 #3;就代表延時(shí)3ns而不是延時(shí)3ps。

初始化——initial begin a=0; #100; a=1; end。testbench在運(yùn)行起來(lái)之后,第一個(gè)進(jìn)入初始化語(yǔ)句,并且只執(zhí)行一次停在最后一句,然后才是后面的語(yǔ)句。由于begin end里面的語(yǔ)句是串行執(zhí)行的,所以這句話代表a低電平100ns后永遠(yuǎn)為高。復(fù)位信號(hào)常常這樣產(chǎn)生。

系統(tǒng)函數(shù)——**stop;代表運(yùn)行到這一句停止仿真,**dispaly("pass");代表在命令行顯示pass這串字符。

等待語(yǔ)句——wait(條件表達(dá)式) 語(yǔ)句/語(yǔ)句塊; 語(yǔ)句塊可以是串行塊(begin…end)或并行塊(fork…join)。當(dāng)邏輯表達(dá)式為“真”時(shí),語(yǔ)句塊立即得到執(zhí)行;否則,暫停進(jìn)程并等待,直到邏輯表達(dá)式變?yōu)椤罢妗保匍_(kāi)始執(zhí)行后面的語(yǔ)句。

關(guān)于verilog測(cè)試激勵(lì)的語(yǔ)法請(qǐng)打開(kāi),里面有所有的仿真激勵(lì):

打開(kāi)菜鳥(niǎo)教程——資料下載——選擇“verilog最經(jīng)典中文教程”

另外提一句:學(xué)verilog要知道verilog語(yǔ)句的執(zhí)行順序和機(jī)制,生成的對(duì)應(yīng)時(shí)序,哪些語(yǔ)句可綜合哪些不可綜合。這是最基礎(chǔ)的要求。

05

其實(shí)看了之前的鏈接大部分大家應(yīng)該都能看明白了,現(xiàn)在只揀之前沒(méi)講的代碼講。

圖片

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

    關(guān)注

    9

    文章

    428

    瀏覽量

    26517
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    21

    文章

    2640

    瀏覽量

    99640
  • VHDL語(yǔ)言
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    18006
  • PWM模塊
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    9437
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎樣在Verilog寫的testbench測(cè)試VHDL模塊??

    怎樣在Verilog寫的testbench測(cè)試VHDL模塊??一個(gè)vhdl的工程模塊,怎么用verilog寫testbench 來(lái)調(diào)用模塊仿真!!真心求幫助
    發(fā)表于 08-01 22:54

    testbench 設(shè)計(jì)教程

    testbench 設(shè)計(jì)教程
    發(fā)表于 09-12 12:06

    分享一些testbench的文檔教你如何寫好testbench

    這個(gè)論壇感覺(jué)說(shuō)testbench的略少,分享一些testbench的文檔。。。。。
    發(fā)表于 09-08 18:03

    testbench設(shè)置的問(wèn)題

    本帖最后由 平漂流 于 2017-5-21 11:09 編輯 如圖,看Verilog仿真視頻教程里面,在testbench設(shè)置時(shí)候,直接復(fù)制“blocking_vlg_tst”到top
    發(fā)表于 05-21 11:04

    LFSR testbench V1.2

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

    Writing Testbench

    Writing Testbench:The Quebec Bridge Company was formed in 1887 and for the nextthirteen years, very
    發(fā)表于 07-10 17:30 ?0次下載
    Writing <b class='flag-5'>Testbench</b>

    編寫高效率的testbench

    編寫高效率的testbench,學(xué)習(xí)編寫測(cè)試文件的小伙伴們。
    發(fā)表于 05-11 16:40 ?16次下載

    testbench_book

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

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

     testbench是一種驗(yàn)證的手段。首先,任何設(shè)計(jì)都是會(huì)有輸入輸出的。但是在軟環(huán)境中沒(méi)有激勵(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

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

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

    Verilog testbench總結(jié)

    對(duì)于testbench而言,端口應(yīng)當(dāng)和被測(cè)試的module一一對(duì)應(yīng)。端口分為input,output和inout類型產(chǎn)生激勵(lì)信號(hào)的時(shí)候,input對(duì)應(yīng)的端口應(yīng)當(dāng)申明為reg, output對(duì)應(yīng)的端口申明為wire,inout端口比較特殊,下面專門講解。
    發(fā)表于 07-07 15:23 ?4657次閱讀

    典型的UVM Testbench架構(gòu)

    UVM類庫(kù)提供了通用的代碼功能,如component hierarchy、transaction level model(TLM),configuration database等等,使用戶能夠創(chuàng)建任何類型的Testbench架構(gòu)。
    的頭像 發(fā)表于 05-22 10:14 ?2131次閱讀
    典型的UVM <b class='flag-5'>Testbench</b>架構(gòu)

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

    熟練了一點(diǎn)、但是整體編寫下來(lái)比較零碎不成體系,所以在這里簡(jiǎn)要記錄一下一般情況下、針對(duì)小型的verilog模塊進(jìn)行測(cè)試時(shí)所需要使用到的testbench文件的編寫要點(diǎn)。
    的頭像 發(fā)表于 08-01 12:44 ?3833次閱讀
    Verilog <b class='flag-5'>Testbench</b>怎么寫 Verilog <b class='flag-5'>Testbench</b>文件的編寫要點(diǎn)

    Testbench的基本組成和設(shè)計(jì)規(guī)則

    ??對(duì)于小型設(shè)計(jì)來(lái)說(shuō),最好的測(cè)試方式便是使用TestBench和HDL仿真器來(lái)驗(yàn)證其正確性。一般TestBench需要包含這些部分:實(shí)例化待測(cè)試設(shè)計(jì)、使用
    的頭像 發(fā)表于 09-01 09:57 ?1277次閱讀
    <b class='flag-5'>Testbench</b>的基本組成和設(shè)計(jì)規(guī)則

    編寫高效Testbench的指南和示例

    Testbench是驗(yàn)證HDL設(shè)計(jì)的主要手段,本文提供了布局和構(gòu)建高效Testbench的指南以及示例。另外,本文還提供了一種示例,可以為任何設(shè)計(jì)開(kāi)發(fā)自檢Testbench
    的頭像 發(fā)表于 10-29 16:14 ?267次閱讀
    編寫高效<b class='flag-5'>Testbench</b>的指南和示例
    主站蜘蛛池模板: 欧美三j片| 在线精品视频成人网| 妖精视频亚洲| 美女国产在线观看免费观看 | 抽搐一进一出gif免费男男| 在线日韩一区| 久久精品视频5| 很很鲁在线视频播放影院| 视频免费播放| 天天摸天天碰中文字幕| 成人看片在线观看| 欲色啪| 亚洲黄网站wwwwww| 欧美在线免费| 色综合天天综合网亚洲影院| 2021天天干| 天天看影院| 亚洲激情视频网站| 成人午夜在线观看国产| 亚洲精品久久久久影| 日本三级午夜| 国产成人a一区二区| 人人干免费| 亚洲综合色婷婷| 爆操极品美女| 国产资源视频在线观看| 日本一区二区在线免费观看| 天天躁日日躁成人字幕aⅴ| www.4虎| 婷婷午夜| 狠狠做深爱婷婷久久一区| 5060精品国产福利午夜| 色噜噜狠狠狠综合曰曰曰| 国产精品欧美一区二区| 免费人成在线观看视频播放| 中文字幕一区二区三区在线播放 | 日本久操| 久久亚洲精品国产亚洲老地址| 色综合视频一区二区三区| 久久香蕉国产线看观看精品yw | www三级免费|