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

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

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

3天內不再提示

聊聊使用Verdi去分析NBA Delay的問題

冬至子 ? 來源:icsoc ? 作者:韓京飛 ? 2023-06-09 16:28 ? 次閱讀

在學習和使用 Verilog 的過程中,難免會碰到需要深入理解仿真器調度的問題。今天這篇聊聊使用 Verdi 去分析 NBA Delay 的問題。

NBA 就是 NonBlocking Assignment,非阻塞賦值 的縮寫。它通常用來描述一個用時鐘沿觸發的寄存器。在 Verilog 普及早期,人們通常會在 NBA 的<= 之后加個單位延時#1來解決早期仿真器行為不一致的問題。

所謂習慣成自然,NBA Unit Delay 在某些設計中一直沿用下來,那么如何去理解這個延時的作用呢?SNUG 上的知名作者 Clifford E. Cummings 在 2002 年有篇文章闡述的挺詳細,感興趣的朋友可以搜來研究,不再贅述。

下面給出一些代碼片斷,同樣感興趣的朋友可以自己完善并用 VCS 仿真生成波形,然后用 Verdi 打開。

首先創建三個時鐘,注意兩個二分頻時鐘的創建方式不同。

always #(10/2) clk = ~clk;
  always #(20/2) clk_div2_direct = ~clk_div2_direct;
  
  always @ ( posedge clk or negedge rst_n ) begin
    if ( ~ rst_n ) begin
      clk_div2  <= 1'b0;
    end
    else begin
      clk_div2  <= ~clk_div2;
    end
  end

然后用 clk 觸發一個不停翻轉的寄存器 d1,再分別用兩個二分頻時鐘去采樣,保存在 d5 和 d6 中。

always @ ( posedge clk or negedge rst_n ) begin
    if ( ~ rst_n ) begin
      d1  <= 1'b0;
    end
    else begin
      d1  <= ~d1;
    end
  end
  
  always @ ( posedge clk_div2 or negedge rst_n ) begin
    if ( ~ rst_n ) begin
      d5 <= 1'b0;
    end
    else begin
      d5 <= d1;
    end
  end

  always @ ( posedge clk_div2_direct or negedge rst_n ) begin
    if ( ~ rst_n ) begin
      d6 <= 1'b0;
    end
    else begin
      d6 <= d1;
    end
  end

用 VCS 仿真的時候,加上編譯時選項+fsdb+region和運行時選項+fsdb+delta

然后用 Verdi 打開生成的 fsdb 波形。正常的話,可以看到 d5 和 d6 的波形是完全不同的,一個是常0,一個是常1。

圖片

只從上圖分析的話,兩個二分頻時鐘的波形是完全一致的,被采樣的數據是同一個,那么采到的數據也應該是相同的。但我們知道這兩個二分頻時鐘的生成方式是不同的,那么不同在什么地方呢?

在 Verdi 的 nWave 窗口中選中 View - Expand Delta - Region Mode,把 Cursor 移動到二分頻時鐘的上升沿,然后點擊 Expand/Collapse Time at Cursor,簡單點的話直接按 w 鍵。

圖片

然后就可以看到這個仿真時刻的 Simulation Region,里面展示了各個 Event 和 Region 的關系。

圖片

這個例子中,只存在綠色的 Active Region 和 紅色的 NBA Region。在某些 glitch debug 的例子中,還能看到 Re-Active Region 和 Re-NBA Region。

Region 的展示可以幫助我們很好的理解 Verilog 規范中的定義的信號調度。

此外,Verdi 還可以通過點擊 Tools - Event Sequence 來顯示圖形化的 Event 序列。

圖片

圖片

Verdi 真得是很好很強大。

不過隨著工具的逐漸強大,站在工具背后的人呢?是在逐漸退化還是改變了進化方向?歡迎留言說說你的看法。

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

    關注

    31

    文章

    5336

    瀏覽量

    120244
  • 仿真器
    +關注

    關注

    14

    文章

    1017

    瀏覽量

    83726
  • VCS
    VCS
    +關注

    關注

    0

    文章

    79

    瀏覽量

    9602
  • Verdi
    +關注

    關注

    0

    文章

    22

    瀏覽量

    8775
  • CLK
    CLK
    +關注

    關注

    0

    文章

    127

    瀏覽量

    17158
