精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

波形系統三大關鍵點解析

冬至子 ? 來源:芯華章科技 ? 作者:David Hwang ? 2023-06-18 16:27 ? 次閱讀

芯片功能驗證中,仿真波形一直是調試的重要手段。通過觀測分析波形,工程師可以推斷代碼是否正常運行,電路的功能是否正確,設計是否滿足預期。波形解決了芯片驗證調試中可觀測性的問題,雖然單獨依賴觀測波形不足以解決調試的所有問題,但是波形是一個最基本的手段。很多FPGA硬件設計工程師都將仿真波形看作是硬件調試的示波器或者邏輯分析儀。

數字電路中的波形通常由四值邏輯表示,包括:1 - 高電平,0 - 低電平, X - 不定態,Z - 高阻態。

圖片

當然,為了降低復雜度,有些仿真系統簡單地忽略不定態和高阻態,僅使用二值邏輯表示。波形系統就是將仿真數據通過可視化的方式顯示出來。高級波形系統需要更多功能,包括對協議事務級(protocol transaction),混合信號(mixed signals),文本輸入輸出(File I/O)等功能的顯示。目前的大部分EDA廠商工具,都將波形系統都嵌入在各個仿真器和調試工具中,成為緊密結合的一部分。

業界的有多種波形格式,除了VCD是一個公開的標準格式之外,其他商業性質的各具特點,在性能和功能上各有優缺點。目前業界最普遍使用的是C2工具,它具有非常高效的數據壓縮率,用戶界面也非常友好,但是在大型設計上數據加載還是稍慢,底層優化有待進一步改進。C1工具操作性稍顯復雜,人機界面的易用性還有很大的提升空間。B工具中規中矩,它和A工具在數據壓縮率上都不能和C2工具相比。下列表格列出各自的一些特性。

圖片

圖片

波形系統在芯片驗證中至關重要,設計驗證工程師在使用波形調試的時候,對EDA工具有很高的期待,也提出了很多具體的要求。本文將探討波形系統的三個關鍵技術,通過這些具體的技術細節理解,工程師可以深入的了解波形系統的性能和易用性,以便將來選擇工具時做出更好的判斷。

圖片

圖片

一個IP可能包含著數千萬個的信號,這些信號隨時間產生的數據量是巨大的。如果在波形系統中不對數據進行有效的壓縮,而只是簡單的隨時間來記錄波形數據,這樣最終的數據量將是巨大的。即便在目前磁盤價格日益下降的今天,這樣的數據量對于一個復雜IP或者SOC的調試來說,這種大量的磁盤空間積聚也是無法接受的。一個巨大的波形不僅僅對磁盤空間產生各種挑戰,最大的問題還在于當調試器調用這些數據的效率。

業界比較通用的波形開放標準是基于VCD (Value Change Dump)格式的,這個格式是基于IEEE1364標準的,也就是VerilogHDL標準中定義的一個用文本方式存儲波形的數據格式。這種格式主要是記錄波形的名稱,對應數值變化的時間點,和數值變化量。他的最核心的思想是只在Value change(VC)的時候做數據和時間點記錄,而在沒有VC時候不做任何記錄。

由于它不用記錄每個時間點的波形數值,從某種意義上來說也有一定的數據壓縮效果。但即便如此,在一個復雜IP中產生的VCD文件尺寸也可能超過幾百GB,由于是文本數據格式,工具在讀取文件索引數據上效率也不高,因此,在大型設計中利用VCD做波形調試,會遇到很多性能瓶頸。

各大EDA商業公司都有自己的波形格式。雖然具體的標準都是私有的,但大致都是基于數據庫的方式來存儲和管理波形數據。這些數據不僅僅是存儲,還會進一步地壓縮和優化,以便減少磁盤開銷,并讓工具更有效地讀取和管理數據。由于波形是調試的重要工具,各大EDA廠家都有針對波形的壓縮技術,對調試器的圖形波形界面都做了優化,方便用戶的使用,最大程度提高調試的效率。然而,除了關鍵的壓縮技術之外,對工具來說還有一個重要的特性就是內存管理技術。

一個調試工具的內存管理技術決定了這個工具的可用性和易用性。在當下大量數據交互的仿真技術領域,優秀的內存管理技術對工具而言至關重要。簡單的來說,內存管理就是工具需要數據放置在磁盤或者內存中尋求一個平衡點,或最優化的比率。

