文獻(xiàn)標(biāo)識碼: 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],。為了使基帶芯片驗證更具高效性,采用了當(dāng)前主流的UVM驗證方法學(xué),。UVM驗證方法學(xué)[2]是由Accellera在2011年正式推出的,創(chuàng)建的驗證平臺不僅提供很多可用接口,而且多樣化的Cadence VIP還為UVM環(huán)境搭建提供了必要的組件,。因此可以實現(xiàn)高覆蓋率的功能驗證,,使仿真驗證時間大幅減小。
基帶射頻接口電路,,是一種將基帶芯片和射頻芯片連接起來的數(shù)字串行接口,。這種數(shù)字串行接口不僅節(jié)省硬件資源,而且可以通過載波聚合的方式使基帶達(dá)到較高的上下行空口峰值傳輸速率,。由于復(fù)雜的私有化協(xié)議接口,,必須搭建一種合適的驗證平臺,快速全面地驗證射頻接口電路的功能,。本文將使用UVM驗證方法學(xué)對基帶射頻接口電路模塊進(jìn)行驗證,,驗證方式將全面覆蓋射頻收發(fā)通路的所有功能點。
1 UVM驗證平臺
基于UVM特性的驗證設(shè)計(Design Under Verification),,以System Verilog[3]硬件驗證語言為基礎(chǔ),,通過UVM庫[4]調(diào)用各類驗證組件,使驗證工作分工明確,。這個UVM庫主要包含以下幾部分:第一,,層次化的驗證結(jié)構(gòu)。代理器(Agent)主要集合驅(qū)動器等模塊,;驅(qū)動器(Driver)負(fù)責(zé)將生成的激勵按照規(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)境進(jìn)行配置,,然后通過序列器模塊將激勵源傳送至驅(qū)動器模塊,,驅(qū)動器模塊將數(shù)據(jù)通過interface傳送至從端接收者,而監(jiān)測器可以采集驅(qū)動器給驗證設(shè)計的數(shù)據(jù)信號,。輸出代理監(jiān)測器模塊實時采樣驗證設(shè)計的輸出信號,,將采集到的結(jié)果放在計分板模塊,并跟參考模型模塊的輸出信息進(jìn)行比對,,減小驗證的錯誤率,,降低驗證風(fēng)險。
2 基帶射頻接口電路模塊
基帶射頻接口模塊包含射頻接口的接收通路模塊和發(fā)送通路模塊,?;鶐漕l接口模塊架構(gòu)圖如圖2所示。此射頻接口模塊采用AXI標(biāo)準(zhǔn)總線協(xié)議,,通過X2P轉(zhuǎn)接橋?qū)臋C地址,、數(shù)據(jù)信號傳輸至配置模塊。其中接收通路的定時使能配置通過GPIO輸出,,SPI通過配置讀寫寄存器控制外部射頻芯片,,接收通路狀態(tài)是由接收控制寄存器模塊配置,在可配置的TBU時間點上打開和關(guān)閉射頻接收,?;鶐漕l接口接收的數(shù)據(jù)流通過兩個FIFO進(jìn)行緩存,再使用兩組DMA將數(shù)據(jù)流通過AXI主機搬到基帶芯片中的存儲器,。發(fā)送通路過程跟接收通路過程互逆,,發(fā)送狀態(tài)通過發(fā)送控制寄存器進(jìn)行配置,在可配置的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ā)送通路模塊進(jìn)行驗證,,驗證流程如圖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進(jìn)行創(chuàng)建,,使得各個驗證組件能夠緊密連接起來,。這兩種i_axi_agent組件包分別作用于射頻接口的發(fā)送模塊和接收模塊,目的是為了使配置的active和passive模式能夠?qū)nterface上的數(shù)據(jù)信息進(jìn)行驅(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ù)信息進(jìn)行對比,。最終對比的數(shù)據(jù)流信息通過uvm_scoreboard計分板得出結(jié)論,,以此判斷基帶射頻接口在收發(fā)過程中的數(shù)據(jù)信息是否完備,,統(tǒng)計覆蓋率的要求是否達(dá)標(biāo)。
基帶射頻接口內(nèi)部的各個寄存器模塊是通過APB總線傳輸?shù)刂泛蛿?shù)據(jù),,而主機轉(zhuǎn)接橋X2P作為通用IP給寄存器分配可用的地址空間,。這些寄存器模型可以在內(nèi)部通過多次例化,主要為射頻的收發(fā)通路提供使能信息,。而DMA模塊是為了讓射頻收發(fā)模塊的激勵信息搬至正確的memory中,,一旦搬完有限幀數(shù)據(jù)流,就會產(chǎn)生中斷信息,,中斷信息會進(jìn)入ARM處理器,,內(nèi)核發(fā)出指令阻止射頻收發(fā)。SPI模塊的引入能夠使射頻收發(fā)正常讀寫FIFO,,同時為外部的射頻子板提供模式切換功能,。但是基帶射頻接口內(nèi)部的模式切換卻要采用mode寄存器模塊。而這些寄存器模塊都是為了給射頻收發(fā)通路提供隨機約束,,得到滿足要求的激勵,。
射頻收發(fā)通路的隨機約束信息需要通過ARM處理器的軟件環(huán)境進(jìn)行配置,將約束項目存放在transation數(shù)據(jù)包中,使數(shù)據(jù)激勵能夠成為驅(qū)動射頻收發(fā)通路的條件,,便于射頻收發(fā)模塊正常工作,。同時這些約束項目申明了約束變量,,變量列表如表1所示,。
axi_sequencer將激勵源傳輸給驅(qū)動器axi_driver,axi_driver需要進(jìn)行軟件配置才能夠驅(qū)動待測模塊,。生成射頻收發(fā)驅(qū)動配置信息的時序圖如圖5所示。軟件配置環(huán)境如下:(1)對射頻通路進(jìn)行初始化,,將接收和發(fā)送通路都打開,rx_path_mask設(shè)置為3 bit,,tx_path_mask設(shè)置為15 bit,。在此還應(yīng)進(jìn)行模式切換,分別對rx_mode和tx_mode進(jìn)行軟件配置選擇接口是工作在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ù)處理,只有當(dāng)使能信息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ù)流進(jìn)行比對,若比對一致,,則驗證通過,;否則,驗證失敗,。之所以采用這樣的比較方式,,是因為在復(fù)雜的數(shù)據(jù)比對中更加提高驗證的準(zhǔn)確性,并使參考模型合理化分析射頻接口電路功能的完備性與可靠性,。
3.3 驗證結(jié)果
本次驗證主要以RFIU TDD 20 M測試?yán)秊槔?,對射頻收發(fā)的功能點進(jìn)行測試,對各個功能點對應(yīng)的功能覆蓋率進(jìn)行統(tǒng)計,,得到射頻收發(fā)模塊功能覆蓋率為100%,并分別對射頻收發(fā)通路的RTL進(jìn)行代碼覆蓋率統(tǒng)計,,得到代碼覆蓋率為100%,。通過UVM驗證,對比計分板上的數(shù)據(jù)和record_model參考模型的數(shù)據(jù),,發(fā)揮monitor自動監(jiān)測的作用,,監(jiān)測到數(shù)據(jù)比對的一致性為100%。其余幾種測試?yán)墓δ芨采w率能達(dá)到100%,,并在計分板上得出的數(shù)據(jù)比對度為100%,,從而可以說明射頻接口收發(fā)模塊的功能需求都已達(dá)到,。
根據(jù)Synopsys的Design Compile工具對射頻接口電路的RTL代碼進(jìn)行綜合,得到射頻接收通路的約束面積為0.3 mm2,,功耗為39 mW,;射頻接口電路發(fā)送通路的約束面積為0.5 mm2,功耗為58 mW,。設(shè)計綜合報告如圖6所示,。
4 結(jié)束語
UVM作為數(shù)字IC驗證最前沿的方法學(xué),盡管前端仿真搭建平臺的周期較長,,但是執(zhí)行效率很高,,明顯縮短整個研發(fā)的驗證時間。本文利用AXI總線驗證組件搭建基于UVM的基帶射頻接口電路驗證平臺,,實現(xiàn)了射頻接口收發(fā)模塊功能,,在一定范圍內(nèi),控制了約束面積和功耗,,有利于整個基帶芯片順利量產(chǎn),。同時將這種驗證架構(gòu)用在基帶芯片其他模塊上,能夠提高驗證效率,,并使基帶射頻接口電路的UVM驗證平臺發(fā)揮著重要的指導(dǎo)作用,。在數(shù)字接口設(shè)計中具有重要的應(yīng)用價值。
參考文獻(xiàn)
[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驗證方法學(xué)的縱向可重用研究[J].微電子學(xué)與計算機,,2016,33(4):64-68.
作者信息:
徐 飛1,,2,,秦水介2
(1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽550025,;2.貴州省光電子技術(shù)與應(yīng)用重點實驗室,,貴州 貴陽550025)