亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VMM的LTE 小區(qū)搜索模塊驗證

        2013-12-14 01:36:34鄭建宏
        關(guān)鍵詞:信號功能

        郭 旭,鄭建宏

        (重慶郵電大學通信與信息工程學院,重慶400065)

        0 引言

        摩爾定律指出,芯片上集成電路的數(shù)量每隔十八個月翻一倍。近年來,在百萬門級ASIC項目的研發(fā)過程中,驗證工作占用了大部分的設計開發(fā)時間。隨著芯片設計復雜度的不斷提高,功能驗證的復雜度也以指數(shù)增長,功能驗證已經(jīng)成為了芯片研發(fā)的瓶頸。因此,如何提高芯片驗證的效率,已經(jīng)變得越來越重要。

        SystemVerilog語言建立在Verilog語言的基礎(chǔ)上,是IEEE Std 1364-2001 Verilog標準的擴展增強,并兼容Verilog2001,已經(jīng)成為了新一代硬件設計和驗證語言[1]。VMM(verifacation methodology manual)是Synopsys公司推出的基于SystemVerilog的驗證方法學,已經(jīng)得到了業(yè)內(nèi)的廣泛推廣 。基于VMM驗證方法學搭建起來的驗證平臺具有良好的結(jié)構(gòu)性和可重用性,大大縮短了搭建驗證平臺所花費的時間。同時,VMM驗證方法學支持帶約束的隨機激勵生成、自動對比數(shù)據(jù)以及功能覆蓋率驅(qū)動等功能,提高了驗證的完備性和驗證的效率,縮短了芯片的開發(fā)周期。

        1 SystemVerilog和VMM方法學簡介

        1.1 SystemVerilog

        SystemVerilog是新興的一種工程語言:硬件描述與驗證語言(hardware description and verification language,HDVL)。SystemVerilog使得工程師不但可以建模大型的復雜的ASIC設計,并且可以驗證這些ASIC設計的功能是否達到了預期的目標[3]。

        SystemVerilog的優(yōu)點如下:①語言單一,是同時支持設計與驗證的語言;②支持帶約束的隨機激勵的產(chǎn)生;③支持覆蓋率統(tǒng)計;④支持斷言的驗證;⑤提供面向?qū)ο蟮木幊?,有助于采用事務級的驗證,提高驗證的重用性[4]。

        作為一門新興的語言,SystemVerilog得到了來自SYNOPSYS,Mentor Graphic和Cadence三大 EDA廠家的大力支持,已經(jīng)被業(yè)界各大公司廣泛應用到實際的研發(fā)項目中。Verilog編譯仿真器(verilog compile simulation,VCS),QuestaSim 以及 Incisive等多種仿真器都支持SystemVerilog的編譯仿真,VMM等基于SystemVerilog的驗證方法學也被廣泛采用;SystemVerilog已逐漸取代VERA語言和e語言成為設計工程師和驗證工程師的首選。

        1.2 VMM方法學簡介

        VMM驗證方法學,是Synopsys公司推出的基于SystemVerilog語言建立的事務級的驗證環(huán)境。驗證工程師能夠通過使用VMM驗證方法學提供的帶約束的隨機激勵、層次化結(jié)構(gòu)以及覆蓋率驅(qū)動等特點,來提高現(xiàn)今的驗證效率,構(gòu)建一個可重用的和通用的驗證平臺。VMM驗證方法學是一種層次化的架構(gòu)、事務級通信的驗證方法學,VMM驗證方法學的基本結(jié)構(gòu)分為5層,即:測試層、場景層、功能層、命令層和信號層,每個層次都有獨立的功能,驗證平臺的層次化結(jié)構(gòu)如圖1所示[5]。

        場景層包含配置器(configure)和生成器(generator),此層位于測試層之下,可以產(chǎn)生帶有一定約束關(guān)系的隨機事務。場景層是以隨機的序列和次序生成場景,從而產(chǎn)生相應場景的事務數(shù)據(jù)流。

        圖1 VMM驗證平臺結(jié)構(gòu)Fig.1 Structure of VMM verification platform

        功能層一般包含事務驅(qū)動器(transactor)、記分板(scoreboard)以及比較器(checker),它與高層模塊的功能相關(guān)。功能層除了包含一些添加的協(xié)議檢查器外,與物理層的信號傳輸沒有必然的聯(lián)系,它可以判斷設計功能的正確性。

        指令層一般包括驅(qū)動器(driver)、信號監(jiān)視器(monitor)、總線功能模型(bus function model,BFM),這些組件都與設計的物理層協(xié)議有關(guān)。指令層能夠通過信號層來驅(qū)動被測設計(design under test,DUT)的管腳,同時為功能層提供事務級的傳輸通道。

        信號層為DUT提供信號級的連接,它能夠采用SystemVerilog中一些特殊的結(jié)構(gòu),例如接口、端口、時鐘等,將設計模塊的管腳名進行抽象,從而使得當設計模塊的管腳發(fā)生變化時不需要更改驗證環(huán)境。

        2 LTE小區(qū)搜索模塊驗證平臺搭建

        2.1 LTE小區(qū)搜索過程簡介

        移動終端(user equipment,UE)剛開機時,必須首先確定出LTE小區(qū)所在的頻點,這是通過計算頻點處的接收的信號強度指示 (received signal strength indicator,RSSI)來判斷的,確定了系統(tǒng)頻點后,需要檢測出主同步信號(primary synchronization signal,PSS)所在的位置,這樣UE就能夠獲取小區(qū)ID的一部分信息了,再利用這一部分信息去檢測輔同步信號(secondary synchronization signal,SSS)就可以獲得關(guān)于小區(qū)ID的全部信息,以及幀定時、循環(huán)前綴(cyclic prefix,CP)長度、雙工模式等信息。去檢測物理廣播信道 (primary broadcast channel,PBCH)以獲得更詳細的小區(qū)信息。

        2.2 LTE小區(qū)搜索模塊功能介紹

        LTE小區(qū)搜索模塊主要完成的功能是小區(qū)初始搜索中對扇區(qū)ID和小區(qū)組ID的檢測,即檢測主同步信號PSS和輔同步信號SSS,以獲得所在小區(qū)的物理層小區(qū)ID和與該小區(qū)的幀同步,用以UE的后續(xù)接入過程。小區(qū)搜索模塊中快速傅立葉變換(fast fourier transform,F(xiàn)FT)功能采用基2的時間抽取運算方法。除了FFT功能外,小區(qū)搜索模塊還具備頻域軟糾正、歸一化因子和最大值輸出、本地PSS和SSS的產(chǎn)生、SSS信號的分段相關(guān)等功能。

        2.3 小區(qū)搜索模塊所需驗證功能點

        1)寄存器的復位值和讀寫功能;

        2)存儲器的讀寫功能和清零功能;

        3)中斷使能情況下,中斷信號能正確到來;

        4)中斷屏蔽情況下,中斷標志寄存器能正確置位和中斷標志寄存器清除功能;

        5)功能時鐘和接口時鐘變頻功能;

        6)數(shù)字信號處理(digital signal processing,DSP)啟動模塊功能;

        7)直接內(nèi)存存取(direct memory access,DMA)啟動模塊功能;

        8)輸入輸出數(shù)據(jù)控制功能;

        9)輸出數(shù)據(jù)按比特取反功能;

        10)FFT功能和FFT的最大值及歸一化因子輸出功能;

        11)頻域軟糾正功能;

        12)PSS,SSS序列產(chǎn)生功能;

        13)滑動相關(guān)功能;

        14)SSS序列的分段相關(guān)功能;

        15)PSS,SSS序列的沖激響應產(chǎn)生功能;

        16)最大值查找功能;

        17)M0值估計功能;

        18)M1值估計功能。

        2.4 模塊級分層驗證平臺搭建

        根據(jù)對LTE小區(qū)搜索模塊的功能、接口時序和協(xié)議的分析理解,整理了本模塊所需驗證的功能點,采用了VMM驗證方法學,搭建了小區(qū)搜索模塊的驗證平臺,驗證平臺的結(jié)構(gòu)如圖2所示。

        1)驗證環(huán)境(environment):VMM驗證方法學提供了運行驗證環(huán)境的基本類vmm_env,其采用了9步順序執(zhí)行的機制:gen_cfg(隨機化配置參數(shù))、build(建立并且連接環(huán)境組件)、reset_dut(DUT硬件復位)、cfg_dut(配置 DUT的寄存器)、start(開始運行所用環(huán)境組件)、wait_for_end(等待仿真結(jié)束條件)、stop(停止運行所用環(huán)境變量)、cleanup(檢查記錄狀態(tài),清除剩余數(shù)據(jù))、report(報告仿真結(jié)果)。小區(qū)搜索模塊驗證平臺所用的事務都通過繼承的vmm_env類生成例化,并將驗證組件按照驗證平臺結(jié)構(gòu)圖連接起來,在vmm_env的框架中運行。

        圖2 小區(qū)搜索驗證平臺結(jié)構(gòu)Fig.2 Structure of cell search verification platform

        2)配置(configure):利用配置組件對小區(qū)搜索模塊的工作模式進行了隨機配置,并且對各個寄存器在不同的工作模式下進行了約束隨機配置,以達到對相應功能進行驗證的目的。小區(qū)搜索模塊的工作模式分為只進行FFT/快速傅里葉逆變換(inverse fast fourier transform,IFFT)、只進行頻域軟糾正、FFT結(jié)合頻域軟糾正、PSS/SSS序列生成、滑動相關(guān)、FFT結(jié)合SSS分段相關(guān)、FFT結(jié)合PSS/SSS的沖激信號生成、主峰值查找、M0值估計、M1值估計等。配置組件的部分代碼如圖3所示。

        3)數(shù)據(jù)包(packet):對DUT的輸入輸出數(shù)據(jù)進行定義,并約束輸入數(shù)據(jù)的位寬、取值范圍、長度等[6]。對小區(qū)搜索模塊來說,輸入數(shù)據(jù)是隨機的16 bit的有符號數(shù),這些數(shù)據(jù)需要進行FFT/IFFT處理。數(shù)據(jù)包能夠通過傳輸通道(channel)傳遞給其他的驗證組件。

        4)數(shù)據(jù)包生成器(generator):用于生成帶有約束的隨機數(shù)據(jù)包。小區(qū)搜索模塊的生成器通過調(diào)用VMM標準庫中的宏vmm_atomic_gen自動產(chǎn)生,不需要驗證人員手動創(chuàng)建,大大節(jié)省了搭建驗證平臺的時間。

        5)廣播器(broadcast):小區(qū)搜索模塊的廣播器用于將數(shù)據(jù)包生成器產(chǎn)生的同一個數(shù)據(jù)包分別發(fā)送給驅(qū)動器和參考模型,實現(xiàn)數(shù)據(jù)包的重復利用,并保證DUT和參考模型輸入數(shù)據(jù)的一致性。

        圖3 配置類代碼Fig.3 Part of code for configure class

        6)驅(qū)動器(driver):小區(qū)搜索模塊的驅(qū)動器從廣播器中得到數(shù)據(jù)包,根據(jù)配置組件中的配置信息對DUT進行驅(qū)動,并且Driver將模擬ARM對DUT進行配置。

        7)接收器(receiver):小區(qū)搜索模塊的接收器將判斷中斷是否來臨,并且及時清除中斷。在中斷到來后,接收器從存儲器中讀出DUT的結(jié)果數(shù)據(jù),結(jié)合總線的數(shù)據(jù)位寬和數(shù)據(jù)包的數(shù)據(jù)類型對數(shù)據(jù)格式進行處理,并通過傳輸通道將處理后的數(shù)據(jù)傳送給記分板。

        8)參考模型(reference model):針對小區(qū)搜索模塊,參考模型實現(xiàn)了與DUT一樣的功能,但采用不同于設計的描述語言。參考模型的主要功能是根據(jù)輸入的數(shù)據(jù)包進行相應的運算,并產(chǎn)生正確的結(jié)果數(shù)據(jù)后傳送給記分板,便于與DUT的輸出結(jié)果進行對比,確認DUT的代碼中是否存在的錯誤。

        9)記分板(scoreboard):小區(qū)搜索模塊的記分板從通道中分別取得接收器和參考模型的輸出數(shù)據(jù),并調(diào)用packet中的對比函數(shù),完成對數(shù)據(jù)的自動對比。對比時,首先對比數(shù)據(jù)的長度,然后根據(jù)索引,對各個數(shù)據(jù)分別進行對比。在對比過程中,任意一個數(shù)據(jù)對比錯誤都會終止仿真,并打印錯誤信息,便于找到錯誤的根源。

        10)覆蓋(coverage):對小區(qū)搜索模塊的工作模式、數(shù)據(jù)的有效位寬、時鐘頻率等各功能點的覆蓋情況進行統(tǒng)計,達到覆蓋率快速收斂的目的 。當功能覆蓋率收斂到一定值以后,便可自動停止仿真。

        11)測試例(testcase):根據(jù)小區(qū)搜索模塊的不同應用場景,編寫不同的測試例[8]。在每一個測試例下,對各組件進行繼承,對隨機變量進行新的約束,使DUT工作在特定的某項功能下。以產(chǎn)生本地SSS序列的測試例為例,測試例代碼如圖4所示。首先,由于在配置組件中,對每種功能場景下每個寄存器的配置值進行了約束,所以在測試例中,只須繼承驗證環(huán)境的配置類,并添加一個新的約束,將該測試例運行的功能場景約束為只運行本地SSS產(chǎn)生在這個功能即可。接著,對驗證環(huán)境和新的配置類進行創(chuàng)建(new方法),并將新的配置類對象賦給驗證環(huán)境的配置類對象。最后,調(diào)用run()任務,對9個機制進行順序執(zhí)行,其中已經(jīng)調(diào)用過的gen_cfg和build不會執(zhí)行。

        圖4 SSS產(chǎn)生功能測試例Fig.4 Testcase of SSS generate function

        從圖4中可以看出,采用VMM驗證方法學搭建的驗證平臺,測試例部分的代碼是十分簡潔的,用少量的代碼就能對目標功能進行驗證。對于不同場景下的測試例,只須修改約束中場景的約束,節(jié)省了編寫測試例的時間。

        3 驗證結(jié)果

        本驗證工作采用系統(tǒng)環(huán)境為UNIX操作系統(tǒng)的Solrais9,使用Synopsys公司的VCS仿真器,對小區(qū)搜索模塊進行了全面的功能驗證。

        以產(chǎn)生本地SSS序列的功能為例,仿真波形如圖5所示。

        從圖5中可以看出,小區(qū)搜索模塊的SSS序列產(chǎn)生功能結(jié)束后,能正常產(chǎn)生中斷信號(fft_irq信號線拉高),并保持32個ZSP時鐘周期。中斷產(chǎn)生后,從存儲器中能夠讀取模塊運算的結(jié)果數(shù)據(jù)。經(jīng)過與參考模型產(chǎn)生的正確輸出數(shù)據(jù)對比,證明在不同的扇區(qū)ID和小區(qū)組ID情況下,小區(qū)搜索模塊產(chǎn)生的本地SSS信號是正確的,該功能能達到預期的目標。

        圖5 SSS產(chǎn)生功能波形Fig.5 Undee figure of SSS generate function

        驗證工作完成后(即驗證過程中發(fā)現(xiàn)的BUG都已經(jīng)解決且所需驗證的功能點均驗證通過),將所有的測試例重新運行一遍,對代碼的覆蓋率進行統(tǒng)計。最終的覆蓋率統(tǒng)計結(jié)果如圖6所示。

        圖6 覆蓋率統(tǒng)計Fig.6 Statistics figure of coverage

        從圖6中我們可以看出斷言覆蓋率和功能覆蓋率均達到了100%,而行覆蓋率、條件覆蓋率、翻轉(zhuǎn)覆蓋率和狀態(tài)機覆蓋率都沒有達到100%。經(jīng)過分析,行覆蓋率沒有達到100%的原因是設計代碼中存在一些冗余代碼,模塊運行中不會涉及到這些代碼,這些冗余代碼是應該被刪除掉的。條件覆蓋率為95.37%,原因是存在正常情況下不會出現(xiàn)的條件。翻轉(zhuǎn)覆蓋率沒有達到100%的原因是一些變量定義的位寬比實際使用的位寬大,實際運行中多余的位寬的數(shù)據(jù)始終為0,不會翻轉(zhuǎn)到1。狀態(tài)機覆蓋率只有79.91%,是所有覆蓋率中最低的,造成這個結(jié)果的原因是設計代碼中考慮了中途斷電的問題,設計了許多正常工作狀態(tài)會跳往空閑狀態(tài),而在正常工作中是不會出現(xiàn)這樣的跳轉(zhuǎn)。經(jīng)過對覆蓋率的分析,此驗證工作達到了預期的目標,所有的功能點都覆蓋到了,沒有遺漏。

        在LTE小區(qū)搜索模塊驗證完成后,模塊的質(zhì)量評估(quality assurance,QA)統(tǒng)計數(shù)據(jù)與以前相同規(guī)模和難度的模塊的統(tǒng)計數(shù)據(jù)比較如表1所示。由于本次驗證采用了VMM驗證方法學搭建驗證平臺,搭建驗證平臺的時間減少了1/3。層次化的驗證平臺結(jié)構(gòu),降低了編寫測試例的時間,提高了測試例的執(zhí)行速度。對于功能覆蓋率和斷言的引入比較方便,測試例也比較靈活,覆蓋率得到了提高。因此,整個模塊驗證所用時間縮短了1個多月,并且驗證效率和驗證的完備性都得到了提高。

        表1 驗證時間對比Tab.1 Verification time comparison

        4 結(jié)論

        本文以SystemVerilog語言和VMM驗證方法學為基礎(chǔ)構(gòu)建的驗證平臺,利用帶約束的隨機激勵、斷言、覆蓋率驅(qū)動等先進的驗證技術(shù),完成了對小區(qū)搜索模塊的功能點的驗證,并且得到了覆蓋率統(tǒng)計結(jié)果,使驗證工作更加完備。VMM驗證架構(gòu)具有良好的代碼重用性,可以縮短搭建驗證平臺所用的時間,能夠高效地完成復雜設計的驗證,并且極大地提高了可靠性。

        [1]CHRIS Spear.SystemVerilog for Verification[M].New York:Springer,2006:1-18.

        [2]JANICK Bergeron,EDUARD Cemy,ALAN Hunter.Verification Methodology Manual for System Verilog[M].New York:Springer,2005:10-16.

        [3]鐘文楓.SystemVerilog與功能驗證[M].北京:機械工業(yè)出版社,2010:5-9.ZHONG Wenfeng.SystemVerilog and functional verification[M].Beijing:China Machine Press,2010:5-9.

        [4]Accellera Organizationtion.SystemVerilog3.1 a Language Reference Manual Accellera’s Extensions to Verilog[M].California:Accellera,2004:30-45.

        [5]BERGERON Janick.Writing Testbenches using System Verilog[M].New York:Springer,2006:5-8.

        [6]楊鑫,徐偉俊,陳先勇.SystemVerilog中的隨機化激勵[J].中國集成電路,2007,23(1):58-62.YANG Xin,XU Weijun,CHEN Xianyong.Random excitation in SystemVerilog [J].China integrated circuit,2007,23(1):58-62.

        [7]ANDREW Piziali. FunctionalVerification Coverage Measurement and Analysis[M].New York:Kluwer Academic Publisher,2004:13-15

        [8]方穎立.基于VMM的寄存器抽象層驗證[J].電子設計技術(shù),2007,35(4):103-104.FANG Yingli.The register abstraction layer verification based on VMM[J].Electronic design technology,2007,35(4):103-104.

        猜你喜歡
        信號功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        孩子停止長個的信號
        關(guān)于非首都功能疏解的幾點思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        基于LabVIEW的力加載信號采集與PID控制
        一種基于極大似然估計的信號盲抽取算法
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        久久成人成狠狠爱综合网| 亚洲欧美日韩一区在线观看| 国产精品毛片99久久久久| 精品蜜桃av一区二区三区| 欧美一级特黄AAAAAA片在线看 | 人妻暴雨中被强制侵犯在线| 亚洲粉嫩高潮的18p| 亚洲肥婆一区二区三区| 色琪琪一区二区三区亚洲区 | 熟女免费观看一区二区| 色婷婷色丁香久久婷婷| 国产精品国产三级国产专播| 真人新婚之夜破苞第一次视频| 亚洲精品国偷拍自产在线观看| 成人综合婷婷国产精品久久蜜臀| 久激情内射婷内射蜜桃人妖| 精品国产精品久久一区免费式| 狠狠躁狠狠躁东京热无码专区| 国产强伦姧在线观看| 日本在线观看一区二区三区视频| 三上悠亚亚洲精品一区| 风韵人妻丰满熟妇老熟| 人与人性恔配视频免费| 狠狠色婷婷久久综合频道日韩| 精品人妻伦九区久久aaa片| 国产精品亚洲а∨天堂2021| 亚洲精品无码久久久影院相关影片| 成年无码av片完整版| 伊人久久无码中文字幕| 专区亚洲欧洲日产国码AV| 国产美女高潮流白浆在线观看| 亚洲天堂免费一二三四区| 免费女同毛片在线不卡| 国产av丝袜熟女丰满一区二区| 国产成人无码精品久久久免费| 久久久久九九精品影院| 和外国人做人爱视频| 亚洲国产精品嫩草影院久久| 久久这里只精品国产99热| 无码人妻丰满熟妇区免费| 青青草视频在线你懂的|