過多的數據放在磁盤,每次工具在加載波形時候會非常緩慢;過量的數據加載到內存,會造成內存爆炸,讓整個服務器運行緩慢,從而也導致效率和用戶體驗下降。

有個笑話,說某工程經理特別要求工程師必須在中午12點開始加載波形調試,加載過程中內存基本耗盡,服務器無法做其他事情,吃完午飯午休后,工具完成波形加載,工程師就可以看波形開始調試工作了,這樣就可避免時間浪費。這個笑話雖然經不起仔細推敲,但是它反映了某些工具在內存管理上的缺陷和不足,會導致嚴重的性能問題和降低用戶體驗。無論如何,一款好的調試工具都要解決或者避免這些問題。

圖片

除了上述提到的底層核心技術以外,對于波形工具技術本身來說,它必須具備幾個關鍵應用層面技術:仿真器的高效配合,以及場景級(scenario)和事務級(transaction) 操作類型的表示。雖然波形非常直觀地反映了設計內部的信號變化,但是設計本身是RTL,而且是信號間有相互關聯,因此調試不能僅僅依賴于觀測波形,很多時候工程師需要仿真器的配合讓調試變得更加有效。

RTL和測試平臺(testbenches)在運行后,其實本身很類似通用軟件代碼運行過程,很多工程師在觀測波形變化的時候也希望能了解代碼的執行情況;同樣在代碼調試的過程中,很多時候需要理解代碼的執行過程和相對應的信號變化。這個時候對仿真器的單步動態調試可以配合波形變化,工程師可以直觀的了解某段代碼的執行過程和信號變化。這種類似軟件單步調試的方式也是芯片驗證中常用的手段之一。

信號驅動追蹤(signal driver tracing)是一種常用的調試技術,它通過某個信號查詢它的驅動源頭。當用戶在波形界面上發現信號在某個時刻出現問題后,用戶可以追蹤這個信號的驅動源,這樣調試類似結果到原因(effect and cause)推導過程,大大加強了調試的有效性。通常信號的源頭可能不是單一而是多個,用戶可以選擇在波形界面來觀測多個源頭,也可以通過仿真器和調試器的配合來選擇使用代碼或者電路圖(schematic)方式進行觀測。這種信號溯源技術需要仿真器和調試工具的有機結合,底層也需要高效數據庫的支持。

事務級視圖(Transaction Viewer)。在復雜設計中大量的信號里厘清數據真實含義是非常困難的,用戶往往需要參考幾十個信號的量的變化來確定數據類型和操作。例如,一個AXI協議的讀寫操作涉及到的信號可能有20多個。完成一次讀寫需要用戶在一段時間內觀測大量信號的變化,這種操作效率低下,不利于長時間的調試過程。Transaction viewer可在圖形界面提供更高層次的視角,讓用戶直觀地了解這些transaction的數據類型和定義,而不需要再從底層信號分析數據。有了這個工具,用戶可以快速分析調試數據,包括enum type, class based transaction, sequence item等等。當然,要實現一個transaction可視化,還是需要仿真器配合,以及代碼的一些額外工作,比如使用驗證IP (VIP),或者使用SystemVerilog等高級建模語言描述。

圖片

波形工具和其他的驗證工具不一樣,它是一個頻繁和用戶交互的圖形界面,這些交互體現在用戶的鼠標鍵盤操作和對圖形長時間的肉眼觀測;和大多商業軟件或者移動App一樣,這個工具需要用戶長時間操作和交互,用戶體驗成為了波形工具至關重要的一個因素。用戶體驗通俗來說就是工具的流暢度和易用性。加載波形的速度,波形窗口縮放的響應,代碼和波形相互對應(cross-probing),波形比較與合并等,都可以看成是工具的流暢度的體現。

工具的流暢度,除了工具自身的優化,主要還取決于上面談到的數據壓縮和內存管理的優化。一個好的波形工具應該能讓工程師很快上手操作,而不需要花費時間學習或培訓。簡單的功能可以快速地通過菜單選項實現,復雜的功能也可以開放數據接口,讓用戶編程操作。

圖片

