在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

為什么調試X值那么困難?

新思科技 ? 來源:新思科技 ? 2024-08-12 10:23 ? 次閱讀

造成調試困難的因素有很多,其中包括取值未知(“X”)的情況。X是VHDL、Verilog、SystemVerilog等邏輯標準所定義的眾多邏輯值之一,可以代表1、0或Z,也就是說X的值是未知的,從而能夠預示設計或驗證環境邏輯仿真中邏輯信號的不確定性。讓事情變得更加復雜的是,在RTL和Gate仿真中,X的不確定性是各有不同。默認情況下,RTL邏輯仿真器的處理方式較為樂觀,也就是允許X在邏輯上被阻塞。舉一個比較典型的例子,多路復用器的選擇信號具有X值時,這個X值是否會被傳播取決于其建模方式。具體請參閱下表。

wKgaoma5cjSAU_roAAID2hg_n8k024.jpg

▲圖1 該表格最初發表于一篇題為“I’m Still In Love with My X!”的DVCon 2013會議論文,作者是Sutherland HDL。

請重點留意在建模中如何確定仿真器是否允許多路復用器傳遞0、1或X值。請注意,在實際芯片中,信號值始終為1(高電壓)或0(低電壓)。

那么,為什么要關注這種樂觀的處理方式呢?

寬松的處理方式可能隱藏著一些潛在的設計缺陷。在上述表格中,如果Sel輸入未連接,則芯片電路的電氣行為將變得不可預測。如果預計輸出為1,但出現的是0,則實際的芯片電路可能不穩定,需要重置多次才能獲得所需的值1。

門級仿真傾向于在技術邏輯單元中使用支持傳遞X值的機制(或邏輯表),因此與芯片值的相關性更大。X值的傳播讓用戶能夠在制造芯片之前發現一些不良行為。

除了像RTL仿真中那樣因較寬松的傳播行為而阻塞X值之外,還存在一些場景,其中X值不應該被傳播。就拿下圖這個簡單的例子來說:

wKgZoma5cjSAQGiGAAD4w3rt5Bg279.jpg

無論模塊A輸出端的X值如何,邏輯本身應始終在與門(AND)的輸出端生成0。在這種情況下,邏輯結構的建模/仿真處理就過于悲觀了。雖然在這種邏輯結構的輸出端上調試X值對于開發者來說有點浪費時間,但對這種設計結構類型加以了解將十分受用。

為什么很難找到X?

無論X在RTL或門級仿真中如何傳播,幾乎所有X都難以進行調試。為什么會這樣?首先,產生X的根本原因或來源可能有很多。例如,某個邏輯門具有X輸入(非驅動);存儲器或觸發器未初始化為已知值;或是觸發器違反了建立時間或保持時間的規定,都有可能產生X。下圖是一個簡單的例子:就像這個與門,有一個X和同時有多個X的情況都很常見。輸入端i1和i2上的X導致輸出端o1輸出X。

wKgaoma5cjSALW0cAAChh85XgDc563.jpg

當輸入端出現多個X時,用戶需要選擇其中一個作為調試X的起點,然后反復回溯到所關注信號的驅動源或扇入信號,直到能夠找出最早出現的X值或根本原因。而當所關注的信號或根本原因信號不是造成X值的唯一原因時,用戶需要選擇另一輸入X來追蹤其根本原因。找到的第二個根本原因可能與前一個錯誤的根本原因相同,也可能是另一個來源。這是造成X難以調試且費時費力的關鍵原因之一。

此外,X通常要在設計中傳播數千個RTL語句或門級邏輯,才能到達觀察點、調試入口點或輸出端口。當然,這要取決于具體部署的環境類型、模塊級別、芯片級別或SoC。單個根本原因也可能傳播到多個觀察點。此外,這些根本原因和觀察點的邏輯錐可能交織在一起。各種因素盤根錯節,使得追蹤X難上加難。下圖說明了X態傳播和輸出端上X重疊的概念。輸出Z1僅接收到輸入A,輸出Z3僅接收到輸入B,但輸出Z2卻能接收到輸入A和輸入B。

wKgaoma5cjSAUvZMAAD7EtQQ5nY536.jpg

這個追蹤過程需要多次迭代操作,非常繁瑣。此外,還需要了解來源/根本原因的類型。例如,系統可能有意設置了一個尚未重置或賦值的內存數組,而某個地址可能錯誤地指向了這個未初始化的數組。所以追蹤這個數組并理解這個地址的邏輯也非常關鍵。話雖如此,是否有一種方法可以自動追蹤X的根本原因,并且在確定了根本原因后,對這些X進行分類或解釋原由?這種自動化將大大節省開發工作量,并大幅提升開發者的工作效率。

新思科技Verdi的XRCA組件

新思科技Verdi回歸調試自動化的XRCA組件是一種先進的根本原因分析工具,恰好能夠滿足上述自動化要求。XRCA是追蹤X和進行根本原因分析的出色引擎,不僅可以自動掃描FSDB中的X信號并追蹤X信號的根本原因,而且可以批量處理大量X信號以縮短調試時間。此外還能生成邏輯清晰的報告,按不同類別列出根本原因。報告會加載到新思科技Verdi的RCA主設備中,以便觀察結果和追蹤路徑。

wKgZoma5cjWALMUbAAL-7Hpm8mg373.jpg

XRCA是在啟動門級仿真和進行回歸處理時調試X信號的理想工具。除了許多根本原因分類之外,XRCA還支持門級網表追蹤、RTL級追蹤、新思科技VCS X態傳播追蹤、低功耗組件X追蹤,以及X值悲觀處理檢測

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

    關注

    7

    文章

    589

    瀏覽量

    34080
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59969
  • 多路復用器
    +關注

    關注

    9

    文章

    877

    瀏覽量

    65377
  • 新思科技
    +關注

    關注

    5

    文章

    810

    瀏覽量

    50430

