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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

Verdi查看task內部變量

CHANBAEK ? 來源:數字IC與好好生活的兩居室 ? 作者:除夕之夜啊 ? 2023-03-26 16:08 ? 次閱讀

任務(task)可以用來描述共同的代碼段,并在模塊內任意位置被調用,讓代碼更加的直觀易讀。task 更像一個過程,過程內一般按順序執行,完成各種邏輯控制。

調試 testbench 中的 task 時,新手可能會遇到一些問題。典型的問題有兩個,一個是 task 內部聲明使用的變量為什么不能在 Verdi 波形中查看,另一個是 task 輸出端連接的信號為什么不隨 task 內部賦值變量的變化而變化。本節將對這兩個問題進行講解說明。

Verdi 查看 task 內部變量

創建一個簡單的 task,包含內部變量 reg 和 output,如下所示。

//varialbes in task
       task reg_in_task  ;
              output [7:0]       data_test1 ;
              reg [7:0]              data_test2 ;
              begin
                     #100 ;
                     data_test1 = 8'h13 ;
                     data_test2 = 8'h24 ;
                     #100 ;
                     data_test1 = 8'h1a ;
                     data_test2 = 8'h2b ;
              end
       endtask

在 testbench 的 initial 語句中調用該task,并定義變量 data_test1_t,連接到該 task 輸出端,如下所示。

`timescale 1ns/1ps
module test ;
   ......
       reg [7:0]       data_test1_t ;
       initial begin
              reg_in_task(data_test1_t) ;
       end
endmodule

使用 simv 進行仿真,不用添加特殊選項,如下所示。

./simv -ucli -i wave_gen.tcl -l sim.log

打開 Verdi 和 fsdb 波形文件,添加 task 內部的變量 data_test1 和輸出端 data_test2 時,會提示相關信號無法找到。

圖片

為解決上述問題,使用 simv 進行仿真時需要添加特殊選項 +fsdb+functions,如下所示。

./simv +fsdb+functions -ucli -i wave_gen.tcl -l sim.log

此時再在 Verdi 中添加 task 內部的變量 data_test2 和輸出端 data_test1,其變化過程會在波形上顯示,如下所示。

圖片

◆ 小結:VCS 仿真時,需要在 simv 仿真時添加 fsdb+functions 參數,才可在 Verdi 中打開 fsdb 波形并查看 task 內部變量的變化情況。

TASK 操作全局變量

上述仿真波形中,細心的讀者可能會看到,雖然連線信號 data_test1_t 連接的是 task 輸出端,但是 data_test1_t 并不隨 task 輸出端的變化而變化。

圖片

這是因為 testbench 中的代碼一般是順序執行,并沒有對應的實際硬件結構。所以 task 輸出端連接的對應信號不可以理解為連續賦值,而是理解為一個返回值。即 task 執行完畢時,只返回輸出端連接的信號一個最終結果。所以,data_test1_t 只會在 task 結束時 (對應200ns) 被賦值為 8'h1a,并不會體現中間的變化過程。

如果一個信號在 task 中的變化能夠體現在 task 外部,則該信號需要定義為全局變量。即信號需要定義在 task 外部,但是在 task 內部中驅動。

上述示例中,刪除輸出端 data_test1,并在 task 中直接對全局變量 data_test1_t 進行賦值驅動。

`timescale 1ns/1ps
module test ;


    reg [7:0]       data_test1_t
    //varialbes in task
    task reg_in_task  ;
        reg [7:0]              data_test2 ;
        begin
           #100 ;
           data_test1_t = 8'h13 ;
           data_test2   = 8'h24 ;
           #100 ;
           data_test1_t = 8'h1a ;
           data_test2   = 8'h2b ;
       end
    endtask


    initial begin
       reg_in_task ;
    end
endmodule

仿真結果如下。此時全局變量 data_test1_t 的變化過程并不局限于 task 內部。

圖片

testbench 不用“Think In Hardware”,寫法比較自由。在多個 task 中對同一個全局變量信號進行多驅動也是沒有問題的,只要時間軸上分開驅動事件的先后順序即可。

上述示例中再增加一個 task ,用以驅動全局信號 data_test1_t,則代碼和仿真結果如下。這里不再分析。

task task_mult_drive  ;
        begin
            #150 ;
            data_test1_t = 8'hc8 ;
        end
    endtask


    initial begin
        task_mult_drive ;
    end

圖片

