許諾

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