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

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

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

使用VCS觀察Verilog二維數(shù)組仿真值的方法

冬至子 ? 來(lái)源:Bug記錄 ? 作者:woodfan ? 2023-06-06 11:12 ? 次閱讀

FIR設(shè)計(jì)過(guò)程中,不可避免使用到reg/wire的二維數(shù)組;在仿真的過(guò)程中,這些二維數(shù)組卻帶來(lái)不少麻煩,因?yàn)楦鶕?jù)之前的內(nèi)容,我們根本看不到這些二維數(shù)組的值。

而且,Verilog端口定義是不支持二維數(shù)組這樣的定義,所以也無(wú)法把數(shù)組傳到頂層觀察。

而實(shí)現(xiàn)過(guò)程中,這些二維數(shù)組卻是流水線操作中的一部分,如果不知道它們的值,找BUG的過(guò)程肯定會(huì)十分艱難。

好在搜集各方資料后,經(jīng)過(guò)一番實(shí)踐,總算是得出了如何觀察這些二維數(shù)組的值的方法。

首先,在testbench里面修改一下:

原來(lái)的版本:

initial begin  $fsdbDumpfile("tb.fsdb");  $fsdbDumpvars;end

第一個(gè)語(yǔ)句是產(chǎn)生一個(gè)fsdb文件,文件名為tb.fsdb,第二句是保存所有變量的波形。這里是為了產(chǎn)生fsdb文件,這樣Verdi才能看到根據(jù)fsdb文件顯示波形

修改后的版本:

initial begin  $fsdbDumpfile("tb.fsdb");  $fsdbDumpvars;  $fsdbDumpMDA();end

第三行加了$fsdbDumpMDA(),這樣就可以Dump所有的Memeory值,不管什么信號(hào)都可以保存到Memory。

VCS編譯命令使用參數(shù)如下:

vcs  \\*.v -LDFLAGS -Wl,--no-as-needed -timescale=1ns/1ps \\-fsdb  -full64  -R  +vc  +v2k -sverilog  -debug_all

仿真結(jié)束后,想使用Verdi查看二維數(shù)組的值,啟動(dòng)Verdi。

命令行如下:

verdi  -nologo \\+v2k  -sverilog  *.v -ssf tb.fsdb  &

可以在Verdi添加信號(hào)時(shí)看到二維數(shù)組,如下圖:

圖片

Verdi查看可以看到二維數(shù)組

添加之后:

圖片

可以從圖中看到,很不直觀,不能直接看出有什么問(wèn)題。

換個(gè)思路,按照下圖操作,選擇Memory里的Memory/MDA工具

圖片

按照序號(hào)操作

按照?qǐng)D中1,2的順序,然后按照下圖選擇想查看的信號(hào)

圖片

點(diǎn)擊后選擇想觀察的信號(hào)

圖片

顯示信號(hào)結(jié)果

這里需要說(shuō)明,查看二維數(shù)組內(nèi)部存儲(chǔ)的值,可以使用框1里面的鍵,左右可以控制仿真時(shí)間,信號(hào)的值會(huì)跟隨仿真時(shí)間改變而改變???的時(shí)間跨度可以更改。

默認(rèn)顯示的信號(hào)都是十六進(jìn)制,如果想改變進(jìn)制顯示,在2的位置右鍵可以改變進(jìn)制顯示,并選擇有符號(hào)或無(wú)符號(hào)顯示。

地址數(shù)據(jù)也是十六進(jìn)制顯示,可以在3的位置右鍵改變?yōu)槭M(jìn)制顯示。

有了這些工具的幫助,便可以從出錯(cuò)的結(jié)果一步步往上查,追查BUG的效率提高不少。

總結(jié),操作順序:

  1. Testbench加入$fsdbDumpMDA();
  2. 使用Verdi的Memory/MDA工具查看
