PCIe 仿真需要Endpoint 模型和Root Port 模型協同工作。用戶一般可以采用購買BFM/VIP 來模擬對端模型也可以自己設計對端模型,更簡便的方法則是使用Xilinx 提供的模型 (Xilinx Root Port model) 。
仿真例子工程介紹:
Versal 的PCIe 仿真和VU/VU+ 系列有些不一樣,在endpoint 模式下,會有兩種類型的example design, 默認的例子 是BMD 模式,(以前的器件默認的模式是PIO 模式 )在生成IP 后, 可以通過設置下面參數來切換產生的例子工程。
CONFIG.bmd_pio_mode {false}
用戶仿真的例子一般有兩個部分:
1. Root Port 模型,這個是模擬了RP 的產生config 讀寫,讀寫memory 空間并負責對收回來的數據進行檢查。
2. Endpoint 用戶代碼部分,負責對收到的請求進行回復并且發起讀寫,中斷請求。
在不同的測試間切換:
sample_tests.vh 定義了不同的測試名字,
sample_smoke_test0:
確認device/vender ID,運行BMD test (如果是BMD mode)
sample_smoke_test1:
確認device/vender ID,確認比較completion 數據。
RP 模型會對每一個BAR發起一次寫操作,再發起一次讀操作,EP 收到后會發出CPLD。PR模型會對收到的CPLD 進行檢查。RP 模型可以往EP 的特定位置寫特定的值使得EP發起讀寫或者中斷。
如果要在不同的測試間切換, 可以 TESTNAME 參數,比如:
demo_tb.exe-gui -view wave.wcfg -wdb wave_isim -tclbatch isim_cmd.tcl -testplusarg TESTNAME=sample_smoke_test0
修改仿真例子:
修改提供的 example 代碼可以得到自己想要的測試。
如果需要修改 Sample_smoke_test0/1 中 ROOT PORT 對自己的設置, 可以直接修改 Sample_tests.vh 下面的代碼,比如下面的代碼實現的是讀取地址1 往地址1里面寫7 再讀出來的過程,實現的是bus master /memory /IO 的使能。請注意這里的地址是DW Address , 也就是這個地址1 實際上是地址4 (byte address) 也就是協議固定的command register。

可以復制以上代碼 修改地址數據和byte enable 來實現對不同寄存器的操作。
如果需要修改對于EP側 配置寄存器的直接控制,可以修改下面的代碼,填入不同的地址實現不同寄存器的讀寫。

如果使用其他的分支,修改的方式類似。
RP 模型還提供了豐富的功能來實現對PCIe EP 配置空間的操作和memory 的讀寫操作。這些操作大部分都用通過一些task 在pci_exp_usrapp_tx / pci_exp_usrapp_rx 中實現。比如下面的 BAR_PROGRAM 任務 就是把對BAR 的讀寫以及控制的過程實現了一遍。
由于BAR 讀寫是所有memory 請求的基礎,大部分的測試都會用到,所以一般就可以直接修改這個task 來豐富測試的內容。比如可以直接在這個 task 內部 ,復制下面的語句, 把地址修改為自己需要的配置地址來實現對其他配置寄存器的操作。最常見的修改就是修改下面的語句把 32‘h00000003 修改為32‘h00000007 使得 bus master 被打開。這樣 EP 就具備了發起讀寫操作的能力。需要修改其他寄存器也是一樣的道理, 請注意這里的地址區別與上面的DW address 而是byte address。(04 表示command register)

其他的修改也是類似。
-
仿真
+關注
關注
52文章
4289瀏覽量
135884 -
PCIe
+關注
關注
16文章
1342瀏覽量
85176
原文標題:開發者分享|Versal PCIe Example Design 仿真技巧 1
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
MATLAB電機仿真精華50例【干貨】
水動力仿真軟件:國產可控,助力水利行業“四預”工程

下載了ADS1292R演示套件的例子,安裝了官方CCS最新的集成開發環境,編譯ADS1292R的例子報錯了,為什么?
EasyGo 實時仿真丨DC-AC-MMC 實時仿真應用
【產品介紹】Simcenter Amesim系統仿真軟件

Simcenter Flomaster熱流體仿真軟件

這些電源常用仿真軟件,你都知道嗎?

法動科技系統級電路仿真設計平臺FDSPICE介紹

評論