999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向SoC 系統的可擴展UVM 自動化驗證平臺

2024-04-13 06:54:20劉斌虞小鵬譚年熊
電子設計工程 2024年7期
關鍵詞:指令標準化結構

劉斌,虞小鵬,譚年熊

(1.浙江大學微納電子學院,浙江杭州 310000;2.西安路科驗視集成電路技術咨詢有限公司,陜西 西安 710000)

在日益先進的工藝制程下,芯片的流片費用越來越昂貴。為了保證一款芯片能夠順利流片完成全部功能,芯片功能驗證的重要性日益突出。盡管目前的SoC 系統集成方式越來越普遍,在系統快速集成和系統測試完備性之間也出現了越來越大的人力鴻溝需要填補。一個龐大的SoC 系統往往容納了數十個子系統和IP,而這些硬件資源之間的互連與集成急劇放大了需要測試的系統功能空間。動態功能仿真技術與UVM(Universal Verification Methodology)作為主要的芯片驗證手段,面臨著緊緊跟隨芯片設計步伐的項目壓力。為了降低項目壓力,一種面向SoC 系統的UVM 可擴展自動化驗證平臺得以開發。該平臺的推出,使得多款不同類型的芯片在結構化的驗證環境中得到充分驗證,有力地保障了芯片研發進程。

1 SoC系統集成

成熟穩定的IP 可以加速SoC 的系統集成。一個典型的SoC 系統中的IP按照功能類型,可以分為處理器、片上網絡(Network on Chip,NoC)、存儲、I/O 設備等。它們與專用的功能模塊、系統控制模塊等先構成子系統,而后多個子系統構成了SoC系統。為了能夠確保從模塊級到子系統級再到系統級的集成都是經過充分測試的,需要在每一個集成層次中對待測設計(模塊、子系統和系統)進行功能驗證。

對于模塊、子系統和系統進行驗證有著不同的目標和需求。模塊驗證需要盡可能完成80%以上的功能測試點要求,對寄存器的配置做組合設置,并且在各個端口上進行充分的數據組合測試,模塊級測試用例以SV 和UVM 為主[1]。子系統驗證會圍繞著各個模塊實例和它們之間的集成關系進行驗證,子系統級測試用例兼有UVM 和C 語言。系統級驗證會就各個子系統的啟動運行和系統應用場景進行測試,系統級測試用例以C 語言為主[2]。

2 UVM驗證結構

UVM 驗證方法學在過去的十年已經成為了動態功能驗證的主要方法。它在吸收了以往多種驗證方法學的基礎上,將驗證環境的構建、驗證組件的標準模型、驗證組件間的通信、寄存器模型集成、測試序列的組織和調度都納入其中[3]。

如圖1 所示,典型的UVM 驗證結構中需要包含這些組件:agent(由sequencer、driver、monitor 構成)、environment(由若干agent和子一級environment構成)、test(由一個頂層environment、register model、configuration object 構成)。與模塊驗證有關的代碼相比于設計代碼要多出很多[4]。從驗證代碼的類型劃分來看,可以分為驗證結構代碼、測試用例代碼、數據檢查代碼與功能覆蓋率代碼。在實際項目中由于工程師的經驗局限,每個驗證結構不僅無法保持類似結構,還需要重復投入的人力來完成前期驗證結構的搭建以及后期的管理維護。

圖1 典型UVM驗證結構

如圖2 所示,一種可擴展自動化驗證平臺不但可以讓驗證平臺以非常短的時間創建出來,還能保持驗證結構的一致性。結構化的驗證框架有助于保持數據檢查代碼和功能覆蓋率代碼的范式。該平臺也具備了標準的測試指令,便于驗證人員在多個項目間理解和復用已有的測試用例[5]。

圖2 Liezhen驗證平臺的增益

3 Liezhen(列陣)驗證平臺

Liezhen(列陣)驗證平臺可以將驗證環境搭建時間縮短到30 min 之內。依托于L 指令傳輸網絡和適配組件,Liezhen 可以使用標準化的測試指令來實現測試用例。

不同的設計往往具備多種不同的總線接口和系統控制信號[6]。如圖3 所示,Liezhen 驗證平臺可以針對不同接口產生相對應的驗證結構,用以滿足系統控制、寄存器訪問和數據傳輸等需求。不同的agent會同時監測總線信號,將總線采樣數據事務送往數據檢查組件和功能覆蓋率模型[7]。不同的agent 可以接收從lzn_net 傳遞的標準指令,再經由lzn_slave 適配為各個agent 可識別的激勵事務信息,最終通過接口發送至待測設計。這些標準指令可以由一個或者多個lzn_master 發送。

圖3 Liezhen驗證平臺的結構

Liezhen 驗證平臺可以在模塊級、子系統級和系統級滿足驗證需求,充當外圍激勵或者接管設計內部激勵,既能支持標準化的SV 和C 測試指令,也可以支持UVM sequence,實現多種激勵形式[8]。

