許諾
摘 要:目前嵌入式系統(tǒng)的流行,使得SOC的設(shè)計(jì)在業(yè)界越來(lái)越多,而且于此帶來(lái)的驗(yàn)證挑戰(zhàn)也越來(lái)越大,本文描述了一種基于AXI4.0總線接口的以太網(wǎng)IP設(shè)計(jì)和驗(yàn)證環(huán)境。
關(guān)鍵詞:UVM AXI4.0 千兆網(wǎng)絡(luò)適配器;嵌入式系統(tǒng);以太網(wǎng)IP設(shè)計(jì)
1 設(shè)計(jì)框圖和功能介紹
本設(shè)計(jì)功能見(jiàn)圖1。
媒介訪問(wèn)控制器:主要實(shí)現(xiàn)GMII接口數(shù)據(jù)的協(xié)議檢查、封裝和解封裝等,并對(duì)接收到的數(shù)據(jù)進(jìn)行完整性檢查,對(duì)發(fā)送的數(shù)據(jù)包添加校驗(yàn)碼。
包處理器:實(shí)現(xiàn)了本設(shè)計(jì)中絕大部分的關(guān)于數(shù)據(jù)包的處理,接收端的數(shù)據(jù)包解析和匹配,IP數(shù)據(jù)包的校驗(yàn)碼解析和檢查,TCP/UDP數(shù)據(jù)報(bào)的報(bào)文解析,校驗(yàn)碼計(jì)算和檢查等。發(fā)送端實(shí)現(xiàn)了TCP數(shù)據(jù)包的大包分片,TCP和IP校驗(yàn)碼的計(jì)算, VLAN的插入和替換。
DMA引擎:為了降低CPU處理網(wǎng)絡(luò)數(shù)據(jù)的負(fù)載,除了在數(shù)據(jù)包處理部分硬件卸載了很多CPU的操作,本設(shè)計(jì)還具有自帶DMA功能,此DMA可以節(jié)約SOC設(shè)計(jì)中額外的DMA引擎,大大節(jié)約硬件資源。
AXI控制器:AXI接口控制器根據(jù)收到的DMA讀寫(xiě)請(qǐng)求,轉(zhuǎn)換成AXI 4.0總線的讀地址、讀數(shù)據(jù)、寫(xiě)地址、寫(xiě)數(shù)據(jù)和寫(xiě)應(yīng)答操作。
2 驗(yàn)證平臺(tái)介紹
2.1 UVM通用驗(yàn)證架構(gòu)介紹
UVC的驗(yàn)證架構(gòu)主要由driver,monitor和sequencer組成。
2.2 總體驗(yàn)證平臺(tái)的架構(gòu)(圖2)
本設(shè)計(jì)的驗(yàn)證環(huán)境見(jiàn)圖 2所示,本驗(yàn)證環(huán)境由以太網(wǎng)UVC,AXI 接口UVC,APB接口UVC,設(shè)計(jì)的參考模型和數(shù)據(jù)處理結(jié)果檢查器組成。
以太網(wǎng)UVC:用于驅(qū)動(dòng)DUT的gmac輸入端,并收集接收到的和發(fā)送出去的數(shù)據(jù),分別送參考模型和檢查器中。
AXI 接口UVC:用于驅(qū)動(dòng)AXI接口信號(hào),將各種以太網(wǎng)數(shù)據(jù)包轉(zhuǎn)化成AXI4.0接口的時(shí)序并驅(qū)動(dòng)給DUT,同時(shí),收集發(fā)送出去的以太網(wǎng)數(shù)據(jù)包,送至參考模型中處理。
APB接口UVC:用于將所有對(duì)DUT的寄存器配置轉(zhuǎn)化成DUT的寄存器接口時(shí)序,并驅(qū)動(dòng)。
設(shè)計(jì)參考模型:本設(shè)計(jì)參考模型由接收端處理模型和發(fā)送端處理模型,以及寄存器模型組成。從Gmac接收的數(shù)據(jù)包,經(jīng)過(guò)參考模型的處理,送至檢查器。AXI端發(fā)送出來(lái)的數(shù)據(jù)包,也經(jīng)過(guò)參考模型的處理,送至檢查器。
檢查器:用于檢查接收端和發(fā)送端的數(shù)據(jù),經(jīng)過(guò)參考模型處理后,是否和DUT處理的結(jié)果一致。
Virtual Sequencer:用于調(diào)度各個(gè)UVC,分別按照驗(yàn)證的要求發(fā)送到對(duì)應(yīng)UVC。
2.3上層集成的方法
本驗(yàn)證環(huán)境采用標(biāo)準(zhǔn)的UVM方法學(xué)推薦的方法,將每個(gè)接口的UVC分別開(kāi)發(fā),并最終集成到設(shè)計(jì)的頂層驗(yàn)證環(huán)境中。通過(guò)用虛擬sequencer來(lái)調(diào)度和發(fā)送各個(gè)不同UVC的sequence,來(lái)達(dá)到不同的測(cè)試用例的數(shù)據(jù)包發(fā)送。通過(guò)將參考模型和檢查器分開(kāi),細(xì)分模塊的功能,易于多人并行開(kāi)發(fā)。最終整個(gè)頂層的驗(yàn)證環(huán)境集成全部的UVC,虛擬sequencer,參考模型和檢查器。對(duì)于IP的使用者,只需要將IP的驗(yàn)證環(huán)境頂層實(shí)例化到上層的驗(yàn)證環(huán)境中去,可以集成IP的驗(yàn)證環(huán)境,并且可以重復(fù)利用開(kāi)發(fā)好的sequence,用于做更高層的測(cè)試。
3 總結(jié)
本設(shè)計(jì)適用于基于AXI 4.0接口協(xié)議兼容的網(wǎng)絡(luò)適配器,支持多種CPU卸載功能,極大的降低了CPU在處理網(wǎng)絡(luò)數(shù)據(jù)的負(fù)載,讓CPU有更多的時(shí)間和資源去處理其他數(shù)據(jù)。
驗(yàn)證環(huán)境采用目前業(yè)界最流行的SV驗(yàn)證語(yǔ)言和UVM的平臺(tái)框架,UVM的便利性和易于集成性,使得本驗(yàn)證環(huán)境能夠非常容易的被更高級(jí)別的驗(yàn)證環(huán)境所集成,極大的減少高層驗(yàn)證的工作量和時(shí)間,縮短產(chǎn)品研發(fā)周期。
參考文獻(xiàn):
[1]張軍,常國(guó)鋒.基于UVM的高效SOC驗(yàn)證環(huán)境[J].科技通報(bào),第28卷第12期2012年12.