《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 微波|射頻 > 設(shè)計(jì)應(yīng)用 > 基于UVM的基帶射頻接口電路的驗(yàn)證
基于UVM的基帶射頻接口電路的驗(yàn)證
2018年電子技術(shù)應(yīng)用第3期
徐 飛1,2,秦水介2
1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽550025;2.貴州省光電子技術(shù)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,貴州 貴陽550025
摘要: 針對(duì)UVM驗(yàn)證方法學(xué)的高效性,結(jié)合UVM可重用性的特點(diǎn),搭建層次化的模塊級(jí)驗(yàn)證平臺(tái),對(duì)基帶射頻接口電路的功能進(jìn)行驗(yàn)證。驗(yàn)證分析表明,基帶射頻接口硬件電路架構(gòu)移植于UVM環(huán)境中,不僅提高了代碼覆蓋率和功能覆蓋率,而且大幅提升了驗(yàn)證效率。同時(shí)通過DC(Design Compiler)對(duì)硬件RTL約束后,得到射頻接口電路接收通路的面積為0.3 mm2,功耗為39 mW;射頻接口電路發(fā)送通路的面積為0.5 mm2,功耗為58 mW。
中圖分類號(hào): TN47
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.172650
中文引用格式: 徐飛,秦水介. 基于UVM的基帶射頻接口電路的驗(yàn)證[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.

Verification of baseband RF interface circuit based on UVM
Xu Fei1,2,Qin Shuijie2
1. Big Data and Information Engineering Institute,Guizhou University,Guiyang 550025,China; 2.Guizhou Province of The Key Laboratory Optoelectronic Technology and Application,Guiyang 550025,China
Abstract: This paper based on the efficiency of UVM verification methodology,and combined with the characteristics of UVM reusability.In order to verify the function of baseband RF interface circuit,it need build hierarchical modular verification platform.The verification analysis show that baseband RF interface hardware circuit framework can be transplanted to UVM environment,which not only code coverage and functional coverage can be increased,but also the efficiency of verification can be substantially improved. At the same time,the hardware RTL is constrained by DC,which the area of receiving path of RF interface circuit is 0.3 mm2 and power consumption is 39 mW can be obtained. The area of transmission path of RF interface circuit is 0.5 mm2 and power consumption is 58 mW can be obtained.
Key words : UVM;baseband RF;functional verification;DC synthesis;power consumption

0 引言

    隨著SoC基帶芯片設(shè)計(jì)規(guī)模高度集成化,驗(yàn)證周期將不斷增加,占整個(gè)研發(fā)階段的70%[1]。為了使基帶芯片驗(yàn)證更具高效性,采用了當(dāng)前主流的UVM驗(yàn)證方法學(xué)。UVM驗(yàn)證方法學(xué)[2]是由Accellera在2011年正式推出的,創(chuàng)建的驗(yàn)證平臺(tái)不僅提供很多可用接口,而且多樣化的Cadence VIP還為UVM環(huán)境搭建提供了必要的組件。因此可以實(shí)現(xiàn)高覆蓋率的功能驗(yàn)證,使仿真驗(yàn)證時(shí)間大幅減小。

    基帶射頻接口電路,是一種將基帶芯片和射頻芯片連接起來的數(shù)字串行接口。這種數(shù)字串行接口不僅節(jié)省硬件資源,而且可以通過載波聚合的方式使基帶達(dá)到較高的上下行空口峰值傳輸速率。由于復(fù)雜的私有化協(xié)議接口,必須搭建一種合適的驗(yàn)證平臺(tái),快速全面地驗(yàn)證射頻接口電路的功能。本文將使用UVM驗(yàn)證方法學(xué)對(duì)基帶射頻接口電路模塊進(jìn)行驗(yàn)證,驗(yàn)證方式將全面覆蓋射頻收發(fā)通路的所有功能點(diǎn)。

1 UVM驗(yàn)證平臺(tái)

    基于UVM特性的驗(yàn)證設(shè)計(jì)(Design Under Verification),以System Verilog[3]硬件驗(yàn)證語言為基礎(chǔ),通過UVM庫[4]調(diào)用各類驗(yàn)證組件,使驗(yàn)證工作分工明確。這個(gè)UVM庫主要包含以下幾部分:第一,層次化的驗(yàn)證結(jié)構(gòu)。代理器(Agent)主要集合驅(qū)動(dòng)器等模塊;驅(qū)動(dòng)器(Driver)負(fù)責(zé)將生成的激勵(lì)按照規(guī)則加入到DUT的管腳或者內(nèi)部;監(jiān)測(cè)器(Monitor)檢測(cè)DUV 的內(nèi)部信號(hào)以及輸出,實(shí)現(xiàn)多種監(jiān)視操作;計(jì)分板(Scoreboard)對(duì)DUV值和Model預(yù)期的值作比較;參考模型(Reference model)使用SystemVerilog建立的和DUT相關(guān)的模型,輸出期望值。第二,UVM序列器(Sequencer)[5]提供仲裁序列(Sequence)模塊,使驅(qū)動(dòng)器得到transaction類型數(shù)據(jù)包。第三,提供知識(shí)產(chǎn)權(quán)核(VIP),保證UVM環(huán)境中的各個(gè)組件快速集成。

    典型的UVM驗(yàn)證平臺(tái)如圖1所示。在驗(yàn)證環(huán)境中,uvm_env包含了全部的驗(yàn)證組件,兩個(gè)驗(yàn)證設(shè)計(jì)通過總線接口跟平臺(tái)相連。驗(yàn)證平臺(tái)按照自上而下的結(jié)構(gòu)規(guī)范,從env頂層例化了五個(gè)模塊,兩個(gè)輸入代理器模塊,一個(gè)輸出代理器模塊,一個(gè)參考模型模塊和一個(gè)計(jì)分板模塊。輸入代理器模塊先對(duì)驗(yàn)證環(huán)境進(jìn)行配置,然后通過序列器模塊將激勵(lì)源傳送至驅(qū)動(dòng)器模塊,驅(qū)動(dòng)器模塊將數(shù)據(jù)通過interface傳送至從端接收者,而監(jiān)測(cè)器可以采集驅(qū)動(dòng)器給驗(yàn)證設(shè)計(jì)的數(shù)據(jù)信號(hào)。輸出代理監(jiān)測(cè)器模塊實(shí)時(shí)采樣驗(yàn)證設(shè)計(jì)的輸出信號(hào),將采集到的結(jié)果放在計(jì)分板模塊,并跟參考模型模塊的輸出信息進(jìn)行比對(duì),減小驗(yàn)證的錯(cuò)誤率,降低驗(yàn)證風(fēng)險(xiǎn)。

wdz2-t1.gif

2 基帶射頻接口電路模塊

    基帶射頻接口模塊包含射頻接口的接收通路模塊和發(fā)送通路模塊?;鶐漕l接口模塊架構(gòu)圖如圖2所示。此射頻接口模塊采用AXI標(biāo)準(zhǔn)總線協(xié)議,通過X2P轉(zhuǎn)接橋?qū)臋C(jī)地址、數(shù)據(jù)信號(hào)傳輸至配置模塊。其中接收通路的定時(shí)使能配置通過GPIO輸出,SPI通過配置讀寫寄存器控制外部射頻芯片,接收通路狀態(tài)是由接收控制寄存器模塊配置,在可配置的TBU時(shí)間點(diǎn)上打開和關(guān)閉射頻接收?;鶐漕l接口接收的數(shù)據(jù)流通過兩個(gè)FIFO進(jìn)行緩存,再使用兩組DMA將數(shù)據(jù)流通過AXI主機(jī)搬到基帶芯片中的存儲(chǔ)器。發(fā)送通路過程跟接收通路過程互逆,發(fā)送狀態(tài)通過發(fā)送控制寄存器進(jìn)行配置,在可配置的TBU時(shí)間點(diǎn)上打開和關(guān)閉射頻發(fā)送,基帶芯片主機(jī)存儲(chǔ)器的數(shù)據(jù)流通過AXI總線并使用4組DMA緩存至4個(gè)FIFO中,最終發(fā)送到射頻芯片。在射頻接口收發(fā)過程中,DMA搬數(shù)任務(wù)完成后發(fā)出中斷,中斷傳入ARM處理器,使ARM處理器循環(huán)響應(yīng),配置多次任務(wù)。如果要對(duì)FIFO的數(shù)據(jù)重新緩存,就必須清空FIFO,在可配置的TBU時(shí)間點(diǎn)上對(duì)寄存器復(fù)位,將輸出的數(shù)據(jù)從現(xiàn)在的采樣點(diǎn)寫到FIFO的起始地址上。

