色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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

    文章

    2730

    瀏覽量

    47649
  • 信號
    +關注

    關注

    11

    文章

    2804

    瀏覽量

    76991
  • 代碼
    +關注

    關注

    30

    文章

    4819

    瀏覽量

    68878
  • Verdi
    +關注

    關注

    0

    文章

    22

    瀏覽量

    8801
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28441
收藏 人收藏

    評論

    相關推薦

    高速接口MIPI DPHY配置task函數

    景芯SoC訓練營有同學問Verdi如何加載task函數里面的波形,這里以高速圖像接口MIPI為例,給大家介紹下吧。
    的頭像 發表于 11-18 16:59 ?986次閱讀
    高速接口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.4w次閱讀

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

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

    分享《verdi用法小結》的pdf

    分享Verdi用法小結的pdf文檔
    的頭像 發表于 02-18 20:21 ?1258次閱讀
    分享《<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 ?9036次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程2

    全網最實用的Verdi教程3

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

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

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

    如何用vcs+verdi仿真Verilog文件

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

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

    我們常用的debug UVM的方法是通過打印log實現。有沒有辦法像 debug RTL代碼一樣將 UVM 中變量拉到波形上看呢?答案是有的,下面讓我們看看是怎么做到的。
    的頭像 發表于 06-25 16:01 ?1834次閱讀
    如何用<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 ?2006次閱讀

    verilog task和function區別

    verilog中的task和function都是用于實現模塊中的可重復的功能,并且可以接收參數和返回結果。但是它們在編寫和使用上有一些區別。下面將詳細介紹task和function的區別。 語法結構
    的頭像 發表于 02-22 15:53 ?1165次閱讀
    主站蜘蛛池模板: 久久99国产精品一区二区| 国产高清-国产av| 亚瑟天堂久久一区二区影院| 无限资源在线观看8| 亚洲欧美成人综合| 中国老太太xxx| xxnx动漫| 国产成人综合在线观看网站| 日韩AV爽爽爽久久久久久 | 免费视频国产| 世界第一黄暴漫画家| 亚洲午夜AV久久久精品影院色戒| 99久久精品一区二区三区| 跪趴式啪啪GIF动态图27报| 久久囯产精品777蜜桃传媒| 日日摸夜夜嗷嗷叫日日拍| 中文字幕成人| 麻豆人妻换人妻X99| 无人影院在线播放| 99久久免费看国产精品| 欧美成人一区二免费视频| 亚洲欧美日韩精品久久奇米色影视 | 欧美牲交视频免费观看K8经典| 亚洲精品蜜桃AV久久久| 成人无码在线视频区| 久久性色AV亚洲电影无码| 午夜影院视费x看| 1000视频在线播放| 国产亚洲欧美在线观看三区| 鸥美一级黄色片| 在线看片成人免费视频| 国产亚洲人成在线视频| 一本久道久久综合狠狠躁AV| 国产精品欧美久久久久天天影视| 强奷乱码中文字幕熟女免费| 印度学生xxxxx性14一16| 国产无遮挡色视频免费观看性色 | 亚洲欧美韩国综合色| 快播电影频道| 越南女 黑人 痛苦 大叫| 欧美另类摘花hd|