3.1 自動化驗證平臺生成方法

Liezhen 驗證平臺生成驗證環境是通過一套完善的Python 腳本來實現的[9]。對于不同的待測設計,首先需要收集該設計的端口信息、寄存器信息、地址映射信息。端口信息列舉出各個總線端口、主從設置、激勵或者監測設置。如圖4 所示,這些信息可以通過圖形界面或者表格進行輸入,工具會將收集到的設計參數放入數據池。這些數據池中的信息會被分為四類,分別是配置數據、環境結構數據、寄存器數據和測試數據。分類好的數據會與各自的模板文件(Mako 格式文件)結合,最后由Python 實現的代碼生成器按照驗證結構、文件類型依次生成相對應的代碼。

圖4 Liezhen驗證平臺的生成過程

3.2 標準化測試指令

Liezhen 驗證平臺擁有一套標準化測試指令[10]。標準化指令可以使得驗證人員在不同的設計、驗證階段使用相同的測試指令進行測試。如表1 所示,標準測試用例按照用途可以分為數據訪問指令、信號控制指令、隨時數據指令、測試控制指令、核間通信指令、消息報告指令、斷言檢查指令、覆蓋率定義指令、I/O 外設控制指令等[11]。這些指令可以幾乎滿足所有需求,實現90%以上的測試用例。

表1 Liezhen標準化測試指令(部分)

標準化指令由lzn_master 組件發送,經由lzn_net傳遞至各個lzn_slave,再由lzn_slave 轉譯為各個總線driver 可以識別的激勵事務。指令的標準化可以對設計結構做到更大的靈活性,也能夠將SV 的測試指令通過SV DPI-C 技術轉為C 語言的測試指令[12]。

3.3 測試指令的傳送和轉譯

如圖5 所示,標準化測試指令能夠從lzn_master發送到lzn_slave,離不開lzn_net 的路由作用。在傳遞到目標agent 之前,測試指令需要經過若干層數據的打包和解包。指令的傳送和轉譯過程分為4層[13]。第一層轉換是由lzn_master 將指令類型、參數通過TLM2 協議接口傳送到lzn_net。lzn_net 由AHB 總線網絡構成,其將TLM2 事務通過網絡地址信息送往目標slave 端口。utb_slave 從AHB slave 端口獲得數據并轉換為指令數據包,這是第二層轉換。目標agent在接收到總線激勵事務前,還需要將指令數據包轉換為總線激勵事務,這需要第三層轉換。最終,總線agent會完成第四層轉換[14]。

圖5 Liezhen測試指令的傳輸和轉換

3.4 Liezhen驗證平臺的組成

如圖6所示,Liezhen驗證平臺除了自動化生成方式、mako 代碼模板、硬件設計結構參數、標準測試指令、指令傳輸網絡以外,還依賴VIP(Verification IP)。VIP 是驗證環境能夠快速構建的必備元素。在集成VIP 之后的測試中,會進行必要的VIP 和驗證結構的配置。中心化的配置可以對驗證環境中各個組件進行配置。標準化的測試指令,也便于引導驗證人員在實現測試用例時遵循統一的測試用例格式。

圖6 Liezhen測試平臺的構成要素

3.5 中心化的數據信息處理

從圖3 可知,Liezhen 在自動化生成驗證組件時,可以將各個總線agent 中的monitor 通過TLM 端口連接到scoreboard(數據檢查組件)和coverage model(覆蓋率模型)[15]。所有數據信息在匯集到數據檢查組件和覆蓋率模型后,有助于數據的比對和采集。

4 Liezhen在NoC的驗證應用

如圖7 所示,Liezhen 可以就NoC 的結構化特征,根據主端和從端的總線類型、地址位寬、數據位寬、地址映射等信息生成適配的驗證結構[16]。NoC 的結構一般由工具生成,一個復雜SoC 的NoC 拓撲結構也同樣復雜,Liezhen 可以在項目中與不時變化的NoC 結構保持一致。如果NoC 結構發生了變化,已經生成的Liezhen 測試平臺可以根據新的參數自動生成新的驗證結構[17]。

圖7 Liezhen面向NoC生成的驗證結構

NoC 的拓撲結構與Liezhen 驗證結構中的lzn_net 指令傳輸網絡相似。Liezhen 可以使用與NoC相同的設計結構參數來產生驗證環境。驗證環境產生的同時,可以產生訪問各個地址范圍的測試用例[18-21]。

5 Liezhen在LPDDR4的驗證應用

