文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.172650
中文引用格式: 徐飛,秦水介. 基于UVM的基帶射頻接口電路的驗證[J].電子技術(shù)應(yīng)用,2018,44(3):11-14.
英文引用格式: Xu Fei,Qin Shuijie. Verification of baseband RF interface circuit based on UVM[J]. Application of Electronic Technique,2018,44(3):11-14.
0 引言
隨著SoC基帶芯片設(shè)計規(guī)模高度集成化,驗證周期將不斷增加,占整個研發(fā)階段的70%[1]。為了使基帶芯片驗證更具高效性,采用了當前主流的UVM驗證方法學。UVM驗證方法學[2]是由Accellera在2011年正式推出的,創(chuàng)建的驗證平臺不僅提供很多可用接口,而且多樣化的Cadence VIP還為UVM環(huán)境搭建提供了必要的組件。因此可以實現(xiàn)高覆蓋率的功能驗證,使仿真驗證時間大幅減小。
基帶射頻接口電路,是一種將基帶芯片和射頻芯片連接起來的數(shù)字串行接口。這種數(shù)字串行接口不僅節(jié)省硬件資源,而且可以通過載波聚合的方式使基帶達到較高的上下行空口峰值傳輸速率。由于復(fù)雜的私有化協(xié)議接口,必須搭建一種合適的驗證平臺,快速全面地驗證射頻接口電路的功能。本文將使用UVM驗證方法學對基帶射頻接口電路模塊進行驗證,驗證方式將全面覆蓋射頻收發(fā)通路的所有功能點。
1 UVM驗證平臺
基于UVM特性的驗證設(shè)計(Design Under Verification),以System Verilog[3]硬件驗證語言為基礎(chǔ),通過UVM庫[4]調(diào)用各類驗證組件,使驗證工作分工明確。這個UVM庫主要包含以下幾部分:第一,層次化的驗證結(jié)構(gòu)。代理器(Agent)主要集合驅(qū)動器等模塊;驅(qū)動器(Driver)負責將生成的激勵按照規(guī)則加入到DUT的管腳或者內(nèi)部;監(jiān)測器(Monitor)檢測DUV 的內(nèi)部信號以及輸出,實現(xiàn)多種監(jiān)視操作;計分板(Scoreboard)對DUV值和Model預(yù)期的值作比較;參考模型(Reference model)使用SystemVerilog建立的和DUT相關(guān)的模型,輸出期望值。第二,UVM序列器(Sequencer)[5]提供仲裁序列(Sequence)模塊,使驅(qū)動器得到transaction類型數(shù)據(jù)包。第三,提供知識產(chǎn)權(quán)核(VIP),保證UVM環(huán)境中的各個組件快速集成。
典型的UVM驗證平臺如圖1所示。在驗證環(huán)境中,uvm_env包含了全部的驗證組件,兩個驗證設(shè)計通過總線接口跟平臺相連。驗證平臺按照自上而下的結(jié)構(gòu)規(guī)范,從env頂層例化了五個模塊,兩個輸入代理器模塊,一個輸出代理器模塊,一個參考模型模塊和一個計分板模塊。輸入代理器模塊先對驗證環(huán)境進行配置,然后通過序列器模塊將激勵源傳送至驅(qū)動器模塊,驅(qū)動器模塊將數(shù)據(jù)通過interface傳送至從端接收者,而監(jiān)測器可以采集驅(qū)動器給驗證設(shè)計的數(shù)據(jù)信號。輸出代理監(jiān)測器模塊實時采樣驗證設(shè)計的輸出信號,將采集到的結(jié)果放在計分板模塊,并跟參考模型模塊的輸出信息進行比對,減小驗證的錯誤率,降低驗證風險。
2 基帶射頻接口電路模塊
基帶射頻接口模塊包含射頻接口的接收通路模塊和發(fā)送通路模塊?;鶐漕l接口模塊架構(gòu)圖如圖2所示。此射頻接口模塊采用AXI標準總線協(xié)議,通過X2P轉(zhuǎn)接橋?qū)臋C地址、數(shù)據(jù)信號傳輸至配置模塊。其中接收通路的定時使能配置通過GPIO輸出,SPI通過配置讀寫寄存器控制外部射頻芯片,接收通路狀態(tài)是由接收控制寄存器模塊配置,在可配置的TBU時間點上打開和關(guān)閉射頻接收?;鶐漕l接口接收的數(shù)據(jù)流通過兩個FIFO進行緩存,再使用兩組DMA將數(shù)據(jù)流通過AXI主機搬到基帶芯片中的存儲器。發(fā)送通路過程跟接收通路過程互逆,發(fā)送狀態(tài)通過發(fā)送控制寄存器進行配置,在可配置的TBU時間點上打開和關(guān)閉射頻發(fā)送,基帶芯片主機存儲器的數(shù)據(jù)流通過AXI總線并使用4組DMA緩存至4個FIFO中,最終發(fā)送到射頻芯片。在射頻接口收發(fā)過程中,DMA搬數(shù)任務(wù)完成后發(fā)出中斷,中斷傳入ARM處理器,使ARM處理器循環(huán)響應(yīng),配置多次任務(wù)。如果要對FIFO的數(shù)據(jù)重新緩存,就必須清空FIFO,在可配置的TBU時間點上對寄存器復(fù)位,將輸出的數(shù)據(jù)從現(xiàn)在的采樣點寫到FIFO的起始地址上。
基帶射頻接口采用多模式多帶寬的數(shù)據(jù)接口支持相應(yīng)的接口速率,其中CMOS TDD(互補金屬氧化物半導(dǎo)體時分雙工)模式使用兩組12 bit數(shù)據(jù)線,數(shù)據(jù)傳輸采用半雙工方式,一個時鐘周期可以發(fā)送雙天線符號數(shù)據(jù)。在CMOS FDD(互補金屬氧化物半導(dǎo)體頻分雙工)模式下,數(shù)據(jù)傳輸速率是CMOS TDD模式數(shù)據(jù)吞吐率的2倍。而LVDS(低電壓差分信號)模式數(shù)據(jù)傳輸速率是CMOS TDD模式數(shù)據(jù)吞吐率的4倍。
3 搭建基于UVM的基帶射頻接口電路驗證平臺
3.1 基帶射頻接口電路驗證流程
基帶射頻接口采用AXI總線機制分別對基帶射頻的接收通路模塊和發(fā)送通路模塊進行驗證,驗證流程如圖3所示。在驗證環(huán)境中將軟件接口數(shù)據(jù)包放置于virtual sequener,通過AXI接口傳送給axi _sequencer,驅(qū)動器會得到axi_sequence產(chǎn)生的激勵信號,這些激勵信號分別作用于接收通路的驗證設(shè)計和發(fā)送通路的驗證設(shè)計。同時例化的兩個axi_monitor不僅監(jiān)視驅(qū)動器給射頻接收和發(fā)送驗證設(shè)計的數(shù)據(jù)流,而且可以監(jiān)測record model,這個record model模型通過MATLAB實現(xiàn)跟射頻接口同樣的數(shù)據(jù)傳輸功能,并把數(shù)據(jù)信息放入計分板。另一個axi_monitor監(jiān)測射頻接收和發(fā)送通路數(shù)據(jù)信息傳送至計分板的情況,一旦record model和監(jiān)控產(chǎn)生的數(shù)據(jù)信息都傳輸?shù)接嫹职澹嫹职鍖葘烧邤?shù)據(jù),從而判斷仿真是否異常。
3.2 基于UVM的基帶射頻接口電路驗證平臺
基帶射頻接口電路的驗證平臺如圖4所示。這個待測的驗證設(shè)計主要是發(fā)送模塊和接收模塊,通過接口將驗證對象與驗證向量連接起來,而驗證向量是為了實現(xiàn)跟待測對象相同的功能。其中驗證環(huán)境中的Agent是由VIP提供,剩余組件需自行設(shè)計。驗證環(huán)境通過頂層env例化兩個i_axi_agent,這兩個i_axi_agent包含其他驗證組件,并將內(nèi)部的sequencer、driver以及monitor通過build_phase進行創(chuàng)建,使得各個驗證組件能夠緊密連接起來。這兩種i_axi_agent組件包分別作用于射頻接口的發(fā)送模塊和接收模塊,目的是為了使配置的active和passive模式能夠?qū)nterface上的數(shù)據(jù)信息進行驅(qū)動和監(jiān)測。o_axi_agnet例化模塊中的monitor可以監(jiān)視到測試對象發(fā)出的激勵數(shù)據(jù)流,通過TLM接口機制傳送到uvm_scoreboard。與此同時,由Matlab封裝的record_model模型,通過passive模式占用的moitor去監(jiān)測收發(fā)模型數(shù)據(jù)流,監(jiān)測抽取的模型數(shù)據(jù)流要與DUV產(chǎn)生的激勵數(shù)據(jù)信息進行對比。最終對比的數(shù)據(jù)流信息通過uvm_scoreboard計分板得出結(jié)論,以此判斷基帶射頻接口在收發(fā)過程中的數(shù)據(jù)信息是否完備,統(tǒng)計覆蓋率的要求是否達標。
基帶射頻接口內(nèi)部的各個寄存器模塊是通過APB總線傳輸?shù)刂泛蛿?shù)據(jù),而主機轉(zhuǎn)接橋X2P作為通用IP給寄存器分配可用的地址空間。這些寄存器模型可以在內(nèi)部通過多次例化,主要為射頻的收發(fā)通路提供使能信息。而DMA模塊是為了讓射頻收發(fā)模塊的激勵信息搬至正確的memory中,一旦搬完有限幀數(shù)據(jù)流,就會產(chǎn)生中斷信息,中斷信息會進入ARM處理器,內(nèi)核發(fā)出指令阻止射頻收發(fā)。SPI模塊的引入能夠使射頻收發(fā)正常讀寫FIFO,同時為外部的射頻子板提供模式切換功能。但是基帶射頻接口內(nèi)部的模式切換卻要采用mode寄存器模塊。而這些寄存器模塊都是為了給射頻收發(fā)通路提供隨機約束,得到滿足要求的激勵。
射頻收發(fā)通路的隨機約束信息需要通過ARM處理器的軟件環(huán)境進行配置,將約束項目存放在transation數(shù)據(jù)包中,使數(shù)據(jù)激勵能夠成為驅(qū)動射頻收發(fā)通路的條件,便于射頻收發(fā)模塊正常工作。同時這些約束項目申明了約束變量,變量列表如表1所示。
axi_sequencer將激勵源傳輸給驅(qū)動器axi_driver,axi_driver需要進行軟件配置才能夠驅(qū)動待測模塊。生成射頻收發(fā)驅(qū)動配置信息的時序圖如圖5所示。軟件配置環(huán)境如下:(1)對射頻通路進行初始化,將接收和發(fā)送通路都打開,rx_path_mask設(shè)置為3 bit,tx_path_mask設(shè)置為15 bit。在此還應(yīng)進行模式切換,分別對rx_mode和tx_mode進行軟件配置選擇接口是工作在CMOS TDD模式、CMOS FDD模式還是LVDS模式下。(2)時鐘頻率配置為了控制外面LPCU模塊來滿足符合要求的相應(yīng)帶寬的接口頻率。(3)配置接收和發(fā)送通路使能信息,enable提供接收通路數(shù)據(jù)源的起始信息,tx_on提供發(fā)送通路數(shù)據(jù)源的位置信息,txnrx則為RFIC仿真模型提供發(fā)送通路使能信號。(4)輸入DMA地址和DMA長度,使基帶芯片的memory能夠發(fā)送或接收數(shù)據(jù),一旦數(shù)據(jù)流信息獲取完畢發(fā)出中斷dmareq,通知微處理器(arm)等待下次幀數(shù)據(jù)處理,只有當使能信息enable、tx_on、txnrx變成低電平,數(shù)據(jù)傳輸才能結(jié)束。(5)配置SPI讀寫寄存器,控制外部射頻子板的模式切換,跟基帶射頻接口模式保持一致。
record model作為MATLAB封裝下的模型,這個模型包含了收發(fā)數(shù)據(jù)源模塊、數(shù)據(jù)格式轉(zhuǎn)換模塊、定時寄存器模塊、時鐘源模塊以及收發(fā)數(shù)據(jù)寄存器模塊,收發(fā)數(shù)據(jù)寄存器模塊的數(shù)據(jù)流會通過scoreboard調(diào)用的寫函數(shù)存入FIFO中,然后調(diào)用比較函數(shù)將存入FIFO的數(shù)據(jù)流與DUV中的數(shù)據(jù)流進行比對,若比對一致,則驗證通過;否則,驗證失敗。之所以采用這樣的比較方式,是因為在復(fù)雜的數(shù)據(jù)比對中更加提高驗證的準確性,并使參考模型合理化分析射頻接口電路功能的完備性與可靠性。
3.3 驗證結(jié)果
本次驗證主要以RFIU TDD 20 M測試例為例,對射頻收發(fā)的功能點進行測試,對各個功能點對應(yīng)的功能覆蓋率進行統(tǒng)計,得到射頻收發(fā)模塊功能覆蓋率為100%,并分別對射頻收發(fā)通路的RTL進行代碼覆蓋率統(tǒng)計,得到代碼覆蓋率為100%。通過UVM驗證,對比計分板上的數(shù)據(jù)和record_model參考模型的數(shù)據(jù),發(fā)揮monitor自動監(jiān)測的作用,監(jiān)測到數(shù)據(jù)比對的一致性為100%。其余幾種測試例的功能覆蓋率能達到100%,并在計分板上得出的數(shù)據(jù)比對度為100%,從而可以說明射頻接口收發(fā)模塊的功能需求都已達到。
根據(jù)Synopsys的Design Compile工具對射頻接口電路的RTL代碼進行綜合,得到射頻接收通路的約束面積為0.3 mm2,功耗為39 mW;射頻接口電路發(fā)送通路的約束面積為0.5 mm2,功耗為58 mW。設(shè)計綜合報告如圖6所示。
4 結(jié)束語
UVM作為數(shù)字IC驗證最前沿的方法學,盡管前端仿真搭建平臺的周期較長,但是執(zhí)行效率很高,明顯縮短整個研發(fā)的驗證時間。本文利用AXI總線驗證組件搭建基于UVM的基帶射頻接口電路驗證平臺,實現(xiàn)了射頻接口收發(fā)模塊功能,在一定范圍內(nèi),控制了約束面積和功耗,有利于整個基帶芯片順利量產(chǎn)。同時將這種驗證架構(gòu)用在基帶芯片其他模塊上,能夠提高驗證效率,并使基帶射頻接口電路的UVM驗證平臺發(fā)揮著重要的指導(dǎo)作用。在數(shù)字接口設(shè)計中具有重要的應(yīng)用價值。
參考文獻
[1] SALAH K.A UVM-based smart functional verification platform:Concept,pros,cons,and opportunities[C]//Design & Test SyMposium(I-DT),9th International.Dead Sea:IEEE,2014:94-99.
[2] 張強.UVM實戰(zhàn)[M].北京:機械工業(yè)出版社,2014.
[3] SPEAR C.System veilog for verification[M].Synopsyns Inc.,2008:5.
[4] ROSENBERG S,MEAD K A.A practical guide to adopting the universal verification methodology(UVM)[M].USA:Cadence Design System,2010.
[5] 熊濤,蔣見花.基于UVM驗證方法學的縱向可重用研究[J].微電子學與計算機,2016,33(4):64-68.
作者信息:
徐 飛1,2,秦水介2
(1.貴州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽550025;2.貴州省光電子技術(shù)與應(yīng)用重點實驗室,貴州 貴陽550025)