原文標題:令人痛苦的X!為什么調試X那么困難?

文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    調試讀取發送狀態寄存器的一直為0x1E是怎么回事

    然后在線調試讀取發送狀態寄存器的一直為0x1E,,我看網上正確的是0x2E,這是什么原因呀?
    發表于 07-13 10:35

    HCS12(X)仿真與調試資料

    本文檔內容適用于Freescale HCS12(X)系列MCU;仿真與調試使用Codewarrior IDE軟件+BDM調試器。軟件版本:CodeWarrior(for HC12)V4.6
    發表于 01-11 17:50 ?52次下載

    多核軟件調試方法與困難

    采用新的編程方法、調試方法和工具。在傳統上,JTAG調試技術主要是用于硬件Bring-Up,如今也常常被用于配合基于代理的調試(agent-based debugging)。然而,在多核和多處理的環境中,片上
    發表于 10-19 15:48 ?0次下載

    MPLAB? X IDE 編譯調試(下)

    這一講我們主要講MPLAB? X IDE 編譯調試下篇。
    的頭像 發表于 06-06 02:45 ?2929次閱讀
    MPLAB? <b class='flag-5'>X</b> IDE 編譯<b class='flag-5'>調試</b>(下)

    創建ADuCM302x調試配置

    創建ADuCM302x處理器系列的調試配置指南
    的頭像 發表于 06-06 01:45 ?3026次閱讀

    MPLAB? X IDE 編譯調試(上)

    本講我們主要講有關MPLAB? X IDE 編譯調試上篇。
    的頭像 發表于 06-06 01:45 ?4460次閱讀
    MPLAB? <b class='flag-5'>X</b> IDE 編譯<b class='flag-5'>調試</b>(上)

    C2837x入門:系統的調試仿真

    C2837x入門指南(十五)—系統設計之調試仿真
    的頭像 發表于 08-23 00:06 ?2843次閱讀

    iPhone 12系列真有那么

    其實像iPhone 12系列真的有那么么,畢竟咱們先不說iPhone 12mini,光iPhone 12的價格就其實是從6100元起步的,而且還沒有充電頭和耳機線,可以說庫克是成功地又耍了大家一波,不僅價格沒降下來,反而還漲了不少。
    的頭像 發表于 10-28 15:48 ?1797次閱讀

    電路調試的步驟、注意事項及故障解決沒那么簡單!

    實踐表明,一個電子裝置,即使按照設計的電路參數進行安裝,往往也難于達到預期的效果。這是因為人們在設計時,不可能周全地考慮各種復雜的客觀因素(如元件的誤差、器件參數的分散性、分布參數的影響等),必須
    發表于 02-10 12:15 ?5次下載
    電路<b class='flag-5'>調試</b>的步驟、注意事項及故障解決沒<b class='flag-5'>那么</b>簡單!

    基恩士CV-X調試手冊

    基恩士CV-X系列調試手冊
    發表于 06-22 16:07 ?0次下載

    DA1468x 芯片調試技術教程

    DA1468x 芯片調試技術教程
    發表于 03-15 20:15 ?1次下載
    DA1468<b class='flag-5'>x</b> 芯片<b class='flag-5'>調試</b>技術教程

    DA1468x 芯片調試技術教程

    DA1468x 芯片調試技術教程
    發表于 07-06 19:25 ?0次下載
    DA1468<b class='flag-5'>x</b> 芯片<b class='flag-5'>調試</b>技術教程

    X5效果器調試軟件

    X3.X5效果器調試軟件,中文版。
    發表于 07-18 18:17 ?74次下載

    Python中互換X和Y的

    在Python中,我們可以通過使用一個中間變量來互換X和Y的。具體的步驟如下: 步驟一:定義X和Y的 首先,我們需要定義X和Y的初始
    的頭像 發表于 11-22 11:00 ?2609次閱讀

    Python中互換X和Y的代碼

    x和y,我們想要交換它們的。以下是實現這個目標的代碼: # 使用第三個變量來交換 temp = x x = y y = temp 這種方
    的頭像 發表于 11-30 10:06 ?2115次閱讀
    主站蜘蛛池模板: 最近免费hd| 你懂的福利网站 | 国产午夜久久精品 | 午夜影院免费观看 | 国产黄网站在线观看 | 日本韩国三级在线 | 中文天堂最新版在线中文 | 日本成人福利视频 | 四虎最新网址在线观看 | 你懂的视频在线看 | 亚洲一区二区三区四 | 天天操夜夜摸 | 黄页在线播放网址 | ww欧洲ww在线视频看 | 精品久久久久久婷婷 | 日本aaaa级片 | 人人爽天天爽夜夜爽曰 | 国产高清视频在线免费观看 | 操操干干| 深爱激情五月网 | 1024手机在线观看视频 | 久久久久久久成人午夜精品福利 | 亚洲天堂婷婷 | 一级特一级特色生活片 | 天天色天天干天天 | 男人女人的免费视频网站 | 在线网站黄 | 日本一区二区在线免费观看 | 日日日日人人人夜夜夜2017 | 男人的天堂黄色 | 色色视频免费网 | 伊人成伊人成综合网2222 | 丁香婷婷综合五月综合色啪 | 亚洲日本视频 | 九九九精品 | 成 人 黄 色视频免费播放 | 五月婷婷在线视频 | 男人的天堂免费视频 | 好深好爽视频 | 国产美女精品久久久久久久免费 | 羞涩妩媚玉腿呻吟嗯啊销魂迎合 |