當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本平臺(tái)就是為驗(yàn)證RTE MAC芯片而搭建的。平臺(tái)采用OpenVera語(yǔ)言,基于事務(wù)級(jí)建立。

引言
    當(dāng)芯片的設(shè)計(jì)規(guī)模越來(lái)越大,朝向SoC發(fā)展時(shí),RTL級(jí)功能仿真時(shí)間還可以忍受,但門(mén)級(jí)仿真己經(jīng)成為不可能繼續(xù)廣泛使用的技術(shù)了。對(duì)設(shè)計(jì)進(jìn)行完備性驗(yàn)證要求有足夠的測(cè)試向量,隨著設(shè)計(jì)規(guī)模的增大,需要的仿真向量也急劇增加。近十年來(lái),芯片的設(shè)計(jì)規(guī)模增大了100倍,仿真向量增加了近10000倍。二者的共同作用使門(mén)級(jí)仿真所需的時(shí)間飛速增長(zhǎng)。要找到如此龐大的能夠保證驗(yàn)證完備性的仿真向量集也變得不太可能。

    另一方面,芯片設(shè)計(jì)又面臨著上市時(shí)間的巨大壓力,驗(yàn)證的不足直接導(dǎo)致芯片不能通過(guò)測(cè)試,由此可能造成更大的損失。驗(yàn)證,尤其是功能驗(yàn)證必將影響集成電路的設(shè)計(jì)和開(kāi)發(fā)進(jìn)程。因此,縮短驗(yàn)證時(shí)間、建立高效的驗(yàn)證平臺(tái)已成為現(xiàn)代集成電路設(shè)計(jì)的關(guān)鍵。

基于OpenVera驗(yàn)證平臺(tái)的結(jié)構(gòu)
    實(shí)時(shí)以太網(wǎng)RTE MAC芯片是符合IEEE802.3(CSMA/CD)協(xié)議和IEEE1588精確時(shí)間同步協(xié)議的網(wǎng)絡(luò)通信控制器。它不僅兼容商用以太網(wǎng)的功能,還增加了特殊工業(yè)網(wǎng)絡(luò)中所必須的實(shí)時(shí)特性,將應(yīng)用于高速工業(yè)以太網(wǎng),以滿足工業(yè)以太網(wǎng)的實(shí)時(shí)要求。

740)this.width=740" border=undefined>
圖1 驗(yàn)證平臺(tái)的發(fā)送部分架構(gòu)

    本平臺(tái)就是為驗(yàn)證RTE MAC芯片而搭建的。平臺(tái)采用OpenVera語(yǔ)言,基于事務(wù)級(jí)建立。驗(yàn)證平臺(tái)發(fā)送部分的架構(gòu)如圖1所示,接收部分結(jié)構(gòu)與此類似。它包括下面幾個(gè)部分:
1) 調(diào)度:調(diào)度是整個(gè)平臺(tái)的頂層,用于協(xié)調(diào)各個(gè)模塊的工作。
2) DUV(design under verification):待驗(yàn)證的芯片,除此以外都是用OpenVera語(yǔ)言編寫(xiě)的測(cè)試軟件模塊。
3) 測(cè)試事例:驗(yàn)證中針對(duì)具體功能而采用不同的測(cè)試事例,這里采用帶約束的隨機(jī)驗(yàn)證方式,通過(guò)對(duì)它的約束產(chǎn)生各種測(cè)試事例。
4) Frame_gen:將測(cè)試事例按照CPU總線側(cè)的幀格式組成數(shù)據(jù)幀通過(guò)BFM輸出到芯片。
5) Monitor:監(jiān)視器,包括Bus_ Monitor和Ethernet_ Monitor。其中Bus_ Monitor監(jiān)測(cè)總線的行為,可以監(jiān)視存儲(chǔ)器讀寫(xiě),芯片的數(shù)據(jù)處理等事務(wù);Ethernet_ Monitor可以監(jiān)視輸出有效、沖突、載波等網(wǎng)路信息。
6) Check_table:根據(jù)BFM側(cè)監(jiān)視器檢測(cè)的數(shù)據(jù)以及相應(yīng)的配置,將理想DUV的輸出存儲(chǔ)在數(shù)組中,check模塊可以把Check_table內(nèi)的數(shù)據(jù)與DUV輸出進(jìn)行對(duì)照,實(shí)現(xiàn)自動(dòng)檢測(cè)。
7) BFM:總線功能模型,用于模擬總線功能,驅(qū)動(dòng)DUV。

