色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

testbench是什么? testbench測試的機制是什么?

冬至子 ? 來源:玩兒轉FPGA ? 作者:東哥 ? 2023-06-28 16:44 ? 次閱讀

01

testbench是什么

廢話不多說直接上干貨,testbench就是對寫的FPGA文件進行測試的文件,可以是verilog也可以是VHDL。

verilog和VHDL的國際標準里面有很多不能被綜合實現的語句,比如initial,forever,repeat,延時語句#1等等,這些語句就是用來測試的時候使用的。運行環境一般是ise或者vivado自帶的仿真工具,或者如modelsim一樣的第三方仿真工具。

02

testbench測試的機制是什么

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

圖片

03

testbench運行順序之謎

首先,跟大家解釋一點,所有testbench本質上都是串行執行,因為在CPU環境下,沒有可靠并行執行的能力。所有并行的語句,比如兩個always模塊,fork join語句塊,都是軟件模擬并行執行的。所以老一點的編譯器,信號定義要在initial語句前面,initial的信號要先有初始值后面的語句才能從給定初值開始執行。所以大家寫testbench的時候,要注意,最好先定義信號,再寫initial語句,后面的語句交換順序不影響,軟件可以識別并按照IEEE標準的順序去執行。

如果一個模塊里面想用并行執行語句用fork join語句,順序執行用begin end語句。initial語句可以寫多個,都是并行執行的,當兩個信號在initial沖突的時候,會先執行前面的initial的值。

04

常用testbench語句總結

時鐘產生——always begin clk = 0; #1 clk = 1; #1; end 。注意這里的always后面沒有@!沒有@的時候always代表永遠循環執行begin end之間的語句,如果有@,后面一定要加時鐘,代表時鐘邊沿來到的時候順序執行begin end里面的語句。沒有@的always語句不可綜合。

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

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

初始化——initial begin a=0; #100; a=1; end。testbench在運行起來之后,第一個進入初始化語句,并且只執行一次停在最后一句,然后才是后面的語句。由于begin end里面的語句是串行執行的,所以這句話代表a低電平100ns后永遠為高。復位信號常常這樣產生。

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

等待語句——wait(條件表達式) 語句/語句塊; 語句塊可以是串行塊(begin…end)或并行塊(fork…join)。當邏輯表達式為“真”時,語句塊立即得到執行;否則,暫停進程并等待,直到邏輯表達式變為“真”,再開始執行后面的語句。

關于verilog測試激勵的語法請打開,里面有所有的仿真激勵:

打開菜鳥教程——資料下載——選擇“verilog最經典中文教程”

另外提一句:學verilog要知道verilog語句的執行順序和機制,生成的對應時序,哪些語句可綜合哪些不可綜合。這是最基礎的要求。

05

其實看了之前的鏈接大部分大家應該都能看明白了,現在只揀之前沒講的代碼講。

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    27133
  • 交換機
    +關注

    關注

    21

    文章

    2720

    瀏覽量

    101335
  • VHDL語言
    +關注

    關注

    1

    文章

    113

    瀏覽量

    18503
  • PWM模塊
    +關注

    關注

    0

    文章

    14

    瀏覽量

    9528
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    怎樣在Verilog寫的testbench測試VHDL模塊??

    怎樣在Verilog寫的testbench測試VHDL模塊??一個vhdl的工程模塊,怎么用verilog寫testbench 來調用模塊仿真!!真心求幫助
    發表于 08-01 22:54

    testbench 設計教程

    testbench 設計教程
    發表于 09-12 12:06

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

    這個論壇感覺說testbench的略少,分享一些testbench的文檔。。。。。
    發表于 09-08 18:03

    testbench設置的問題

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

    LFSR testbench V1.2

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

    Writing Testbench

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

    編寫高效率的testbench

    編寫高效率的testbench,學習編寫測試文件的小伙伴們。
    發表于 05-11 16:40 ?16次下載

    testbench_book

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

    testbench怎么寫_testbench經典教程VHDL

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

    簡單的Testbench設計

    testbench是一種驗證的手段。首先,任何設計都是會有輸入輸出的。但是在軟環境中沒有激勵輸入,也不會對你設計的輸出正確性進行評估。那么此時便有一種,模擬實際環境的輸入激勵和輸出校驗的一種“虛擬
    的頭像 發表于 03-08 14:35 ?2651次閱讀

    Verilog testbench總結

    對于testbench而言,端口應當和被測試的module一一對應。端口分為input,output和inout類型產生激勵信號的時候,input對應的端口應當申明為reg, output對應的端口申明為wire,inout端口比較特殊,下面專門講解。
    發表于 07-07 15:23 ?4807次閱讀

    典型的UVM Testbench架構

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

    Verilog Testbench怎么寫 Verilog Testbench文件的編寫要點

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

    Testbench的基本組成和設計規則

    ??對于小型設計來說,最好的測試方式便是使用TestBench和HDL仿真器來驗證其正確性。一般TestBench需要包含這些部分:實例化待測試設計、使用
    的頭像 發表于 09-01 09:57 ?1679次閱讀
    <b class='flag-5'>Testbench</b>的基本組成和設計規則

    編寫高效Testbench的指南和示例

    Testbench是驗證HDL設計的主要手段,本文提供了布局和構建高效Testbench的指南以及示例。另外,本文還提供了一種示例,可以為任何設計開發自檢Testbench
    的頭像 發表于 10-29 16:14 ?1425次閱讀
    編寫高效<b class='flag-5'>Testbench</b>的指南和示例
    主站蜘蛛池模板: 欧美xxx性| 成都电影免费中文高清 | 免费A级毛片无码无遮挡内射 | 无码天堂亚洲国产AV久久 | 一本道mw高清码二区三区 | 韩国黄色影院 | 日本大尺码喷液过程视频 | 大伊人青草狠狠久久 | www.精品视频 | 国产学生在线播放精品视频 | 狠狠躁天天躁小说 | 欧美男女爱爱 | A国产一区二区免费入口 | 91亚洲精品福利在线播放 | 老湿影院色情a | adc网址在线观看 | 亚洲电影网址 | 国产在线观看成人免费视频 | 爽爽窝窝午夜精品一区二区 | 精品无码乱码AV | 亚洲 日本 天堂 国产 在线 | 99久久免费国产精精品 | 成人做视频免费 | 亚洲风情无码免费视频 | 在线视频 国产精品 中文字幕 | 伊人久久精品线影院 | 99re28久久热在线观看 | 美女露100%全身无遮挡 | 国内精品欧美久久精品 | 精品一区二区三区四区五区六区 | 抽插性奴中出乳精内射 | 国产精品无码视频一区二区 | 国产午夜精品理论片免费观看 | 在线电台收听 | 午夜理伦大片一级 | 久久re这里视频精品15 | 日本老妇一级特黄aa大片 | 乐乐亚洲精品综合影院 | 色-情-伦-理一区二区三区 | 麻豆精品一卡2卡三卡4卡免费观看 | 大学生宿舍飞机china free |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品