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

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

3天內(nèi)不再提示

波形系統(tǒng)三大關(guān)鍵點解析

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

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

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

圖片

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

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

圖片

圖片

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

圖片

圖片

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

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

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

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

一個調(diào)試工具的內(nèi)存管理技術(shù)決定了這個工具的可用性和易用性。在當下大量數(shù)據(jù)交互的仿真技術(shù)領(lǐng)域,優(yōu)秀的內(nèi)存管理技術(shù)對工具而言至關(guān)重要。簡單的來說,內(nèi)存管理就是工具需要數(shù)據(jù)放置在磁盤或者內(nèi)存中尋求一個平衡點,或最優(yōu)化的比率。

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

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

圖片

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

RTL和測試平臺(testbenches)在運行后,其實本身很類似通用軟件代碼運行過程,很多工程師在觀測波形變化的時候也希望能了解代碼的執(zhí)行情況;同樣在代碼調(diào)試的過程中,很多時候需要理解代碼的執(zhí)行過程和相對應(yīng)的信號變化。這個時候?qū)Ψ抡嫫鞯膯尾絼討B(tài)調(diào)試可以配合波形變化,工程師可以直觀的了解某段代碼的執(zhí)行過程和信號變化。這種類似軟件單步調(diào)試的方式也是芯片驗證中常用的手段之一。

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

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

圖片

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

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

圖片

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

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

    關(guān)注

    9

    文章

    428

    瀏覽量

    26449
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    264

    瀏覽量

    31634
  • VCD
    VCD
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    34642
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1590

    瀏覽量

    80291
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    297

    瀏覽量

    23631
收藏 人收藏

    評論

    相關(guān)推薦

    LED小芯片封裝技術(shù)難點解析

    本文從關(guān)于固晶的挑戰(zhàn)、如何選用鍵合線材、瓷嘴與焊線參數(shù)等幾個方面向大家闡述在微小化的趨勢下關(guān)于LED小芯片封裝技術(shù)難點解析。
    發(fā)表于 03-17 14:29 ?3791次閱讀

    C語言要點解析PDF下載

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

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

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

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

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

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

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

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

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

    WiMAX技術(shù)的特點解析

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

    聚光光伏發(fā)電系統(tǒng)的技術(shù)難點解析

    聚光光伏發(fā)電系統(tǒng)的技術(shù)難點解析  一、前言   太陽能發(fā)電系統(tǒng)的價格
    發(fā)表于 04-20 09:11 ?740次閱讀

    Android開發(fā)中難點解析及幫助

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

    對2017年VR/AR發(fā)展的大關(guān)鍵詞的解析

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

    關(guān)于嵌入式系統(tǒng)8大關(guān)鍵特性詳解

    嵌入式系統(tǒng)8大關(guān)鍵特性?典型的嵌入式系統(tǒng)通過傳感器響應(yīng)環(huán)境,通過執(zhí)行器來控制環(huán)境,這樣對嵌入式系統(tǒng)提出了要求,即性能適應(yīng)環(huán)境。這就是為什么嵌入式
    發(fā)表于 07-05 07:02 ?1085次閱讀

    PADS關(guān)鍵知識點解

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

    決定SMT貼片質(zhì)量好壞的大關(guān)鍵工序介紹

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

    鴻蒙系統(tǒng)大關(guān)鍵特征,成為鴻蒙優(yōu)勢所在

    與安卓系統(tǒng)相比,鴻蒙系統(tǒng)大關(guān)鍵特征,成為其優(yōu)勢所在,甚至可能成為鴻蒙系統(tǒng)與安卓系統(tǒng)競爭的資本
    的頭像 發(fā)表于 02-19 15:32 ?6508次閱讀

    示波器的大關(guān)鍵指標有哪些?

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