



摘 要:本文提出了基于PXP ICE模式的UVM平臺驗證方法:其核心思想是利用PXP的MARG方法和運行時腳本實現UVM方法學中的uvm_driver和uvm_monitor類功能,實現仿真軟件和硬件電路的實時交互。該方法成功應用于導航芯片項目中,相對于傳統仿真方法實現了23倍以上的性能提升。
關鍵詞:PXP;MARG;UVM
衛星導航技術可向用戶提供高質量的定位、導航和授時服務,在測繪、電信、交通運輸、減災救災和公共安全等諸多領域具備的市場前景。本文研制的導航芯片支持北斗二代、GPS雙模導航模式,下文將在概述該芯片的結構的基礎上,詳細介紹基于硬件加速器的數字前端UVM驗證平臺構建技術。
一、系統介紹
(一)導航芯片架構。雙模導航芯片采用標準AHB總線將基帶處理系統和嵌入式CPU處理系統相融合,如圖1所示。系統上電后由CPU對數字混頻、捕獲、跟蹤等基帶處理單元進行工作模式配置,導航數據來源于外部A/D芯片,位置、速度、時間等結果信息通過UART等慢速外設設備輸出。
(二)UVM驗證方法學。UVM方法學由Cadence、Mentor等公司聯合推出,采用面向對象的方法,基于覆蓋率驅動評價全系統的功能是否正確,是當今主流的驗證方法學。一個典型的UVM驗證平臺由sequencer(序列發生器:自動激勵產生)、driver(驅動層:硬件輸入接口賦值)、monitor(監視器:硬件內部信號取值收集)和agent(代理層:對象封裝包)等通用驗證組件構成。相對于傳統的全軟件仿真模式,硬件加速器抽取硬件模塊用實際電路結構實現,涉及軟件環境和硬件電路的接口信息交互,需移植driver、monitor組件才可在硬件加速系統上應用UVM方法學。
二、基于硬件加速器的UVM驗證平臺移植
本文使用Cadence公司的PXP硬件加速產品。針對圖1所示的導航芯片架構,UVM平臺移植主要需實現AD數據輸入通路模擬和硬件信號抽取兩個功能。
AD數據輸入通路模擬:AD數據輸入來源于二進制文件,大小約80GByte,不能在PXP中直接存儲,需使用PXP的MARG接口實現數據分段載入分段運行。如圖2所示,MARG接口在服務器側(uvm_driver組件內)定義了與PXP硬件內存相應的虛擬內存,當硬件內存讀空觸發$ixc_f系統函數調用,讀入新的仿真數據,實現數據從服務器虛擬內存到PXP硬件內存的遷徙。
硬件信號抽取:抽取內部信號打印文件可直接調用$fwrite等系統函數,PXP編譯工具將自動集成輸出緩沖實現性能優化。抽取內部信號控制仿真進程需避免選擇繁跳變的硬件信號,除常規的層次化信號引用,PXP提供SDL腳本語言方式,無需改動仿真環境代碼,節省重新編譯的時間開銷。如圖3所示,我們在運行時腳本文件“cmd.i”中加載并使能SDL配置文件“ld.tdf”,在SDL配置文件中定義仿真觸發條件和觸發后行為,實現對仿真進程靈活控制。
基于以上兩點的修改,在導航芯片項目中成功實現了基于PXP的UVM驗證平臺移植。根據系統驗證的具體需求,該驗證系統除提供系統工作所需的時鐘、復位及其他典型工作信號以外,還根據典型的UVM驗證系統結構,實現了從隨機激勵自動產生、正確性自動確認、覆蓋率自動收集的輔助功能。當功能覆蓋率達到100%情況下,即認為達到了總體完備性的驗證要求。
三、驗證結果
在該設計中,我們對基帶處理系統進行了完備性驗證:捕獲模塊遍歷不同的星歷組合、截位寬度、工作doppler頻率、buffer深度等功能點,跟蹤模塊遍歷單通道、多通道、參數切換等功能點。圖4為系統功能覆蓋率合并結果。可見,功能覆蓋點已達到100%,滿足完備性驗證需求。
通過統計單輪仿真平均用時,基于Dell服務器的傳統全軟件平臺用時17.2小時,基于PXP的軟硬件結合平臺用時43.6分鐘,后者效率提升23.7倍,大大減少了測試和調試時間。
四、結語
本文介紹了一種基于硬件加速器的UVM驗證平臺移植方法,并成功應用于導航芯片項目驗證工作中,在實現了功能覆蓋率100%的總體目標的同時,相對于傳統仿真方法實現了23倍以上的性能提升。
參考文獻:
[1] John Decker, UVM Advanced Verification Topics,Cadence, 2012.
[2] UXE User’s Guide. Cadence Design Systems, Inc.
作者簡介:龔曉華,工程師,中國電子科技集團公司第三十八研究所,研究方向:集成電路前端設計。