隨著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í)間大幅減小。
基帶射頻接口電路,是一種將基帶芯片和射頻芯片連接起來(lái)的數(shù)字串行接口。這種數(shù)字串行接口不僅節(jié)省硬件資源,而且可以通過(guò)載波聚合的方式使基帶達(dá)到較高的上下行空口峰值傳輸速率。由于復(fù)雜的私有化協(xié)議接口,必須搭建一種合適的驗(yàn)證平臺(tái),快速全面地驗(yàn)證射頻接口電路的功能。本文將使用UVM驗(yàn)證方法學(xué)對(duì)基帶射頻接口電路模塊進(jìn)行驗(yàn)證,驗(yàn)證方式將全面覆蓋射頻收發(fā)通路的所有功能點(diǎn)。
1UVM驗(yàn)證平臺(tái)
基于UVM特性的驗(yàn)證設(shè)計(jì)(Design Under Verification),以System Verilog[3]硬件驗(yàn)證語(yǔ)言為基礎(chǔ),通過(guò)UVM庫(kù)[4]調(diào)用各類驗(yàn)證組件,使驗(yàn)證工作分工明確。這個(gè)UVM庫(kù)主要包含以下幾部分:第一,層次化的驗(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ì)通過(guò)總線接口跟平臺(tái)相連。驗(yàn)證平臺(tái)按照自上而下的結(jié)構(gòu)規(guī)范,從env頂層例化了五個(gè)模塊,兩個(gè)輸入代理器模塊,一個(gè)輸出代理器模塊,一個(gè)參考模型模塊和一個(gè)計(jì)分板模塊。輸入代理器模塊先對(duì)驗(yàn)證環(huán)境進(jìn)行配置,然后通過(guò)序列器模塊將激勵(lì)源傳送至驅(qū)動(dòng)器模塊,驅(qū)動(dòng)器模塊將數(shù)據(jù)通過(guò)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)。
2基帶射頻接口電路模塊
基帶射頻接口模塊包含射頻接口的接收通路模塊和發(fā)送通路模塊。基帶射頻接口模塊架構(gòu)圖如圖2所示。此射頻接口模塊采用AXI標(biāo)準(zhǔn)總線協(xié)議,通過(guò)X2P轉(zhuǎn)接橋?qū)臋C(jī)地址、數(shù)據(jù)信號(hào)傳輸至配置模塊。其中接收通路的定時(shí)使能配置通過(guò)GPIO輸出,SPI通過(guò)配置讀寫寄存器控制外部射頻芯片,接收通路狀態(tài)是由接收控制寄存器模塊配置,在可配置的TBU時(shí)間點(diǎn)上打開和關(guān)閉射頻接收?;鶐漕l接口接收的數(shù)據(jù)流通過(guò)兩個(gè)FIFO進(jìn)行緩存,再使用兩組DMA將數(shù)據(jù)流通過(guò)AXI主機(jī)搬到基帶芯片中的存儲(chǔ)器。發(fā)送通路過(guò)程跟接收通路過(guò)程互逆,發(fā)送狀態(tài)通過(guò)發(fā)送控制寄存器進(jìn)行配置,在可配置的TBU時(shí)間點(diǎn)上打開和關(guān)閉射頻發(fā)送,基帶芯片主機(jī)存儲(chǔ)器的數(shù)據(jù)流通過(guò)AXI總線并使用4組DMA緩存至4個(gè)FIFO中,最終發(fā)送到射頻芯片。在射頻接口收發(fā)過(guò)程中,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的起始地址上。
基帶射頻接口采用多模式多帶寬的數(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倍。
1搭建基于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,通過(guò)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模型通過(guò)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ù),從而判斷仿真是否異常。
3.2 基于UVM的基帶射頻接口電路驗(yàn)證平臺(tái)
基帶射頻接口電路的驗(yàn)證平臺(tái)如圖4所示。這個(gè)待測(cè)的驗(yàn)證設(shè)計(jì)主要是發(fā)送模塊和接收模塊,通過(guò)接口將驗(yàn)證對(duì)象與驗(yàn)證向量連接起來(lái),而驗(yàn)證向量是為了實(shí)現(xiàn)跟待測(cè)對(duì)象相同的功能。其中驗(yàn)證環(huán)境中的Agent是由VIP提供,剩余組件需自行設(shè)計(jì)。驗(yàn)證環(huán)境通過(guò)頂層env例化兩個(gè)i_axi_agent,這兩個(gè)i_axi_agent包含其他驗(yàn)證組件,并將內(nèi)部的sequencer、driver以及monitor通過(guò)build_phase進(jìn)行創(chuàng)建,使得各個(gè)驗(yàn)證組件能夠緊密連接起來(lái)。這兩種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ù)流,通過(guò)TLM接口機(jī)制傳送到uvm_scoreboard。與此同時(shí),由Matlab封裝的record_model模型,通過(guò)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ù)流信息通過(guò)uvm_scoreboard計(jì)分板得出結(jié)論,以此判斷基帶射頻接口在收發(fā)過(guò)程中的數(shù)據(jù)信息是否完備,統(tǒng)計(jì)覆蓋率的要求是否達(dá)標(biāo)。
基帶射頻接口內(nèi)部的各個(gè)寄存器模塊是通過(guò)APB總線傳輸?shù)刂泛蛿?shù)據(jù),而主機(jī)轉(zhuǎn)接橋X2P作為通用IP給寄存器分配可用的地址空間。這些寄存器模型可以在內(nèi)部通過(guò)多次例化,主要為射頻的收發(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ī)約束信息需要通過(guò)ARM處理器的軟件環(huán)境進(jìn)行配置,將約束項(xiàng)目存放在transation數(shù)據(jù)包中,使數(shù)據(jù)激勵(lì)能夠成為驅(qū)動(dòng)射頻收發(fā)通路的條件,便于射頻收發(fā)模塊正常工作。同時(shí)這些約束項(xiàng)目申明了約束變量,變量列表如表1所示。
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模塊來(lái)滿足符合要求的相應(yīng)帶寬的接口頻率。(3)配置接收和發(fā)送通路使能信息,enable提供接收通路數(shù)據(jù)源的起始信息,tx_on提供發(fā)送通路數(shù)據(jù)源的位置信息,txnrx則為RFIC仿真模型提供發(fā)送通路使能信號(hào)。(4)輸入DMA地址和DMA長(zhǎng)度,使基帶芯片的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封裝下的模型,這個(gè)模型包含了收發(fā)數(shù)據(jù)源模塊、數(shù)據(jù)格式轉(zhuǎn)換模塊、定時(shí)寄存器模塊、時(shí)鐘源模塊以及收發(fā)數(shù)據(jù)寄存器模塊,收發(fā)數(shù)據(jù)寄存器模塊的數(shù)據(jù)流會(huì)通過(guò)scoreboard調(diào)用的寫函數(shù)存入FIFO中,然后調(diào)用比較函數(shù)將存入FIFO的數(shù)據(jù)流與DUV中的數(shù)據(jù)流進(jìn)行比對(duì),若比對(duì)一致,則驗(yàn)證通過(guò);否則,驗(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%。通過(guò)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%,從而可以說(shuō)明射頻接口收發(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所示。
4結(jié)束語(yǔ)
UVM作為數(shù)字IC驗(yàn)證最前沿的方法學(xué),盡管前端仿真搭建平臺(tái)的周期較長(zhǎng),但是執(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à)值。
-
電路
+關(guān)注
關(guān)注
172文章
5826瀏覽量
171775 -
射頻
+關(guān)注
關(guān)注
104文章
5534瀏覽量
167460 -
UVM
+關(guān)注
關(guān)注
0文章
181瀏覽量
19121
原文標(biāo)題:【學(xué)術(shù)論文】基于UVM的基帶射頻接口電路的驗(yàn)證
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論