上述談到的幾點其實都是相互關聯的。優秀的性能可以保證工具的流暢度,而調試的效率也有助于提升工具的用戶體驗。波形系統只是仿真調試工具中的一個部分,調試工具還有很多很多其他的核心技術,比如代碼和電路圖調試等。但是觀測波形是驗證工程師最常用的一種手段,作者希望通過介紹波形系統中的一些基本技術讓用戶將來選擇工具時更加有針對性。同時也希望驗證工程師能利用好工具,提升工作效率。

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

    關注

    9

    文章

    428

    瀏覽量

    26489
  • EDA工具
    +關注

    關注

    4

    文章

    265

    瀏覽量

    31715
  • VCD
    VCD
    +關注

    關注

    0

    文章

    37

    瀏覽量

    34689
  • 數字電路
    +關注

    關注

    193

    文章

    1601

    瀏覽量

    80509
  • 調試器
    +關注

    關注

    1

    文章

    300

    瀏覽量

    23692
收藏 人收藏

    評論

    相關推薦

    C語言要點解析PDF下載

    C語言要點解析(含便于理解的備注)C語言要點解析(含便于理解的備注).pdf 2016-10-27 17:59 上傳 點擊文件名下載附件 1.08 MB, 下載次數: 8
    發表于 07-19 09:15

    Java語言學習的六大關鍵

    Java語言學習六大關鍵
    發表于 01-01 07:59

    對視頻圖像及其顯示的知識點解析,看完你就懂了

    對視頻圖像及其顯示的知識點解析,看完你就懂了
    發表于 06-04 06:59

    消防報警系統的防雷防浪涌的知識點解析,絕對實用

    消防報警系統的防雷防浪涌的知識點解析,絕對實用
    發表于 01-14 07:33

    SPI_NSS的知識點解析,絕對實用

    SPI_NSS的知識點解析,絕對實用
    發表于 02-17 08:08

    subdev/video列表的知識點解析,絕對實用

    subdev/video列表的知識點解析,絕對實用
    發表于 03-10 06:25

    WiMAX技術的特點解析

    WiMAX技術的特點解析 802.16標準是為在各種傳播環境(包括視距、近視距和非視距)中獲得最優性能而設計的。即
    發表于 05-21 01:18 ?591次閱讀

    聚光光伏發電系統的技術難點解析

    聚光光伏發電系統的技術難點解析  一、前言   太陽能發電系統的價格
    發表于 04-20 09:11 ?766次閱讀

    Android開發中難點解析及幫助

    根本說講述的是Android 開發中難點解析及幫助,希望對各位工程師朋友有所幫助。
    發表于 09-14 20:24 ?1次下載

    對2017年VR/AR發展的大關鍵詞的解析

    今年的 VR/AR 發展可以說既在情理之中,又是意料之外,總結起來就是大關鍵詞。
    的頭像 發表于 12-27 10:10 ?3461次閱讀

    關于嵌入式系統8大關鍵特性詳解

    嵌入式系統8大關鍵特性?典型的嵌入式系統通過傳感器響應環境,通過執行器來控制環境,這樣對嵌入式系統提出了要求,即性能適應環境。這就是為什么嵌入式
    發表于 07-05 07:02 ?1123次閱讀

    PADS關鍵知識點解

    本文檔內容介紹了基于PADS關鍵知識點解答,供參考
    發表于 03-02 14:31 ?11次下載

    決定SMT貼片質量好壞的大關鍵工序介紹

    SMT貼片加工生產線上,施加焊錫膏——貼裝元器件——回流焊接是SMT大關鍵工序。他們直接決定了整個SMT貼片的質量好壞。下面介紹一下SMT貼片的大關鍵工序。
    的頭像 發表于 11-15 10:51 ?5908次閱讀

    鴻蒙系統大關鍵特征,成為鴻蒙優勢所在

    與安卓系統相比,鴻蒙系統大關鍵特征,成為其優勢所在,甚至可能成為鴻蒙系統與安卓系統競爭的資本
    的頭像 發表于 02-19 15:32 ?6565次閱讀

    示波器的大關鍵指標有哪些?

    示波器的大關鍵指標有哪些? 示波器是一種用來觀察和測量電信號的儀器。它通過顯示電壓隨時間變化的圖形,使我們能夠觀察信號的振幅、頻率、相位和波形等特征。在選擇和使用示波器時,有
    的頭像 發表于 01-17 15:14 ?1235次閱讀