wdz2-t2.gif

    基帶射頻接口采用多模式多帶寬的數(shù)據(jù)接口支持相應(yīng)的接口速率,其中CMOS TDD(互補(bǔ)金屬氧化物半導(dǎo)體時(shí)分雙工)模式使用兩組12 bit數(shù)據(jù)線,數(shù)據(jù)傳輸采用半雙工方式,一個(gè)時(shí)鐘周期可以發(fā)送雙天線符號(hào)數(shù)據(jù)。在CMOS FDD(互補(bǔ)金屬氧化物半導(dǎo)體頻分雙工)模式下,數(shù)據(jù)傳輸速率是CMOS TDD模式數(shù)據(jù)吞吐率的2倍。而LVDS(低電壓差分信號(hào))模式數(shù)據(jù)傳輸速率是CMOS TDD模式數(shù)據(jù)吞吐率的4倍。

3 搭建基于UVM的基帶射頻接口電路驗(yàn)證平臺(tái)

3.1 基帶射頻接口電路驗(yàn)證流程

    基帶射頻接口采用AXI總線機(jī)制分別對(duì)基帶射頻的接收通路模塊和發(fā)送通路模塊進(jìn)行驗(yàn)證,驗(yàn)證流程如圖3所示。在驗(yàn)證環(huán)境中將軟件接口數(shù)據(jù)包放置于virtual sequener,通過AXI接口傳送給axi _sequencer,驅(qū)動(dòng)器會(huì)得到axi_sequence產(chǎn)生的激勵(lì)信號(hào),這些激勵(lì)信號(hào)分別作用于接收通路的驗(yàn)證設(shè)計(jì)和發(fā)送通路的驗(yàn)證設(shè)計(jì)。同時(shí)例化的兩個(gè)axi_monitor不僅監(jiān)視驅(qū)動(dòng)器給射頻接收和發(fā)送驗(yàn)證設(shè)計(jì)的數(shù)據(jù)流,而且可以監(jiān)測(cè)record model,這個(gè)record model模型通過MATLAB實(shí)現(xiàn)跟射頻接口同樣的數(shù)據(jù)傳輸功能,并把數(shù)據(jù)信息放入計(jì)分板。另一個(gè)axi_monitor監(jiān)測(cè)射頻接收和發(fā)送通路數(shù)據(jù)信息傳送至計(jì)分板的情況,一旦record model和監(jiān)控產(chǎn)生的數(shù)據(jù)信息都傳輸?shù)接?jì)分板,計(jì)分板將會(huì)比對(duì)兩者數(shù)據(jù),從而判斷仿真是否異常。