OpenVera驗(yàn)證平臺(tái)的建立方法及特點(diǎn)
    該平臺(tái)基于事務(wù)級(jí)驗(yàn)證,采用專門(mén)的驗(yàn)證語(yǔ)言編寫(xiě),具有高度的可重用性、靈活性,體現(xiàn)著現(xiàn)代電路設(shè)計(jì)中驗(yàn)證的發(fā)展潮流,下面將結(jié)合此平臺(tái)介紹現(xiàn)代驗(yàn)證的特點(diǎn)和趨勢(shì)。

驗(yàn)證與設(shè)計(jì)并行
    傳統(tǒng)的設(shè)計(jì)首先進(jìn)行設(shè)計(jì)的開(kāi)發(fā),完成RTL代碼的編寫(xiě)后再進(jìn)行驗(yàn)證,整個(gè)產(chǎn)品開(kāi)發(fā)時(shí)間接近于設(shè)計(jì)加上驗(yàn)證的時(shí)間。而對(duì)于現(xiàn)在的項(xiàng)目開(kāi)發(fā),在根據(jù)具體的設(shè)計(jì)要求定義功能,并給出初步的設(shè)計(jì)文檔之后,就可以根據(jù)這些功能定義同時(shí)進(jìn)行設(shè)計(jì)開(kāi)發(fā)和驗(yàn)證平臺(tái)的搭建。這一階段中驗(yàn)證平臺(tái)的搭建主要是建模,因此需要引入高級(jí)驗(yàn)證語(yǔ)言。高級(jí)驗(yàn)證語(yǔ)言是芯片設(shè)計(jì)復(fù)雜度達(dá)到一定程度后的必然產(chǎn)物,如OpenVera ,SystemC ,System Verilog,都具有強(qiáng)大的建模功能。就OpenVera而言,它引入C++中類的概念,是一種面向?qū)ο蟮木幊蹋⒂袕?qiáng)大的函數(shù)功能支持,不僅使得驗(yàn)證與設(shè)計(jì)并行成為可能,還能加快驗(yàn)證平臺(tái)的建立。

740)this.width=740" border=undefined>
圖2 總線的驅(qū)動(dòng)時(shí)序

基于事務(wù)級(jí)的驗(yàn)證方法
    以往的驗(yàn)證基于信號(hào)級(jí),一個(gè)復(fù)雜芯片的信號(hào)數(shù)目非常多,包括大量的外部信號(hào)和內(nèi)部信號(hào),想要對(duì)它進(jìn)行完整詳細(xì)的驗(yàn)證,需要耗費(fèi)很多的精力和時(shí)間,嚴(yán)重影響設(shè)計(jì)周期。基于事務(wù)的驗(yàn)證方法可以在一個(gè)更高的層次上進(jìn)行驗(yàn)證,顯著地減輕了測(cè)試工作,并有助于統(tǒng)計(jì)測(cè)試覆蓋率。事務(wù)是一次性完成的一組操作或信號(hào)變化,在一個(gè)抽象概念上包括信號(hào)的傳送,數(shù)據(jù)的處理、變化,系統(tǒng)的狀態(tài)等。事務(wù)的概念很寬,可以簡(jiǎn)單到存儲(chǔ)器的讀寫(xiě),復(fù)雜到很多數(shù)據(jù)的處理與傳輸。事務(wù)也可以由多個(gè)操作、多個(gè)時(shí)鐘周期組成。

    當(dāng)一個(gè)設(shè)計(jì)在信號(hào)層經(jīng)常要關(guān)注那些1或0時(shí),設(shè)計(jì)者可以借助基于事務(wù)的方法很方便快捷地創(chuàng)建測(cè)試方法。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員可以不用費(fèi)心去思考那些使能信號(hào)、地址總線等細(xì)節(jié), 而是更多的關(guān)注數(shù)據(jù)的流向、處理、存儲(chǔ),以及電路的狀態(tài)和動(dòng)作等這類事務(wù)。基于事務(wù)的驗(yàn)證方法可以說(shuō)是自然驗(yàn)證方法在設(shè)計(jì)更高抽象層的一種擴(kuò)展,它也有利于平臺(tái)的可重用性。

740)this.width=740" border=undefined>
圖3 將發(fā)送數(shù)據(jù)寫(xiě)入片內(nèi)RAM