如圖8 所示,在驗證LPDDR4 的流程中,Liezhen可以根據設計結構,生成相匹配的LZN TB。它包含一個lzn_master 負責發送測試指令,一個AXI 端的lzn_slave 收發數據,一個AHB 端的lzn_slave 配置寄存器,還有兩個外部的memory 與LPDDR4 PHY 做數據存儲交互。在LPDDR4 controller 驗證過程中,lzn_master 可以先后通過lzn_slave(AHB)和lzn_slave(AXI)完成功能配置和數據發送,而且再通過lzn_net 直接訪問與LPDDR4 PHY 連接的存儲模型,完成數據比對。

圖8 Liezhen面向LPDDR4生成的驗證結構

在生成了結構化驗證環境之后,可以利用標準化測試指令很快實現基本測試,如下:

6 測試應用

如表2 所示,在將Liezhen 運用到芯片驗證以后,通過將傳統UVM 驗證環境和采用Liezhen 自動化生成驗證環境做對比,按照搭建時間、環境結構代碼量、測試用例構建時間、測試用例代碼量、回顧測試用例耗時、功能覆蓋率數據等多個維度做比較,可以發現Liezhen 的優勢,其能夠在項目中發揮實效。

表2 Liezhen在芯片驗證中的增效對比

7 結論

利用Liezhen 自動化平臺去管理和維護驗證環境更為簡單,因為多數驗證人員需要一致性的驗證結構,而又不需要為此投入太多的時間。Liezhen 自動化平臺用于構建和調試驗證環境的時間可以被顯著縮短,而節省下來的時間也有助于讓設計盡快穩定,加速項目進度。一致性的驗證結構既是測試平臺自動化的基礎,也是測試指令標準化的基礎。為了達到這種統一的驗證結構,Liezhen 可以適配不同類型的驗證IP,為不同類型的設計構建好相適應的驗證環境。同時,Liezhen 也可以支持掛載UVM 測試序列,從而實現對于激勵更為靈活的控制。在實際項目中,基于Liezhen 生成的測試平臺即可以支持SV命令形式,也可以支持C 命令形式,而這也為接下來將PSS(Portable Stimulus Standard)與Liezhen 自動化平臺相結合、為復雜的SoC 資源建模、為自動產生不同的測試場景和測試用例做好了準備。

猜你喜歡
指令標準化結構
聽我指令:大催眠術
標準化簡述
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
標準化是綜合交通運輸的保障——解讀《交通運輸標準化體系》
中國公路(2017年9期)2017-07-25 13:26:38
論《日出》的結構
論汽車維修診斷標準化(上)
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 精品国产成人a在线观看| 97免费在线观看视频| 2021最新国产精品网站| 久久黄色视频影| 尤物在线观看乱码| 亚洲国产无码有码| 午夜福利无码一区二区| 日本少妇又色又爽又高潮| 亚洲av无码人妻| 亚洲精品色AV无码看| 亚洲成人一区二区三区| 欧美黄网在线| 日本高清在线看免费观看| 国产美女主播一级成人毛片| 国产精品网址你懂的| 情侣午夜国产在线一区无码| 尤物国产在线| 青青草91视频| 精品夜恋影院亚洲欧洲| 久久永久免费人妻精品| 一级毛片网| h视频在线观看网站| 欧美成一级| 狠狠色丁香婷婷综合| 国产在线观看人成激情视频| a级高清毛片| 91精品小视频| 日本国产在线| 成人福利视频网| 精品无码人妻一区二区| 直接黄91麻豆网站| 国产精品九九视频| 国产成人精品免费视频大全五级| 国产成人av一区二区三区| 在线精品亚洲一区二区古装| a在线亚洲男人的天堂试看| 福利在线一区| 一本大道香蕉高清久久| 日韩美毛片| 白丝美女办公室高潮喷水视频| 国产青青草视频| 97视频在线观看免费视频| 国产精品网址在线观看你懂的| 国产在线视频二区| 国产白浆在线| 国产精品视频观看裸模 | 日韩无码真实干出血视频| 国产精品护士| 呦视频在线一区二区三区| 欧美精品亚洲精品日韩专区va| 亚洲av成人无码网站在线观看| 国产美女在线观看| 久久精品无码一区二区国产区| 精品91自产拍在线| 99免费在线观看视频| a毛片免费在线观看| 日韩精品久久无码中文字幕色欲| 日本不卡在线| 99re在线观看视频| 国产波多野结衣中文在线播放 | 欧美色丁香| 中文字幕有乳无码| 91成人免费观看| 国产永久在线观看| 国产成人精品一区二区不卡| 国产91丝袜| 国产不卡国语在线| 精品丝袜美腿国产一区| 免费网站成人亚洲| 亚洲成人免费在线| 国产制服丝袜91在线| 国产在线97| 2020久久国产综合精品swag| 五月丁香伊人啪啪手机免费观看| 亚洲一区波多野结衣二区三区| 国产精品无码一区二区桃花视频| 九九久久99精品| 亚洲av日韩av制服丝袜| 成年看免费观看视频拍拍| 国产精品白浆无码流出在线看| 性欧美在线| 亚洲欧洲日韩综合色天使|