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

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

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

如何使用Verilog語言進(jìn)行仿真驗(yàn)證

冬至子 ? 來源:電子技術(shù)實(shí)驗(yàn)XJTU ? 作者:孫敏 ? 2023-10-02 16:29 ? 次閱讀

0****1

仿真驗(yàn)證平臺結(jié)構(gòu)

仿真驗(yàn)證主要作用是搭建一個(gè)測試平臺,測試和驗(yàn)證程序設(shè)計(jì)的正確性,驗(yàn)證設(shè)計(jì)是否實(shí)現(xiàn)了我們所預(yù)期的功能。其結(jié)構(gòu)如下圖所示。

圖片

圖中可以看到,這個(gè)測試平臺本身對外沒有輸入輸出端口的,我們需要通過實(shí)例化的方式將待測試模塊放置于仿真中,然后設(shè)計(jì)相應(yīng)的激勵(lì)信號加載在待測試模塊的輸入端,運(yùn)行仿真后觀測輸出信號是否正確。

下圖是2選1多路選擇器的仿真測試代碼,我們依次解讀各部分內(nèi)容。

圖片

`timescale 1ns/1ps

`timescale是預(yù)編譯指令,用于定義時(shí)間單位和時(shí)間精度。此處,時(shí)間單位為1ns,時(shí)間精度為1ps。

因此,語句 always #10 a=~a 中“#10”表示延時(shí)10ns。

reg a,b,sel;

wire out;

信號聲明部分包含兩部分。

待測試模塊的輸入信號,在仿真文件中是需要設(shè)計(jì)的激勵(lì)信號,一般在always和initial語句中描述,因此,聲明為reg型。

待測試模塊的輸出信號是待觀察的信號,聲明為wire型。

initial begin

a=0;b=0;sel=0;

end

always #10 a=~a;

always #20 b=~b;

always #40 sel=~sel;

以上是激勵(lì)信號的描述。

mux2_1 uut(

.a(a),

.b(b),

.sel(sel),

.out(out)

);

以上是待測試模塊的實(shí)例化。uut是實(shí)例名,由用戶自定義,不能缺少。

0****2

仿真驗(yàn)證一般步驟

? 新建仿真文件(.v),與源程序文件名不能相同。

? 模塊聲明:對外沒有輸入、輸出端口。

? 信號聲明:待測模塊的輸入信號聲明為reg型,輸出信號聲明為wire型。

? 設(shè)計(jì)激勵(lì)信號:對待驗(yàn)證模塊的輸入端口信號進(jìn)行模擬,覆蓋所有情況。

? 實(shí)例化待測模塊:對待測模塊進(jìn)行實(shí)例化。

? 運(yùn)行仿真:Run Behavioral Simulation(行為仿真)

? 觀察仿真結(jié)果:判斷被測試模塊的輸出響應(yīng)是否符合預(yù)期要求

03

如何觀察內(nèi)部信號

①scope窗口選則待測試模塊(uut是待測模塊實(shí)例名)。

②將想要觀察的信號拖到仿真波形窗口。

③重新加載仿真(relaunch simulation)。

圖片

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

    關(guān)注

    0

    文章

    25

    瀏覽量

    8139
  • HDL語言
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    8917
  • Verilog設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    6533
  • 多路選擇器
    +關(guān)注

    關(guān)注

    1

    文章

    22

    瀏覽量

    6530