驗(yàn)證平臺(tái)的重用性
    具有重用性的驗(yàn)證既可以被有相同特性的芯片所重用,比如當(dāng)不同芯片基于同樣的總線時(shí),總線的BFM以及監(jiān)視器就可以重用在不同的設(shè)計(jì)里。很多公司也有自己的成型驗(yàn)證庫(kù),如Synopsys提供的DesignWare VIP就是一種。另外,具有重用性的驗(yàn)證也可以在同一設(shè)計(jì)中被不同的測(cè)試事例所重用,本設(shè)計(jì)中的Frame_gen就是這樣的模塊。搭建可重用的平臺(tái)最重要的是各個(gè)部件相互獨(dú)立,并有層次性。下面對(duì)本平臺(tái)的BFM和監(jiān)視器這兩大關(guān)鍵的可重用部件加以說(shuō)明。

BFM
    總線功能模型構(gòu)建于較高的抽象層次,是總線功能的一種抽象描述,在基于特定總  線的基礎(chǔ)上,為底層的各種總線操作建立直接同信號(hào)相聯(lián)系的模塊。這些模塊可以用函數(shù)的形式出現(xiàn),這些函數(shù)的組合可以用來(lái)實(shí)現(xiàn)總線的功能,這就是總線功能模型。可見(jiàn),它的作用是提供給上層測(cè)試激勵(lì)一個(gè)任務(wù)接口,而對(duì)底層的DUT,它提供具體的時(shí)序,完成從高層函數(shù)到具體帶時(shí)序功能的轉(zhuǎn)換。在設(shè)計(jì)測(cè)試激勵(lì)的時(shí)候,可以通過(guò)簡(jiǎn)單地調(diào)用總線功能模型提供的任務(wù)以及函數(shù)對(duì)DUT進(jìn)行驅(qū)動(dòng)。

740)this.width=740" border=undefined>
圖4 發(fā)送開(kāi)始

    在本驗(yàn)證任務(wù)中,只對(duì)單個(gè)芯片進(jìn)行驗(yàn)證,只需要對(duì)總線進(jìn)行讀寫(xiě),可以完全采用任務(wù)的形式實(shí)現(xiàn)。BFM的程序中有一個(gè)cpu_port.vrh端口文件,是程序與芯片接口的文件之一,OpenVera通過(guò)它對(duì)DUV施加激勵(lì)。驅(qū)動(dòng)任務(wù)可以用類封裝起來(lái)(這里是基于任務(wù)的BFM),這些任務(wù)模擬總線的功能,通過(guò)對(duì)類內(nèi)任務(wù)調(diào)用可實(shí)現(xiàn)對(duì)DUV施加激勵(lì)。

    在平臺(tái)運(yùn)行時(shí)可以例化這個(gè)類,并調(diào)用其任務(wù),調(diào)用BFM任務(wù)實(shí)現(xiàn)對(duì)DUV驅(qū)動(dòng)時(shí)的時(shí)序如圖2所示。圖中示出intel186寫(xiě)周期的時(shí)序(wr為寫(xiě)信號(hào),低電壓有效,s_clk為時(shí)鐘,ALE為地址鎖存信號(hào),data_addr為數(shù)據(jù)地址線),實(shí)現(xiàn)總線向芯片寫(xiě)數(shù)據(jù)的功能。采用Vera與VCS工具,數(shù)據(jù)與地址總線分時(shí)復(fù)用值為0xffff 的部分是數(shù)據(jù),0x0001與0x0002是寫(xiě)操作的地址。

監(jiān)視器
    本設(shè)計(jì)中有兩個(gè)監(jiān)視器,它的可重用性是提高驗(yàn)證效率的重要原因,需要遵循一些基本的設(shè)計(jì)規(guī)則。首先,1個(gè)監(jiān)視器只監(jiān)視1個(gè)接口,這樣具有更大的靈活性,需要重用時(shí)可以不進(jìn)行任何修改直接使用。 如果監(jiān)視器要監(jiān)視多個(gè)接口,當(dāng)1個(gè)接口發(fā)生改變時(shí)就需要修改監(jiān)視器,這不符合重用性的要求。其次,監(jiān)視器可以被建立和取消。 在SoC設(shè)計(jì)中經(jīng)常有復(fù)用I/O 的存在,隨著I/O功能的不同,可能要使用不同的監(jiān)視器來(lái)監(jiān)控,需要通過(guò)SoC設(shè)置的改變來(lái)進(jìn)行選擇。一般來(lái)說(shuō),可以在監(jiān)視器代碼中添加一個(gè)參數(shù)開(kāi)關(guān)來(lái)滿足這個(gè)要求,在OpenVera中只需在調(diào)度中控制。最后還需要注意的是,監(jiān)視器不能受其它設(shè)計(jì)或測(cè)試模塊影響, 其它模塊代碼如激勵(lì)驅(qū)動(dòng)、運(yùn)行環(huán)境或待測(cè)IP 的可配置寄存器的變化不能影響監(jiān)視器工作。

