UVM入門與進階5
阿新 • • 發佈:2021-08-10
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