wdz2-t3.gif

3.2 基于UVM的基帶射頻接口電路驗(yàn)證平臺(tái)

    基帶射頻接口電路的驗(yàn)證平臺(tái)如圖4所示。這個(gè)待測(cè)的驗(yàn)證設(shè)計(jì)主要是發(fā)送模塊和接收模塊,通過接口將驗(yàn)證對(duì)象與驗(yàn)證向量連接起來,而驗(yàn)證向量是為了實(shí)現(xiàn)跟待測(cè)對(duì)象相同的功能。其中驗(yàn)證環(huán)境中的Agent是由VIP提供,剩余組件需自行設(shè)計(jì)。驗(yàn)證環(huán)境通過頂層env例化兩個(gè)i_axi_agent,這兩個(gè)i_axi_agent包含其他驗(yàn)證組件,并將內(nèi)部的sequencer、driver以及monitor通過build_phase進(jìn)行創(chuàng)建,使得各個(gè)驗(yàn)證組件能夠緊密連接起來。這兩種i_axi_agent組件包分別作用于射頻接口的發(fā)送模塊和接收模塊,目的是為了使配置的active和passive模式能夠?qū)nterface上的數(shù)據(jù)信息進(jìn)行驅(qū)動(dòng)和監(jiān)測(cè)。o_axi_agnet例化模塊中的monitor可以監(jiān)視到測(cè)試對(duì)象發(fā)出的激勵(lì)數(shù)據(jù)流,通過TLM接口機(jī)制傳送到uvm_scoreboard。與此同時(shí),由Matlab封裝的record_model模型,通過passive模式占用的moitor去監(jiān)測(cè)收發(fā)模型數(shù)據(jù)流,監(jiān)測(cè)抽取的模型數(shù)據(jù)流要與DUV產(chǎn)生的激勵(lì)數(shù)據(jù)信息進(jìn)行對(duì)比。最終對(duì)比的數(shù)據(jù)流信息通過uvm_scoreboard計(jì)分板得出結(jié)論,以此判斷基帶射頻接口在收發(fā)過程中的數(shù)據(jù)信息是否完備,統(tǒng)計(jì)覆蓋率的要求是否達(dá)標(biāo)。

