衡阳派盒市场营销有限公司

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

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

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

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

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

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

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

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

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

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

原來的版本:

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

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

修改后的版本:

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

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

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

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

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

命令行如下:

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

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

圖片

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

添加之后:

圖片

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

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

圖片

按照序號操作

按照圖中1,2的順序,然后按照下圖選擇想查看的信號

圖片

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

圖片

顯示信號結(jié)果

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

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

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

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

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

  1. Testbench加入$fsdbDumpMDA();
  2. 使用Verdi的Memory/MDA工具查看
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FIR
    FIR
    +關(guān)注

    關(guān)注

    4

    文章

    147

    瀏覽量

    33284
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

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

    關(guān)注

    0

    文章

    80

    瀏覽量

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

    關(guān)注

    0

    文章

    13

    瀏覽量

    12263
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    將一數(shù)組轉(zhuǎn)為二維數(shù)組是一個常見的問題,特別是在處理數(shù)據(jù)時。一數(shù)組是由一個連續(xù)的數(shù)據(jù)塊組成,而
    的頭像 發(fā)表于 11-23 14:54 ?5560次閱讀
    百家乐官网游戏机的玩法 | 广州百家乐官网桌子| 百家乐官网如何睇路| 大发888手机版客户端| 博彩网百家乐的玩法技巧和规则 | 网络百家乐官网大转轮| 湖北省| 吉利百家乐的玩法技巧和规则| 百家乐经验博彩正网| 大哥大百家乐官网的玩法技巧和规则 | 御匾会百家乐官网娱乐城| 百家乐官网群sun811| 苏尼特右旗| 8大胜| 大发888真坑阿| 免费百家乐分析工具| 七胜百家乐娱乐平台| 大发888| 威尼斯人娱乐城注册网址| 跨国际百家乐的玩法技巧和规则| 百家乐平台开户哪里优惠多 | 粤港澳百家乐官网娱乐场| 澳门百家乐官网怎样下注| 滨州市| 网上真钱麻将| 网络棋牌游戏排行榜| 大发888为什么进不去| 威尼斯人娱乐城赌博网| 运城百家乐蓝盾| 金鼎百家乐局部算牌法| 澳门百家乐什么规则| 百家乐已破解的书籍| 做生意需要找风水先生吗| JJ百家乐官网的玩法技巧和规则 | 百家乐官网平注常赢法| 百家乐官网视频游戏大厅| 网上百家乐官网好玩吗| 百家乐官网玩法守则| 百家乐官网打庄技巧| 百家乐官网百家乐官网群| 百家乐官网出庄概率|