目前的 ORAN IP提供兩種例子工程:
1. 一個是新建Block Design,添加IP之后,通過運行Block Automation來產生一個例子。這個例子不僅包含了ORAN IP,也將物理層所需要的10G/25G以太網IP和一個1588 PTP的用例都囊括了。該例子工程主要用于做板上demo,具體后續上板操作方式,以及相關軟件驅動,可以在下面這個AR里了解到詳情:
https://support.xilinx.com/s/article/1254509
2. 另一個方式是直接從IP Catalog里添加一個新的ORAN IP到Vivado工程里面,然后右鍵點擊這個IP,選擇Open IP Example Design…,這樣產生的例子工程,只包含了一個ORAN IP,沒有以太網等。但是其在ORAN IP外添加了testbench和測試用例,因此這個例子工程可以用來跑仿真。產生完畢之后,直接點擊Vivado里面的Run Behavioral Simulation,就能把仿真跑起來,并查看例子是如何完成ORAN的同步,以及收發數據。
接下來,本文將指導用戶,如何使用第二種方式產生的例子工程,添加自己的數據激勵,用于完成自己所需要的仿真驗證。
首先,用戶的測試數據激勵,是來自物理層以太網的數據包,一般會用pcap文件(如果還沒有的話,可以先搜索例子工程目錄下面,有幾個pcap文件的例子,供參考)。使用Wireshark打開pcap文件(注意選ORAN協議),就可以看到包里面具體數據的解析了,如下圖:
而IP仿真例子工程里用的數據激勵則來自于memory文件,如下圖,找到對應目錄下的文件,客戶可以手動或者自己寫個腳本,修改里面數據為自己的數據激勵(比如先從Wireshark里導出一個JSON的數據文件),就可以拿例子工程仿真來仿自己的數據源了。
Memory文件里面的數據激勵,按如下格式排列:
在每個以太網包開始之前有兩行:
第一行是包開始的時間,
第二行是包長度,下圖中的這個例子,就是IP例子工程提供的數據激勵用例,第一個包長度為6e,即長度為110 bytes。
這樣在仿真的時候,就可以在以太網的RX側到ORAN的defm這個接口處,看到上面這些數據了,如下圖:
例子仿真工程當中,其它用戶還需要修改的地方,有以下兩處:
1. 按照用戶需求,配置ORAN的寄存器,打開“demo_tb.v”進行修改。
a. 可以直接修改下面這段tb里的配置,也可以先注釋掉下面這段配置。
b. 然后用exdes_axi_wr來將你需要配置的寄存器值依次寫入,如下:
exdes_axi_wr(`IP_BASE_ADDR + `hE600 , `hxxxx );
exdes_axi_wr(`IP_BASE_ADDR + `hE608 , `hx );
exdes_axi_wr(`IP_BASE_ADDR + `h6110 , `hx );
2. 由于產生的這個例子工程,總是用的200MHz內部時鐘。還可以修改時鐘頻率為用戶實際設計里的時鐘頻率。
由于時鐘用到的地方不少,需要修改的地方包括例子工程里面的以下幾處:
a. ORAN IP產生的圖形界面里面
b. IP “torwave”的產生圖形界面里面,包括Clocks For 10ms,1ms,Ps Per Clock
c. Clocking Wizard的clk_out2輸出
d. 還有“radio_start_recover”,如果用到的話
e. 以及demo_tb.v里的clk_in_ps
總之,經過以上的修改,用戶就可以利用ORAN IP提供的例子工程,跑自己的數據激勵仿真了。這樣用戶就可以驗證IP的配置,針對自己的ORAN下行(以太網接口)數據,是否能正確工作起來。
-
驅動
+關注
關注
12文章
1851瀏覽量
85647 -
IP
+關注
關注
5文章
1718瀏覽量
149969 -
仿真
+關注
關注
50文章
4124瀏覽量
133998
原文標題:開發者分享|如何利用 ORAN IP 的例子工程做仿真
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論