1. 程式人生 > 其它 >UVM入門與進階5

UVM入門與進階5

1. TLM通訊

概述

  • 在晶片開發流程中,有兩個地方對專案的助推起到關鍵作用:
    •   系統原型
    •   晶片驗證
  • 系統原型一般是通過硬體功能描述文件來模擬硬體行為,而行為要求不同於RTL模型。系統原型可以提供一個準確到硬體位元級別、按照地址段訪問、不依賴於時鐘週期的模型,該模型通常機遇systemC語言,而系統原型中各個模組通過TLM可以實現寬鬆時間範圍內的資料包傳輸
  • 晶片驗證是在RTL模型初步建立後,通過驗證語言和方法學例如SV/UVM來構建驗證平臺。該平臺的特點是驗證環境整體基於面向物件開發,元件之間的通訊基於TLM(transaction level model),而在driver與硬體介面之間需要將TLM抽象事務降解到基於時鐘的訊號級別
  • 系統原型階段和晶片驗證階段均使用了TLM通訊方式。前者是為了更快地實現硬體原型之間的資料通訊,後者是為了更快地實現驗證元件之間的資料通訊
  • 模擬速度是TLM對專案進度的最大貢獻,同時TLM傳輸中的事務又可以保障足夠大的資訊量和準確性
  • TLM並不是某一種語言的產物,而是作為一種提高資料傳輸抽象級的標準存在的
  • 高抽象級的資料通訊,可以用來表示寬鬆時間跨度內的硬體通訊資料,而通過將低顆粒硬體週期內的資料(也就是小的瑣碎的資料)打包為一個大資料,非常有利於整體環境的模擬速度
  • TLM的運用越來越廣泛,包括emulator同硬體模擬器的協同模擬框架中,也建議使用這種方式來降低混合環境之間的通訊頻率,以便提高整體的運算效率

TLM是一種基於事務的通訊方式,通常在高抽象級語言例如systemC或者SV/UVM中作為模組之間的通訊方式

TLM成功地將模組內的計算和模組之間的通訊從時間跨度方面剝離開了

在抽象語言建模體系中,各個模組通過一系列並行的程序實現,並通過通訊和計算來模擬出正確的行為

如果要提高系統模型的模擬效能,需要考慮兩個方面

一個是建模自身的運算優化,另外一個是模型之間的通訊優化

前者需要依靠開發者的經驗還有效能分析工具來逐步優化模型

後者則可以通過將通訊頻率降低、內容體積增大的方式,來減少由不同程序之間同步帶來的資源損耗

TLM正是從通訊優化角度提出的一種抽象通訊方式

2.單向通訊

3. 雙向通訊

4.多向通訊

5.通訊管道

uvm_analysis_port