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

        ?

        集成電路UVM驗(yàn)證環(huán)境典型結(jié)構(gòu)設(shè)計(jì)

        2022-04-18 02:58:30孫曉東王治強(qiáng)
        關(guān)鍵詞:環(huán)境結(jié)構(gòu)功能

        孫曉東,王治強(qiáng)

        (大連東軟信息學(xué)院 智能與電子工程學(xué)院,遼寧 大連 116023)

        從20世紀(jì)90年代開(kāi)始,半導(dǎo)體技術(shù)已經(jīng)發(fā)展到深亞微米階段,集成電路設(shè)計(jì)的復(fù)雜度也呈指數(shù)增長(zhǎng),采用傳統(tǒng)的集成電路驗(yàn)證技術(shù)不僅要花費(fèi)大量的工作時(shí)間,而且無(wú)法滿足現(xiàn)代集成電路的驗(yàn)證要求[1].針對(duì)傳統(tǒng)RTL代碼驗(yàn)證平臺(tái)的諸多弊端,在吸取了傳統(tǒng)驗(yàn)證方法優(yōu)點(diǎn)的基礎(chǔ)上,3大EDA公司(Mentor,Cadence和Synopsys)共同推出了目前所有驗(yàn)證方法學(xué)的標(biāo)準(zhǔn),通用驗(yàn)證方法學(xué)(Universal Verification Methodology,UVM)[2].

        UVM是一種高級(jí)的層次化數(shù)字集成電路驗(yàn)證平臺(tái)開(kāi)發(fā)框架,它是由Accellera組織在Cadence公司與Mentor公司聯(lián)合推出的開(kāi)放驗(yàn)證方法學(xué)的基礎(chǔ)上構(gòu)建的.由SystemVerilog語(yǔ)言編寫(xiě)庫(kù)文件,帶有標(biāo)準(zhǔn)化的驗(yàn)證環(huán)境接口,有很強(qiáng)的復(fù)用性[3-4].

        UVM驗(yàn)證方法學(xué)中包括interface,driver,monitor,transaction,sequencer,agent,model,scoreboard,environment,sequence,test,top等組件,這些模塊按照信號(hào)層、指令層、功能層、場(chǎng)景層和測(cè)試層的劃分組合到一起,形成了完整的驗(yàn)證平臺(tái)[5].但是UVM的框架是一個(gè)通用整體結(jié)構(gòu),該驗(yàn)證平臺(tái)結(jié)構(gòu)適用于所有的待測(cè)模塊,在詳細(xì)設(shè)計(jì)的時(shí)候需要具體考慮組件的功能結(jié)構(gòu),需要花一定的時(shí)間.本文根據(jù)待測(cè)模塊的功能特點(diǎn)將其分為總線協(xié)議、控制器和算法3種類(lèi)型,針對(duì)不同類(lèi)型的待測(cè)模塊,通過(guò)對(duì)reference model和scoreboard進(jìn)一步細(xì)化設(shè)計(jì),提出適應(yīng)該類(lèi)型待測(cè)模塊的典型UVM整體驗(yàn)證環(huán)境結(jié)構(gòu).

        1 通用UVM驗(yàn)證環(huán)境

        UVM驗(yàn)證環(huán)境結(jié)構(gòu)如圖1 所示.該結(jié)構(gòu)分為信號(hào)層、指令層、功能層、場(chǎng)景層和測(cè)試層.

        圖1 UVM驗(yàn)證環(huán)境結(jié)構(gòu)框圖

        信號(hào)層主要處理輸入輸出信號(hào).指令層中driver負(fù)責(zé)給電路施加激勵(lì),它按照電路需要的格式,把數(shù)據(jù)包發(fā)送給待測(cè)電路,驅(qū)動(dòng)電路工作.monitor負(fù)責(zé)收集待測(cè)電路的反饋信息,捕捉響應(yīng)的信號(hào)[6].功能層中的i_agent會(huì)把獲取數(shù)據(jù)包的端口與driver相連,同時(shí)把這個(gè)數(shù)據(jù)包發(fā)給reference model.Reference model稱(chēng)為參考模型或期待值模型,用于計(jì)算期待的正確答案,它需要完成實(shí)際電路相同的功能.Reference model將計(jì)算出的期待值發(fā)給scoreboard.o_agent會(huì)把monitor觀察到的實(shí)際值發(fā)給scoreboard.scoreboard計(jì)分板會(huì)比對(duì)期待值和實(shí)際值,統(tǒng)計(jì)測(cè)試結(jié)果.本文根據(jù)待測(cè)模塊類(lèi)型,重點(diǎn)討論reference model和scoreboard的設(shè)計(jì).

        場(chǎng)景層中sequencer的作用是先將數(shù)據(jù)包發(fā)送給i_agent,再傳到driver中驅(qū)動(dòng)待測(cè)電路,在environment中實(shí)例化功能層中的agent,model,scoreboard.

        測(cè)試層中的transaction即事務(wù),是待發(fā)送的數(shù)據(jù)包.transaction定義了數(shù)據(jù)的類(lèi)型、寬度還有數(shù)據(jù)范圍約束等信息.Sequence的作用是按照transaction中的數(shù)據(jù)格式和數(shù)據(jù)約束,隨機(jī)產(chǎn)生transaction,并把它發(fā)送給sequencer.測(cè)試平臺(tái)啟動(dòng)時(shí)先啟動(dòng)test,然后啟動(dòng)environment和其他子模塊[7].

        2 待測(cè)模塊功能分類(lèi)

        數(shù)字集成電路待測(cè)模塊按功能分類(lèi)如表1 所示.根據(jù)芯片功能分為接口、控制器和算法3大類(lèi)[8-9].總線協(xié)議又可以分為串口,高速接口和CPU周邊總線[10].控制器一般有DMA傳輸控制器、Memory訪問(wèn)控制器等[11].算法模塊根據(jù)芯片功能不同,分類(lèi)也不同.應(yīng)用在相機(jī)芯片中,主要以圖像處理為主,應(yīng)用在通信領(lǐng)域則以信號(hào)處理為主.

        表1 集成電路芯片分類(lèi)

        3 不同類(lèi)型待測(cè)模塊的UVM環(huán)境設(shè)計(jì)

        根據(jù)表1 模塊的功能分類(lèi),針對(duì)不同功能的模塊,其UVM環(huán)境在結(jié)構(gòu)上可以選取適合其功能的結(jié)構(gòu).

        3.1 總線協(xié)議模塊

        總線協(xié)議的模塊主要功能是完成數(shù)據(jù)的傳輸,一般按照功能分為CPU周邊總線、串口協(xié)議、高速接口等.總線協(xié)議類(lèi)模塊主要設(shè)計(jì)transaction,在driver中實(shí)現(xiàn)傳輸協(xié)議.Reference model功能簡(jiǎn)單,scoreboard主要對(duì)transaction中的member進(jìn)行比對(duì).下面以AMBA總線APB轉(zhuǎn)AHB模塊和SPI串口模塊為例,介紹總線協(xié)議模塊的UVM環(huán)境結(jié)構(gòu).

        AMBA總線主要以APB,AHB,AXI等總線協(xié)議為主,其驗(yàn)證環(huán)境的特點(diǎn)是根據(jù)協(xié)議抽取transaction,環(huán)境中reference model僅僅做簡(jiǎn)單的協(xié)議轉(zhuǎn)換,reference完成transaction中member的比對(duì).本文以一款A(yù)PB轉(zhuǎn)AHB的總線轉(zhuǎn)換模塊為例,介紹其驗(yàn)證環(huán)境.

        該模塊的功能主要是將APB總線協(xié)議輸入的數(shù)據(jù)轉(zhuǎn)換為AHB總線協(xié)議的輸出.待測(cè)模塊與測(cè)試環(huán)境的信號(hào)級(jí)接續(xù)如圖2 所示.

        圖2 待測(cè)模塊與測(cè)試環(huán)境信號(hào)級(jí)連接

        從總線協(xié)議上可以看出,比較重要的事務(wù)級(jí)信息為訪問(wèn)的地址、訪問(wèn)的數(shù)據(jù)以及訪問(wèn)的讀寫(xiě)類(lèi)型.因此,將上述3個(gè)內(nèi)容抽取為事務(wù)級(jí)的成員.

        圖3 為UVM驗(yàn)證環(huán)境結(jié)構(gòu)圖,環(huán)境的driver根據(jù)transaction內(nèi)容,按照APB總線協(xié)議驅(qū)動(dòng)各個(gè)信號(hào),完成信號(hào)級(jí)到事務(wù)級(jí)的轉(zhuǎn)換,待測(cè)模塊根據(jù)輸入進(jìn)行動(dòng)作,monitor根據(jù)AHB總線協(xié)議,監(jiān)視待測(cè)模塊輸出,完成信號(hào)級(jí)到事務(wù)級(jí)的轉(zhuǎn)換.在這個(gè)驗(yàn)證環(huán)境中,由于雙方的事務(wù)級(jí)成員一致,因此,不需要reference model完成特定功能,只需要將i_agent中的transaction送給scoreboard即可,Scoreboard則是直接比對(duì)reference model和o_agent中的transaction內(nèi)容即可.

        圖3 APB to AHB UVM驗(yàn)證環(huán)境結(jié)構(gòu)

        由圖4 APB和AHB仿真波形可以看出,APB側(cè)發(fā)出的向地址0x126b_b099中寫(xiě)入0x0c03_b76a數(shù)據(jù)的訪問(wèn)可以在AHB側(cè)被正確送出.Scoreboard將完成兩邊transaction的比對(duì).圖5 給出了scoreboard中比對(duì)的代碼和正確比對(duì)的信息.當(dāng)transaction不匹配的時(shí)候則會(huì)將兩邊transaction中的member信息打出,以便于進(jìn)一步分析.圖6 為UVM_ERROR,UVM_FATAL等信息,以判斷本次仿真結(jié)果的正確性.

        圖4 APB與AHB協(xié)議波形

        圖5 scoreboard 代碼和比對(duì)信息

        圖6 UVM仿真報(bào)告

        集成電路芯片中,串口協(xié)議使用很多,一般以SPI,I2C,UART等為主[12].這一類(lèi)總線的特點(diǎn)是模塊一側(cè)是串行總線,另一側(cè)是并行總線,可以對(duì)串口數(shù)據(jù)進(jìn)行一次性的讀寫(xiě)訪問(wèn).下面以SPI為例介紹這類(lèi)模塊的驗(yàn)證環(huán)境結(jié)構(gòu).

        圖7 是SPI通信模塊的模塊圖.如前所述,串行數(shù)據(jù)通過(guò)MOSI和MISO進(jìn)行傳輸.并行數(shù)據(jù)通過(guò)Data_in和Data_out進(jìn)行訪問(wèn).

        圖7 SPI模塊系統(tǒng)框圖

        該模塊transaction中的member主要是data和kind,也就是讀寫(xiě)類(lèi)型和數(shù)據(jù).其驗(yàn)證環(huán)境結(jié)構(gòu)和APB to AHB的相似,只是將driver換成SPI協(xié)議,monitor換成相應(yīng)的并口協(xié)議.驗(yàn)證環(huán)境工作時(shí),driver根據(jù)transaction中的kind和data驅(qū)動(dòng)串口數(shù)據(jù),同時(shí)在sequence中控制并口數(shù)據(jù)的讀取或?qū)懭?Reference model功能僅僅是將i_agent中的transaction送給scoreboard.Scoreboard中直接對(duì)比reference model和o_agent中transaction的data和kind即可.

        通過(guò)大量隨機(jī)測(cè)試case結(jié)合UVM仿真報(bào)告結(jié)果判斷被測(cè)模塊功能是否正常,通過(guò)覆蓋率報(bào)告判斷被測(cè)模塊功能是否測(cè)試完全.圖8 為SPI的總體覆蓋率結(jié)果報(bào)告.

        圖8 總體覆蓋率

        3.2 算法類(lèi)模塊

        在數(shù)字電路中根據(jù)電路實(shí)現(xiàn)的功能不同,存在大量的算法模塊.例如圖像處理中的濾波模塊、灰度處理模塊、信號(hào)處理模塊等.這一類(lèi)模塊UVM環(huán)境設(shè)計(jì)重點(diǎn)在reference model和scoreboard上.下面按照其reference model實(shí)現(xiàn)方式分別進(jìn)行介紹.

        3.2.1 C語(yǔ)言實(shí)現(xiàn)reference model

        C語(yǔ)言提供大量的數(shù)學(xué)運(yùn)算函數(shù),當(dāng)被測(cè)模塊是實(shí)現(xiàn)某種算法,且用C語(yǔ)言或systemC比較容易實(shí)現(xiàn)的時(shí)候,Reference model即可考慮用C來(lái)實(shí)現(xiàn).其環(huán)境主要結(jié)構(gòu)如圖9 所示.Reference model用C來(lái)實(shí)現(xiàn),環(huán)境的激勵(lì)通過(guò)driver,以信號(hào)驅(qū)動(dòng)的形式輸入待測(cè)模塊,同時(shí)以DPI調(diào)用的形式輸入給reference model.待測(cè)模塊和reference model根據(jù)輸入進(jìn)行動(dòng)作,分別輸出實(shí)際值文件和期待值文件,scoreboard中主要是對(duì)比兩個(gè)文件,不一致的地方打出NG信息,便于驗(yàn)證者進(jìn)行進(jìn)一步分析.在實(shí)際的驗(yàn)證工作中,一些濾波模塊會(huì)采用這種結(jié)構(gòu).

        圖9 C語(yǔ)言實(shí)現(xiàn)reference model環(huán)境結(jié)構(gòu)

        圖10 為高斯濾波處理模塊的仿真波形,將輸入數(shù)據(jù)din的值150替換成51,輸出數(shù)據(jù)從140左右變?yōu)?24,100,126后再次變?yōu)?52,可見(jiàn)進(jìn)行了平滑處理.待測(cè)模塊的輸出會(huì)寫(xiě)入實(shí)際值文件.

        圖10 高斯濾波處理仿真波形

        import“DPI”function fir(input int data_in,

        outputint data_out);

        驗(yàn)證環(huán)境中寫(xiě)入上述import語(yǔ)句.fir即為用C語(yǔ)言寫(xiě)的高斯濾波模塊做reference model,完成和待測(cè)模塊相同的功能.該函數(shù)根據(jù)輸入數(shù)據(jù)進(jìn)行處理,將數(shù)據(jù)輸出到期待值文件,在driver中通過(guò)直接調(diào)用fir函數(shù)即可.scorboard中直接比對(duì)實(shí)際值文件和目標(biāo)值文件.

        3.2.2 Matlab實(shí)現(xiàn)reference model

        通信芯片中有大量的信號(hào)處理模塊,這些模塊的設(shè)計(jì)在前期往往是通過(guò)Matlab進(jìn)行性能仿真.針對(duì)這一類(lèi)型模塊的驗(yàn)證,往往reference model直接采用Matlab中的仿真數(shù)據(jù)來(lái)替代.其環(huán)境主要結(jié)構(gòu)如圖11 所示.由圖11 可見(jiàn),這類(lèi)驗(yàn)證環(huán)境的輸入即為Matlab仿真中的輸入數(shù)據(jù),driver根據(jù)驅(qū)動(dòng)波形將輸入數(shù)據(jù)輸入到被測(cè)模塊.被測(cè)模塊根據(jù)輸入進(jìn)行動(dòng)作,輸出的數(shù)據(jù)會(huì)存儲(chǔ)到一個(gè)實(shí)際值文件.reference model就是Matlab仿真的輸出文件.Socreboard的功能即為比對(duì)兩個(gè)文件中的數(shù)據(jù).

        圖11 Matlab實(shí)現(xiàn)reference model環(huán)境結(jié)構(gòu)

        在實(shí)際的通信芯片中,峰值變換和數(shù)字失真補(bǔ)正等模塊驗(yàn)證環(huán)境采用上述結(jié)構(gòu)的較多.

        以通信處理芯片中的數(shù)字失真補(bǔ)正模塊為例,該模塊輸入為14 bit的IQ數(shù)據(jù),輸出為處理后的14 bit的IQ數(shù)據(jù).數(shù)字模塊設(shè)計(jì)前,會(huì)使用Matlab進(jìn)行模擬仿真,如圖12 所示,input.data中為Matlab輸入數(shù)據(jù),也作為待測(cè)模塊的輸入數(shù)據(jù).expect.data中為Matlab模擬仿真后的數(shù)據(jù),作為待測(cè)模塊的期待值數(shù)據(jù).UVM環(huán)境中monitor會(huì)收集待測(cè)模塊的輸出,寫(xiě)入obs.data文件中,scoreboard比對(duì)expect.data和obs.data兩個(gè)文件,代碼如圖13 所示.

        圖12 輸入的IQ數(shù)據(jù)和Matlab輸出的IQ數(shù)據(jù)

        圖13 scoreboard比對(duì)IQ數(shù)據(jù)文件代碼

        3.2.3 Verilog實(shí)現(xiàn)reference model

        有些算法的期待值模塊采用Verilog實(shí)現(xiàn)比較合適,這種情況下會(huì)采用Verilog來(lái)實(shí)現(xiàn)reference model.這一類(lèi)被測(cè)模塊的驗(yàn)證環(huán)境采用UVM正常的結(jié)構(gòu),即將reference model用Verilog實(shí)現(xiàn)即可,被測(cè)模塊和reference model根據(jù)driver中輸入的數(shù)據(jù)分別進(jìn)行動(dòng)作,將輸出的信息送到scoreboard中,scoreboard直接比對(duì)兩者過(guò)來(lái)的transaction即可.也可根據(jù)實(shí)際模塊的功能采用對(duì)比文件的形式.實(shí)際驗(yàn)證工作中Power測(cè)量等模塊采用該結(jié)構(gòu)進(jìn)行驗(yàn)證.

        3.3 控制類(lèi)模塊

        在數(shù)字芯片中還有一類(lèi)控制模塊,主要控制數(shù)據(jù)的傳輸,這一類(lèi)模塊的驗(yàn)證環(huán)境重點(diǎn)在transaction和sequence的設(shè)計(jì),下面以DMA(Direct Memory Access)控制器為例,介紹其驗(yàn)證環(huán)境.

        DMA控制器是一種在系統(tǒng)內(nèi)部轉(zhuǎn)移數(shù)據(jù)的獨(dú)特外設(shè),可以將其視為一種能夠通過(guò)一組專(zhuān)用總線將內(nèi)部和外部存儲(chǔ)器與每個(gè)具有DMA能力的外設(shè)連接起來(lái)的控制器.一般每個(gè)控制器有多個(gè)DMA通道,每個(gè)通道都有一組控制寄存器,進(jìn)行DMA傳輸?shù)呐渲?,如?source)地址、目標(biāo)(destination)地址、地址變化形式等.除此以外會(huì)有地址總線和數(shù)據(jù)總線,進(jìn)行對(duì)特定地址的數(shù)據(jù)訪問(wèn).

        根據(jù)DMA的功能特點(diǎn),其驗(yàn)證環(huán)境可以在UVM整體架構(gòu)的基礎(chǔ)上進(jìn)行簡(jiǎn)化,不需要reference module,圖14 是DMA控制器的驗(yàn)證環(huán)境結(jié)構(gòu)圖.驗(yàn)證環(huán)境首先根據(jù)sequence對(duì)待測(cè)模塊進(jìn)行控制寄存器的配置.待配置結(jié)束后,DMA控制器根據(jù)配置信息對(duì)source和destination 分別進(jìn)行訪問(wèn),source和destination由BFM(Bus Function Model)實(shí)現(xiàn).

        圖14 DMA控制器驗(yàn)證環(huán)境

        DMA控制器功能主要是將源地址中的數(shù)據(jù)送入到目標(biāo)地址當(dāng)中,其transaction中member主要是地址、讀寫(xiě)類(lèi)型和數(shù)據(jù),其驗(yàn)證環(huán)境不需要特殊提供reference model.scoreboard中實(shí)例化兩種checker,xact checker用來(lái)比對(duì)地址和讀寫(xiě)類(lèi)型;payload checker 用來(lái)比對(duì)數(shù)據(jù)、比對(duì)信息,如圖15 所示.

        圖15 DMA控制器scoreboard比對(duì)信息

        4 結(jié) 論

        本文針對(duì)數(shù)字芯片中不同功能的驗(yàn)證模塊:總線協(xié)議類(lèi)模塊、算法類(lèi)模塊、控制類(lèi)模塊分別給出其典型的UVM驗(yàn)證環(huán)境結(jié)構(gòu).

        1)總線協(xié)議類(lèi)模塊的reference model主要按照協(xié)議完成transaction的統(tǒng)一處理,scoreboard直接比對(duì)transaction中數(shù)據(jù)即可

        2)算法類(lèi)模塊reference model可以選擇Matlab生成期待值文件、C語(yǔ)言生成和Verilog語(yǔ)言生成3種形式.前兩種scoreboard主要比較文件數(shù)據(jù).后者比對(duì)transaction數(shù)據(jù).

        3)控制類(lèi)模塊不需要reference model,scoreboard細(xì)化為地址和讀寫(xiě)類(lèi)型比對(duì)的xact checker和比對(duì)數(shù)據(jù)的payload checker,在其中直接比對(duì)transaction數(shù)據(jù).

        在驗(yàn)證前期環(huán)境架構(gòu)設(shè)計(jì)階段可以直接選擇相應(yīng)的環(huán)境結(jié)構(gòu),從而節(jié)省系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)時(shí)間.

        猜你喜歡
        環(huán)境結(jié)構(gòu)功能
        也談詩(shī)的“功能”
        長(zhǎng)期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        《形而上學(xué)》△卷的結(jié)構(gòu)和位置
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        論結(jié)構(gòu)
        環(huán)境
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        論《日出》的結(jié)構(gòu)
        創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長(zhǎng)
        aaaaaa级特色特黄的毛片 | 久久精品国语对白黄色| 偷拍综合在线视频二区日韩| 无码爆乳护士让我爽| 亚州终合人妖一区二区三区| 人妻少妇久久久久久97人妻| 永久免费不卡在线观看黄网站| 亚洲无AV码一区二区三区| 日韩女优一区二区在线观看 | 免费看黄a级毛片| 日韩在线看片免费人成视频| 国产小视频一区二区三区| 日本一区二区在线高清| 国产色在线 | 亚洲| 精品久久久久久久久午夜福利| 国产日韩亚洲中文字幕| av天堂手机一区在线| 国产亚洲超级97免费视频| 毛片a级毛片免费观看| 国产欧美日韩网站| 久久久精品免费国产四虎| 日本黄色一区二区三区| 日本男人精品一区二区| 免费久久人人爽人人爽av| 亚洲免费不卡| 亚洲精品国产福利在线观看 | 欧美激情中文字幕在线一区二区| 熟女高潮av一区二区| 暖暖 免费 高清 日本 在线| 精品一区二区久久久久久久网站| 亚洲AV无码日韩综合欧亚| 深夜一区二区三区视频在线观看| 国产精品国产三级国av在线观看 | 99国内精品久久久久久久| 亚洲精品无码高潮喷水在线| 亚洲精品国产不卡在线观看| 中文资源在线一区二区三区av| 一本色道无码不卡在线观看| 亚洲国产日韩精品一区二区三区 | 亚洲中文字幕久久精品无码喷水| 精品丝袜人妻久久久久久|