隨機(jī)測(cè)試

    隨機(jī)測(cè)試是必不可少的。因?yàn)閷?duì)于一個(gè)系統(tǒng)而言,若期望使用直接測(cè)試激勵(lì)來(lái)覆蓋所有功能的測(cè)試,工作量是巨大的;對(duì)于模塊間交互工作的邊界情況的測(cè)試,使用直接測(cè)試激勵(lì)也力不從心。所以,相對(duì)于直接激勵(lì)測(cè)試而言,隨機(jī)測(cè)試的目的在于試圖花費(fèi)較少的代價(jià)找出在某些極端情況或偶然巧合下才出現(xiàn)的設(shè)計(jì)錯(cuò)誤。隨機(jī)是帶約束的隨機(jī),它比完全的隨機(jī)測(cè)試更有針對(duì)性。對(duì)隨機(jī)的控制可以在類內(nèi)部建立constraint模塊進(jìn)行隨機(jī)約束,也可以調(diào)用類的對(duì)象randomize()函數(shù),用with{}進(jìn)行約束。以以太網(wǎng)幀為例,“ frame.randomize() with{data_length<100};”產(chǎn)生的隨機(jī)數(shù)據(jù)長(zhǎng)度限定在100字節(jié)以內(nèi)。另外,在隨機(jī)測(cè)試中,功能覆蓋率顯得尤為重要,它是隨機(jī)測(cè)試是否完成的標(biāo)準(zhǔn)。采用專門(mén)的語(yǔ)言和事務(wù)級(jí)的驗(yàn)證,以及監(jiān)視器的監(jiān)視,能使統(tǒng)計(jì)功能覆蓋率變得很容易。比如檢測(cè)是否激勵(lì)經(jīng)過(guò)了所有類別的幀,如超長(zhǎng)幀、短幀、地址不匹配幀等。

平臺(tái)靈活性和獨(dú)立性
     靈活的驗(yàn)證平臺(tái)會(huì)大大提高驗(yàn)證的效率。重用性在實(shí)現(xiàn)復(fù)雜功能的情況下,還要具有獨(dú)立性。從另一個(gè)角度看,獨(dú)立性也可以帶來(lái)平臺(tái)的靈活性。本文平臺(tái)中的配置模塊和軟件提供給check模塊特定的通道,從而在不影響其它模塊的情況下達(dá)到了最大的靈活性。自動(dòng)檢測(cè)通過(guò)兩側(cè)監(jiān)視器監(jiān)視的事務(wù),根據(jù)配置進(jìn)行對(duì)照,然后產(chǎn)生錯(cuò)誤提示,給出出錯(cuò)的相關(guān)信息,這使得驗(yàn)證人員可以根據(jù)錯(cuò)誤報(bào)告準(zhǔn)確定位錯(cuò)誤發(fā)生地點(diǎn)。這些就是現(xiàn)代驗(yàn)證的一個(gè)趨勢(shì)。

實(shí)驗(yàn)結(jié)果
    本平臺(tái)在UNIX工作站采用Synopsys的驗(yàn)證開(kāi)發(fā)環(huán)境,設(shè)計(jì)語(yǔ)言采用OpenVera,應(yīng)用Vera和VCS仿真工具。發(fā)送部分波形如圖3和圖4所示,芯片有8k的片內(nèi)RAM,首先把發(fā)送數(shù)據(jù)寫(xiě)入RAM,當(dāng)RAM中有數(shù)據(jù)或數(shù)據(jù)寫(xiě)完后再進(jìn)行發(fā)送。

    如圖,從15100ns開(kāi)始向片內(nèi)RAM寫(xiě)入發(fā)送數(shù)據(jù);從27220ns開(kāi)始啟動(dòng)發(fā)送數(shù)據(jù)并添加前導(dǎo)(premable)、前定界(sfd)、校驗(yàn)碼(fcs)。

結(jié)語(yǔ)
     本文中所討論的驗(yàn)證平臺(tái)已在具體項(xiàng)目中得到應(yīng)用,該結(jié)構(gòu)在很大程度上提高了可重用性、靈活性和驗(yàn)證的自動(dòng)化程度。使用該驗(yàn)證平臺(tái), 能夠極大地提高驗(yàn)證平臺(tái)開(kāi)發(fā)效率,也加速了設(shè)計(jì)的最終實(shí)現(xiàn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