收藏 人收藏

    評論

    相關推薦

    請教VCS和verdi怎么聯合使用

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

    NBA球員年薪影響因素分析方案

    利用可視化對NBA球員年薪影響因素進行分析
    發表于 08-08 10:35

    怎樣使用Makefile+VCS+Verdi做個簡單的Test Bench?

    怎樣使用Makefile+VCS+Verdi做個簡單的Test Bench?有哪些操作步驟?
    發表于 06-18 06:28

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

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

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

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

    Verdi 54v7 LINUX

    Verdi 54v7 LINUX
    發表于 03-25 13:19 ?9次下載

    烏拉戒指:助力NBA抗疫,爭取NBA復賽

    對很多人來說,沒有NBA的夏天是不完整的。好消息是,NBA在竭盡全力重啟停擺了將近4個月的2019-2020賽季;壞消息是,美國疫情再次加重,NBA多位球員的病毒檢測成陽性,復賽舉辦地奧蘭多的感染人數也在反彈,復賽有可能取消。
    的頭像 發表于 07-03 15:42 ?3190次閱讀

    stm32 delay文件總結

    stm32 delay文件總結delay.h#ifndef __DELAY_H#define __DELAY_H #include "sys.h" void
    發表于 12-24 19:36 ?6次下載
    stm32 <b class='flag-5'>delay</b>文件總結

    分享《verdi用法小結》的pdf

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

    Verdi使用技巧(三)

    前一段時間IC君比較忙,沒有更新文章,最近稍微閑下來點,繼續更新Verdi相關的文章。
    的頭像 發表于 04-25 14:44 ?4682次閱讀
    <b class='flag-5'>Verdi</b>使用技巧(三)

    全網最實用的Verdi教程1

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的仿真與檢查。Verdi
    的頭像 發表于 05-05 14:49 ?1.7w次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程1

    全網最實用的Verdi教程2

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的仿真與檢查。Verdi
    的頭像 發表于 05-05 14:53 ?8549次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程2

    全網最實用的Verdi教程3

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的仿真與檢查。Verdi
    的頭像 發表于 05-05 14:53 ?5698次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程3

    Verdi環境配置、生成波形的方法

    Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進行代碼的仿真與檢查
    的頭像 發表于 05-29 09:48 ?3848次閱讀
    <b class='flag-5'>Verdi</b>環境配置、生成波形的方法

    Verdi連續波激光器-Coherent

    描述: Verdi系列激光器,是基于OPSL專利技術,是高功率的532nm綠光激光器。常用于鈦寶石激光器泵浦、全息、干涉、冷原子等領域。 Verdi系列激光器,是久負盛名的激光器,具有非常出色
    的頭像 發表于 06-30 09:47 ?538次閱讀
    <b class='flag-5'>Verdi</b>連續波激光器-Coherent
    主站蜘蛛池模板: 国产传媒18精品A片在线观看| 老湿机一区午夜精品免费福利| 在线 自拍 综合 亚洲 欧美| 秋霞在线看片无码免费| 久久99国产综合精品AV蜜桃| 成年人在线免费观看视频网站| 野花香在线观看免费观看大全动漫 | 波多野结衣 熟女| 夜夜骑夜夜欢| 亚洲精品久久久久AV无码林星阑| 女人被躁到高潮嗷嗷叫69| 精品久久久噜噜噜久久久app| 观赏女性排尿| 成年人视频免费在线播放| 在线观看免费毛片| 野草观看免费高清视频| 亚洲成人综合在线| 偷拍 拍自 欧美色区| 日日碰狠狠躁久久躁综合网| 热の中文 AV天堂| 秋霞午夜鲁丝片午夜精品久| 麻豆成人啪啪色婷婷久久| 久久精品国产亚洲AV未满十八 | 在线观看插女生免费版| 亚洲色欲国产免费视频| 亚洲人成在线播放网站岛国| 亚洲爱视频| 亞洲人妻AV無碼在線視頻| 亚洲一区在线观看无码欧美| xxx日本高清视频hd| 97国产精品人妻无码免费| 99久久精品费精品蜜臀AV| 办公室中文BD| 高清欧美一区二区三区| 国产午夜小视频| 久cao在线香蕉| 欧美高清vivoesond在线播放| 欧洲亚洲精品A片久久99果冻| 日韩人妻无码精品久久中文字幕| 婷婷精品国产亚洲AV在线观看 | 国内精品伊人久久久影院|