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