聲明:本文內(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)投訴
  • FIR
    FIR
    +關(guān)注

    關(guān)注

    4

    文章

    146

    瀏覽量

    33069
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1343

    瀏覽量

    109925
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    9581
  • MDA
    MDA
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    12204
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    二維數(shù)組各列循環(huán)更新程序

    程序?qū)崿F(xiàn)了把生成的一數(shù)組更新二維數(shù)組各列功能?;緦?shí)現(xiàn)了LabVIEW二維數(shù)組插入的功能要求。
    發(fā)表于 10-13 13:20

    請(qǐng)問(wèn)Verilog怎么實(shí)現(xiàn)二維數(shù)組輸出?

    各位大哥,求教一下,Verilog如何實(shí)現(xiàn)二維數(shù)組輸出??催^(guò)網(wǎng)上的例程,一般都是拆成一數(shù)組輸出的,但是如果
    發(fā)表于 05-23 22:23

    Labview之自動(dòng)索引功能(二維數(shù)組--一數(shù)組

    Labview之自動(dòng)索引功能(二維數(shù)組--一數(shù)組),很好的Labview資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:56 ?0次下載

    Labview之簇數(shù)組二維數(shù)組顯示

    Labview之簇數(shù)組二維數(shù)組顯示,很好的Labview資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 04-19 11:28 ?0次下載

    c語(yǔ)言二維數(shù)組定義及其規(guī)則詳解

    數(shù)組只有一個(gè)下標(biāo),,稱為一數(shù)組,其數(shù)組元素也稱為單下標(biāo)變量。在實(shí)際問(wèn)題中有很多量是二維的或
    發(fā)表于 11-16 08:49 ?2.2w次閱讀
    c語(yǔ)言<b class='flag-5'>二維</b><b class='flag-5'>數(shù)組</b>定義及其規(guī)則詳解

    c語(yǔ)言二維數(shù)組初始化及使用

    二維數(shù)組初始化也是在類型說(shuō)明時(shí)給各下標(biāo)變量賦以初值。二維數(shù)組可按行分段賦值,也可按行連續(xù)賦值。 數(shù)組是一種構(gòu)造類型的數(shù)據(jù)。
    發(fā)表于 11-16 09:15 ?2w次閱讀
    c語(yǔ)言<b class='flag-5'>二維</b><b class='flag-5'>數(shù)組</b>初始化及使用

    二維數(shù)組重新排序

    labview進(jìn)行二維數(shù)組的重新排序
    發(fā)表于 12-12 15:15 ?9次下載

    C語(yǔ)言程序設(shè)計(jì)教程之二維數(shù)組如何應(yīng)用二維數(shù)組的資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之二維數(shù)組如何應(yīng)用二維數(shù)組的資料概述主要內(nèi)容包括了:1 了解二維
    發(fā)表于 10-26 16:48 ?3次下載

    Verilog中的二維數(shù)組說(shuō)明

    Verilog中提供了兩數(shù)組來(lái)幫助我們建立內(nèi)存的行為模型。具體來(lái)說(shuō),就是可以將內(nèi)存宣稱為一個(gè)reg類型的數(shù)組,這個(gè)數(shù)組中的任何一個(gè)單元都可
    的頭像 發(fā)表于 09-28 11:35 ?3.1w次閱讀

    二維數(shù)組數(shù)組指針以及指針數(shù)組

    二維數(shù)組數(shù)組指針以及指針數(shù)組
    的頭像 發(fā)表于 08-16 09:02 ?2570次閱讀

    Python將二維數(shù)組輸出為圖片

    使用Python讀取二維數(shù)組,將二維數(shù)組輸出為圖片,并保存在本地。
    的頭像 發(fā)表于 01-11 16:18 ?1339次閱讀
    Python將<b class='flag-5'>二維</b><b class='flag-5'>數(shù)組</b>輸出為圖片

    C語(yǔ)言—二維數(shù)組介紹

    定義一個(gè)兩行三列的二維數(shù)組,總共有6個(gè)元素
    的頭像 發(fā)表于 09-11 14:51 ?848次閱讀
    C語(yǔ)言—<b class='flag-5'>二維</b><b class='flag-5'>數(shù)組</b>介紹

    python怎么創(chuàng)建二維數(shù)組

    如何創(chuàng)建二維數(shù)組在Python中是一個(gè)常見(jiàn)的問(wèn)題。在Python中,我們可以使用嵌套的列表(list of lists)或者使用NumPy庫(kù)來(lái)創(chuàng)建二維數(shù)組。在本文中,我們將詳細(xì)介紹這兩
    的頭像 發(fā)表于 11-21 15:10 ?3571次閱讀

    python如何定義二維數(shù)組

    在Python中,可以通過(guò)使用列表嵌套的方式來(lái)定義二維數(shù)組。具體步驟如下: Step 1: 創(chuàng)建一個(gè)空的二維列表 要?jiǎng)?chuàng)建一個(gè)空的二維數(shù)組
    的頭像 發(fā)表于 11-21 15:12 ?1648次閱讀

    將一數(shù)組轉(zhuǎn)為二維python

    將一數(shù)組轉(zhuǎn)為二維數(shù)組是一個(gè)常見(jiàn)的問(wèn)題,特別是在處理數(shù)據(jù)時(shí)。一數(shù)組是由一個(gè)連續(xù)的數(shù)據(jù)塊組成,而
    的頭像 發(fā)表于 11-23 14:54 ?4975次閱讀