收藏 人收藏

    評論

    相關(guān)推薦

    Verilog HDL入門教程(全集)

    的具體控制和運(yùn)行。Verilog HDL語言不僅定義了語法,而且對每個(gè)語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用 Ve r i l o g
    發(fā)表于 11-30 19:03

    硬件驗(yàn)證語言——簡介

    員提供的預(yù)期輸出進(jìn)行比較。這是可能的,因?yàn)閿?shù)字電路遵循布爾邏輯,可以預(yù)測它們的輸出。可以編寫一個(gè)計(jì)算機(jī)程序來執(zhí)行此操作,而這正是模擬中發(fā)生的事情。 在那些日子里,幾乎所有你能想到的編程語言都用來實(shí)現(xiàn)驗(yàn)證
    發(fā)表于 02-16 13:36

    使用ModelSim進(jìn)行設(shè)計(jì)仿真

    ModelSim為HDL仿真工具,我們可以利用該軟件來實(shí)現(xiàn)對所設(shè)計(jì)的VHDL或Verilog程序進(jìn)行仿真,支持IEEE常見的各種硬件描述語言
    發(fā)表于 04-19 20:52 ?151次下載

    使用 ModelSim 進(jìn)行設(shè)計(jì)仿真

    ModelSim為HDL仿真工具,我們可以利用該軟件來實(shí)現(xiàn)對所設(shè)計(jì)的VHDL或Verilog程序進(jìn)行仿真,支持IEEE常見的各種硬件描述語言
    發(fā)表于 05-27 16:41 ?132次下載
    使用 ModelSim <b class='flag-5'>進(jìn)行</b>設(shè)計(jì)<b class='flag-5'>仿真</b>

    Verilog HDL硬件描述語言_驗(yàn)證

    本章介紹了如何編寫測試驗(yàn)證程序(test bench)。測試驗(yàn)證程序用于測試和驗(yàn)證設(shè)計(jì)的正確性。Verilog HDL提供強(qiáng)有力的結(jié)構(gòu)來說明測試驗(yàn)證
    發(fā)表于 04-25 16:09 ?17次下載

    設(shè)計(jì)與驗(yàn)證Verilog HDL(清晰PDF)

    設(shè)計(jì)與驗(yàn)證,很不錯(cuò)的一本書,《設(shè)計(jì)與驗(yàn)證》以實(shí)例講解的方式對HDL語言的設(shè)計(jì)方法進(jìn)行介紹。全書共分9章,第1章至第3章主要介紹了Verilog
    發(fā)表于 10-10 17:04 ?593次下載

    基于System Verilog的可重用驗(yàn)證平臺設(shè)計(jì)及驗(yàn)證結(jié)果分析

    采用System Verilog語言設(shè)計(jì)了一種具有層次化結(jié)構(gòu)的可重用驗(yàn)證平臺,該平臺能夠產(chǎn)生各種隨機(jī)、定向、錯(cuò)誤測試向量,并提供功能覆蓋率計(jì)算。將驗(yàn)證平臺在Synopsys公司的VCS
    發(fā)表于 01-12 11:28 ?2684次閱讀
    基于System <b class='flag-5'>Verilog</b>的可重用<b class='flag-5'>驗(yàn)證</b>平臺設(shè)計(jì)及<b class='flag-5'>驗(yàn)證</b>結(jié)果分析

    如何使用Icarus Verilog+GTKWave來進(jìn)行verilog文件的編譯和仿真

    本文將介紹如何使用Icarus Verilog+GTKWave來進(jìn)行verilog文件的編譯和仿真。 Icarus Verilog Icar
    的頭像 發(fā)表于 07-27 09:16 ?5412次閱讀
    如何使用Icarus <b class='flag-5'>Verilog</b>+GTKWave來<b class='flag-5'>進(jìn)行</b><b class='flag-5'>verilog</b>文件的編譯和<b class='flag-5'>仿真</b>

    VHDL與Verilog硬件描述語言如何用TestBench來進(jìn)行仿真

    TestBench來進(jìn)行仿真是一個(gè)很不錯(cuò)的選擇。 VHDL與Verilog語言的語法規(guī)則不同,它們的TestBench的具體寫法也不同,但是應(yīng)包含的基本結(jié)構(gòu)大體相似,在VHDL的
    的頭像 發(fā)表于 08-04 14:16 ?3831次閱讀

    使用Vivado仿真進(jìn)行混合語言仿真的一些要點(diǎn)

    Vivado 仿真器支持混合語言項(xiàng)目文件及混合語言仿真。這有助于您在 VHDL 設(shè)計(jì)中包含 Verilog 模塊,反過來也是一樣。 本文主要
    的頭像 發(fā)表于 10-28 16:24 ?3189次閱讀

    仿真器的角度理解Verilog語言1

    只作為語法設(shè)定來介紹,忽略了Verilog語言的軟件特性和仿真特性。使得初學(xué)者無法理解Verilog語言在行為級語法(過程塊、賦值和延遲)背
    的頭像 發(fā)表于 05-25 15:10 ?925次閱讀
    從<b class='flag-5'>仿真</b>器的角度理解<b class='flag-5'>Verilog</b><b class='flag-5'>語言</b>1

    仿真器的角度理解Verilog語言2

    只作為語法設(shè)定來介紹,忽略了Verilog語言的軟件特性和仿真特性。使得初學(xué)者無法理解Verilog語言在行為級語法(過程塊、賦值和延遲)背
    的頭像 發(fā)表于 05-25 15:10 ?848次閱讀
    從<b class='flag-5'>仿真</b>器的角度理解<b class='flag-5'>Verilog</b><b class='flag-5'>語言</b>2

    Verilog基本語法概述

    Verilog 是一種用于數(shù)字邏輯電路設(shè)計(jì)的硬件描述語言,可以用來進(jìn)行數(shù)字電路的仿真驗(yàn)證、時(shí)序分析、邏輯綜合。
    的頭像 發(fā)表于 06-10 10:04 ?1657次閱讀
    <b class='flag-5'>Verilog</b>基本語法概述

    如何使用 ModelSim 進(jìn)行設(shè)計(jì)仿真

    ModelSim為HDL仿真工具,我們可以利用該軟件來實(shí)現(xiàn)對所設(shè)計(jì)的VHDL或Verilog程 序進(jìn)行仿真,支持IEEE常見的各種硬件描述語言
    發(fā)表于 01-14 09:47 ?0次下載

    Verilog 電路仿真常見問題 Verilog 在芯片設(shè)計(jì)中的應(yīng)用

    在現(xiàn)代電子設(shè)計(jì)自動(dòng)化(EDA)領(lǐng)域,Verilog作為一種硬件描述語言,已經(jīng)成為數(shù)字電路設(shè)計(jì)和驗(yàn)證的標(biāo)準(zhǔn)工具。它允許設(shè)計(jì)師以高級抽象的方式定義電路的行為和結(jié)構(gòu),從而簡化了從概念到硅片的整個(gè)設(shè)計(jì)流程
    的頭像 發(fā)表于 12-17 09:53 ?233次閱讀