小結:task 執行完畢時,只返回輸出端連接的信號一個最終結果。如果 task 中信號的變化過程能夠在 task 外部實時體現,則該信號也需要定義在 task 外部。

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

    關注

    7

    文章

    2695

    瀏覽量

    47433
  • 信號
    +關注

    關注

    11

    文章

    2790

    瀏覽量

    76731
  • 代碼
    +關注

    關注

    30

    文章

    4780

    瀏覽量

    68527
  • Verdi
    +關注

    關注

    0

    文章

    22

    瀏覽量

    8775
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28361
收藏 人收藏

    評論

    相關推薦

    高速接口MIPI DPHY配置task函數

    景芯SoC訓練營有同學問Verdi如何加載task函數里面的波形,這里以高速圖像接口MIPI為例,給大家介紹下吧。
    的頭像 發表于 11-18 16:59 ?959次閱讀
    高速接口MIPI DPHY配置<b class='flag-5'>task</b>函數

    請教VCS和verdi怎么聯合使用

    最近要用到VCS仿真后生成FSDB文件,然后在Verdi中進行自動偵錯,請問我怎么安裝Verdi這個軟件以及如何啟動license,并且怎么寫testbench文件才可以產生FSDB文件。請懂得人給我支支招,我也是剛開始學習這個軟件的使用。
    發表于 01-22 14:53

    Verdi工具怎么安裝?如何破解?

    本文介紹Verdi工具的安裝及破解過程
    發表于 06-21 07:15

    VCS+Verdi如何安裝?怎么破解?

    VCS+Verdi如何安裝?怎么破解?
    發表于 06-21 06:11

    IAR 在線調試查看各種變量的不同方法

    IAR在線調試查看各種變量的不同方法
    的頭像 發表于 03-12 10:00 ?1.3w次閱讀

    如何通過自動化腳本實現Questasim和Verdi的聯合仿真

    : 《VERDI_HOME》/share/PLI/MODELSIM/${PLATFORM}。 首先需要把上面的庫文件路徑添加到系統的環境變量LD_LIBRARY_PATH 中,如下:
    的頭像 發表于 06-13 17:00 ?4565次閱讀
    如何通過自動化腳本實現Questasim和<b class='flag-5'>Verdi</b>的聯合仿真

    分享《verdi用法小結》的pdf

    分享Verdi用法小結的pdf文檔
    的頭像 發表于 02-18 20:21 ?1211次閱讀
    分享《<b class='flag-5'>verdi</b>用法小結》的pdf

    全網最實用的Verdi教程1

    過程中,常常用來調試(debug)一些錯誤的情況。Verdi既可以閱讀調試代碼,又可以查看波形,包括數字設計的波形和模擬設計的波形。
    的頭像 發表于 05-05 14:49 ?1.7w次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程1

    全網最實用的Verdi教程2

    過程中,常常用來調試(debug)一些錯誤的情況。Verdi既可以閱讀調試代碼,又可以查看波形,包括數字設計的波形和模擬設計的波形。
    的頭像 發表于 05-05 14:53 ?8542次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程2

    全網最實用的Verdi教程3

    過程中,常常用來調試(debug)一些錯誤的情況。Verdi既可以閱讀調試代碼,又可以查看波形,包括數字設計的波形和模擬設計的波形。
    的頭像 發表于 05-05 14:53 ?5690次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程3

    如何用vcs+verdi仿真Verilog文件并查看波形呢?

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。
    的頭像 發表于 05-08 16:00 ?6428次閱讀
    如何用vcs+<b class='flag-5'>verdi</b>仿真Verilog文件并<b class='flag-5'>查看</b>波形呢?

    如何用vcs+verdi仿真Verilog文件

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件內容如下:
    的頭像 發表于 05-11 17:03 ?1913次閱讀
    如何用vcs+<b class='flag-5'>verdi</b>仿真Verilog文件

    如何用Verdi查看UVM環境中的變量

    我們常用的debug UVM的方法是通過打印log實現。有沒有辦法像 debug RTL代碼一樣將 UVM 中變量拉到波形上看呢?答案是有的,下面讓我們看看是怎么做到的。
    的頭像 發表于 06-25 16:01 ?1738次閱讀
    如何用<b class='flag-5'>Verdi</b><b class='flag-5'>查看</b>UVM環境中的<b class='flag-5'>變量</b>?

    GDB調試如何進行變量查看

    變量查看 變量查看: 最常見的使用便是使用print(可簡寫為p)打印變量內容。 以上述程序為例: gdb helloworld break
    的頭像 發表于 09-26 16:17 ?1947次閱讀

    verilog task和function區別

    verilog中的task和function都是用于實現模塊中的可重復的功能,并且可以接收參數和返回結果。但是它們在編寫和使用上有一些區別。下面將詳細介紹task和function的區別。 語法結構
    的頭像 發表于 02-22 15:53 ?1058次閱讀
    主站蜘蛛池模板: 亚洲成人免费观看| 婷婷久久无码欧美人妻| 欧美精品专区第1页| 欧美亚洲日韩国码在线观看| 琪琪SEE色原网色原网站18| 日韩做A爰片久久毛片A片毛茸茸| 日夜啪啪一区二区三区| 亚洲 欧美 视频 手机在线| 野花韩国在线观看| 97人妻碰视频在线观看| 白丝高中生被c爽哭| 国产黄A片在线观看永久免费麻豆| 国产人成高清在线视频99| 九九99亚洲精品久久久久| 免费被靠视频动漫| 色丁香婷婷综合缴情综| 亚洲欧美一区二区久久| 91看片淫黄大片.在线天堂| 俄罗斯美女破处| 交换娇妻呻吟声不停中文字幕| 美女大鸡鸡| 无人区在线日本高清免费| 野花香在线观看免费高清播放视频| 98久久人妻少妇激情啪啪| 国产成人免费观看| 久久一级视频| 色久天| 伊人久久青草| 成人毛片免费在线观看| 好湿好滑好硬好爽好深视频| 内射老妇BBX| 亚洲AV一宅男色影视| 99久久久无码国产精精品| 国产不卡在线观看视频| 久久精品中文字幕有码日本| 日本午夜福利无码高清| 一二三区乱码不卡手机版| 宝贝好紧好爽再搔一点试視頻| 狠狠干女人| 青青草原91| 一区二区三区四区国产|