wdz2-t4.gif

    基帶射頻接口內(nèi)部的各個(gè)寄存器模塊是通過APB總線傳輸?shù)刂泛蛿?shù)據(jù),而主機(jī)轉(zhuǎn)接橋X2P作為通用IP給寄存器分配可用的地址空間。這些寄存器模型可以在內(nèi)部通過多次例化,主要為射頻的收發(fā)通路提供使能信息。而DMA模塊是為了讓射頻收發(fā)模塊的激勵(lì)信息搬至正確的memory中,一旦搬完有限幀數(shù)據(jù)流,就會(huì)產(chǎn)生中斷信息,中斷信息會(huì)進(jìn)入ARM處理器,內(nèi)核發(fā)出指令阻止射頻收發(fā)。SPI模塊的引入能夠使射頻收發(fā)正常讀寫FIFO,同時(shí)為外部的射頻子板提供模式切換功能。但是基帶射頻接口內(nèi)部的模式切換卻要采用mode寄存器模塊。而這些寄存器模塊都是為了給射頻收發(fā)通路提供隨機(jī)約束,得到滿足要求的激勵(lì)。

    射頻收發(fā)通路的隨機(jī)約束信息需要通過ARM處理器的軟件環(huán)境進(jìn)行配置,將約束項(xiàng)目存放在transation數(shù)據(jù)包中,使數(shù)據(jù)激勵(lì)能夠成為驅(qū)動(dòng)射頻收發(fā)通路的條件,便于射頻收發(fā)模塊正常工作。同時(shí)這些約束項(xiàng)目申明了約束變量,變量列表如表1所示。

wdz2-b1.gif

    axi_sequencer將激勵(lì)源傳輸給驅(qū)動(dòng)器axi_driver,axi_driver需要進(jìn)行軟件配置才能夠驅(qū)動(dòng)待測(cè)模塊。生成射頻收發(fā)驅(qū)動(dòng)配置信息的時(shí)序圖如圖5所示。軟件配置環(huán)境如下:(1)對(duì)射頻通路進(jìn)行初始化,將接收和發(fā)送通路都打開,rx_path_mask設(shè)置為3 bit,tx_path_mask設(shè)置為15 bit。在此還應(yīng)進(jìn)行模式切換,分別對(duì)rx_mode和tx_mode進(jìn)行軟件配置選擇接口是工作在CMOS TDD模式、CMOS FDD模式還是LVDS模式下。(2)時(shí)鐘頻率配置為了控制外面LPCU模塊來滿足符合要求的相應(yīng)帶寬的接口頻率。(3)配置接收和發(fā)送通路使能信息,enable提供接收通路數(shù)據(jù)源的起始信息,tx_on提供發(fā)送通路數(shù)據(jù)源的位置信息,txnrx則為RFIC仿真模型提供發(fā)送通路使能信號(hào)。(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讀寫寄存器,控制外部射頻子板的模式切換,跟基帶射頻接口模式保持一致。

wdz2-t5.gif

    record model作為MATLAB封裝下的模型,這個(gè)模型包含了收發(fā)數(shù)據(jù)源模塊、數(shù)據(jù)格式轉(zhuǎn)換模塊、定時(shí)寄存器模塊、時(shí)鐘源模塊以及收發(fā)數(shù)據(jù)寄存器模塊,收發(fā)數(shù)據(jù)寄存器模塊的數(shù)據(jù)流會(huì)通過scoreboard調(diào)用的寫函數(shù)存入FIFO中,然后調(diào)用比較函數(shù)將存入FIFO的數(shù)據(jù)流與DUV中的數(shù)據(jù)流進(jìn)行比對(duì),若比對(duì)一致,則驗(yàn)證通過;否則,驗(yàn)證失敗。之所以采用這樣的比較方式,是因?yàn)樵趶?fù)雜的數(shù)據(jù)比對(duì)中更加提高驗(yàn)證的準(zhǔn)確性,并使參考模型合理化分析射頻接口電路功能的完備性與可靠性。

3.3 驗(yàn)證結(jié)果

    本次驗(yàn)證主要以RFIU TDD 20 M測(cè)試?yán)秊槔?,?duì)射頻收發(fā)的功能點(diǎn)進(jìn)行測(cè)試,對(duì)各個(gè)功能點(diǎn)對(duì)應(yīng)的功能覆蓋率進(jìn)行統(tǒng)計(jì),得到射頻收發(fā)模塊功能覆蓋率為100%,并分別對(duì)射頻收發(fā)通路的RTL進(jìn)行代碼覆蓋率統(tǒng)計(jì),得到代碼覆蓋率為100%。通過UVM驗(yàn)證,對(duì)比計(jì)分板上的數(shù)據(jù)和record_model參考模型的數(shù)據(jù),發(fā)揮monitor自動(dòng)監(jiān)測(cè)的作用,監(jiān)測(cè)到數(shù)據(jù)比對(duì)的一致性為100%。其余幾種測(cè)試?yán)墓δ芨采w率能達(dá)到100%,并在計(jì)分板上得出的數(shù)據(jù)比對(duì)度為100%,從而可以說明射頻接口收發(fā)模塊的功能需求都已達(dá)到。

    根據(jù)Synopsys的Design Compile工具對(duì)射頻接口電路的RTL代碼進(jìn)行綜合,得到射頻接收通路的約束面積為0.3 mm2,功耗為39 mW;射頻接口電路發(fā)送通路的約束面積為0.5 mm2,功耗為58 mW。設(shè)計(jì)綜合報(bào)告如圖6所示。

wdz2-t6.gif

4 結(jié)束語

    UVM作為數(shù)字IC驗(yàn)證最前沿的方法學(xué),盡管前端仿真搭建平臺(tái)的周期較長,但是執(zhí)行效率很高,明顯縮短整個(gè)研發(fā)的驗(yàn)證時(shí)間。本文利用AXI總線驗(yàn)證組件搭建基于UVM的基帶射頻接口電路驗(yàn)證平臺(tái),實(shí)現(xiàn)了射頻接口收發(fā)模塊功能,在一定范圍內(nèi),控制了約束面積和功耗,有利于整個(gè)基帶芯片順利量產(chǎn)。同時(shí)將這種驗(yàn)證架構(gòu)用在基帶芯片其他模塊上,能夠提高驗(yàn)證效率,并使基帶射頻接口電路的UVM驗(yàn)證平臺(tái)發(fā)揮著重要的指導(dǎo)作用。在數(shù)字接口設(shè)計(jì)中具有重要的應(yīng)用價(jià)值。

參考文獻(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] 張強(qiáng).UVM實(shí)戰(zhàn)[M].北京:機(jī)械工業(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驗(yàn)證方法學(xué)的縱向可重用研究[J].微電子學(xué)與計(jì)算機(jī),2016,33(4):64-68.



作者信息:

徐  飛1,2,秦水介2

(1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽550025;2.貴州省光電子技術(shù)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,貴州 貴陽550025)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。