吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Versal PCIe仿真例子工程介紹

XILINX開發(fā)者社區(qū) ? 來(lái)源:XILINX開發(fā)者社區(qū) ? 作者:Iris Yang ? 2022-06-08 15:30 ? 次閱讀
本文作者:賽靈思工程師 Iris Yang

PCIe 仿真需要Endpoint 模型和Root Port 模型協(xié)同工作。用戶一般可以采用購(gòu)買BFM/VIP 來(lái)模擬對(duì)端模型也可以自己設(shè)計(jì)對(duì)端模型,更簡(jiǎn)便的方法則是使用Xilinx 提供的模型 (Xilinx Root Port model) 。

仿真例子工程介紹

Versal 的PCIe 仿真和VU/VU+ 系列有些不一樣,在endpoint 模式下,會(huì)有兩種類型的example design, 默認(rèn)的例子 是BMD 模式,(以前的器件默認(rèn)的模式是PIO 模式 )在生成IP 后, 可以通過(guò)設(shè)置下面參數(shù)來(lái)切換產(chǎn)生的例子工程。

CONFIG.bmd_pio_mode {false}

用戶仿真的例子一般有兩個(gè)部分:

1. Root Port 模型,這個(gè)是模擬了RP 的產(chǎn)生config 讀寫,讀寫memory 空間并負(fù)責(zé)對(duì)收回來(lái)的數(shù)據(jù)進(jìn)行檢查。

2. Endpoint 用戶代碼部分,負(fù)責(zé)對(duì)收到的請(qǐng)求進(jìn)行回復(fù)并且發(fā)起讀寫,中斷請(qǐng)求。

在不同的測(cè)試間切換:

sample_tests.vh 定義了不同的測(cè)試名字,

sample_smoke_test0:

確認(rèn)device/vender ID,運(yùn)行BMD test (如果是BMD mode)

sample_smoke_test1:

確認(rèn)device/vender ID,確認(rèn)比較completion 數(shù)據(jù)。

pio_writeReadBack_test0 :

RP 模型會(huì)對(duì)每一個(gè)BAR發(fā)起一次寫操作,再發(fā)起一次讀操作,EP 收到后會(huì)發(fā)出CPLD。PR模型會(huì)對(duì)收到的CPLD 進(jìn)行檢查。RP 模型可以往EP 的特定位置寫特定的值使得EP發(fā)起讀寫或者中斷。

如果要在不同的測(cè)試間切換, 可以 TESTNAME 參數(shù),比如:

demo_tb.exe-gui -view wave.wcfg -wdb wave_isim -tclbatch isim_cmd.tcl -testplusarg TESTNAME=sample_smoke_test0

修改仿真例子:

修改提供的 example 代碼可以得到自己想要的測(cè)試。

如果需要修改 Sample_smoke_test0/1 中 ROOT PORT 對(duì)自己的設(shè)置, 可以直接修改 Sample_tests.vh 下面的代碼,比如下面的代碼實(shí)現(xiàn)的是讀取地址1 往地址1里面寫7 再讀出來(lái)的過(guò)程,實(shí)現(xiàn)的是bus master /memory /IO 的使能。請(qǐng)注意這里的地址是DW Address , 也就是這個(gè)地址1 實(shí)際上是地址4 (byte address) 也就是協(xié)議固定的command register。

d5fddd0e-e652-11ec-ba43-dac502259ad0.jpg

可以復(fù)制以上代碼 修改地址數(shù)據(jù)和byte enable 來(lái)實(shí)現(xiàn)對(duì)不同寄存器的操作。

如果需要修改對(duì)于EP側(cè) 配置寄存器的直接控制,可以修改下面的代碼,填入不同的地址實(shí)現(xiàn)不同寄存器的讀寫。

d66f38f0-e652-11ec-ba43-dac502259ad0.jpg

如果使用其他的分支,修改的方式類似。

RP 模型還提供了豐富的功能來(lái)實(shí)現(xiàn)對(duì)PCIe EP 配置空間的操作和memory 的讀寫操作。這些操作大部分都用通過(guò)一些task 在pci_exp_usrapp_tx / pci_exp_usrapp_rx 中實(shí)現(xiàn)。比如下面的 BAR_PROGRAM 任務(wù) 就是把對(duì)BAR 的讀寫以及控制的過(guò)程實(shí)現(xiàn)了一遍。

由于BAR 讀寫是所有memory 請(qǐng)求的基礎(chǔ),大部分的測(cè)試都會(huì)用到,所以一般就可以直接修改這個(gè)task 來(lái)豐富測(cè)試的內(nèi)容。比如可以直接在這個(gè) task 內(nèi)部 ,復(fù)制下面的語(yǔ)句, 把地址修改為自己需要的配置地址來(lái)實(shí)現(xiàn)對(duì)其他配置寄存器的操作。最常見的修改就是修改下面的語(yǔ)句把 32‘h00000003 修改為32‘h00000007 使得 bus master 被打開。這樣 EP 就具備了發(fā)起讀寫操作的能力。需要修改其他寄存器也是一樣的道理, 請(qǐng)注意這里的地址區(qū)別與上面的DW address 而是byte address。(04 表示command register)

d6956ef8-e652-11ec-ba43-dac502259ad0.jpg

其他的修改也是類似。

原文標(biāo)題:開發(fā)者分享|Versal PCIe Example Design 仿真技巧 1

文章出處:【微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122130
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4124

    瀏覽量

    133991
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1260

    瀏覽量

    83186
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    163

    瀏覽量

    7710

原文標(biāo)題:開發(fā)者分享|Versal PCIe Example Design 仿真技巧 1

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCIe 5.0設(shè)計(jì)面臨的挑戰(zhàn)以及仿真案例

    本文主要給大家分享一下PCIe5.0的發(fā)展歷程、以及在設(shè)計(jì)、仿真中一些挑戰(zhàn)和如何進(jìn)行仿真
    的頭像 發(fā)表于 02-03 10:16 ?6187次閱讀
    <b class='flag-5'>PCIe</b> 5.0設(shè)計(jì)面臨的挑戰(zhàn)以及<b class='flag-5'>仿真</b>案例

    是否采用 Versal?為什么升級(jí)到 Versal

    在探討為什么要升級(jí)到 Versal ACAP 時(shí),必須首先認(rèn)識(shí)到所有硬 IP 的價(jià)值,包括存儲(chǔ)控制器、PCIe?、多速率以太網(wǎng)和片上可編程網(wǎng)絡(luò)( NoC )等常用基礎(chǔ)設(shè)施的價(jià)值,它可以減少對(duì)靈活應(yīng)變的引擎或可編程邏輯的路由需求。
    的頭像 發(fā)表于 10-11 11:19 ?2688次閱讀

    PCIe引腳定義和PCIe協(xié)議層介紹

    本文我們將向大家介紹PCIe引腳定義以及PCIe協(xié)議層。
    發(fā)表于 09-26 11:39 ?1.9w次閱讀
    <b class='flag-5'>PCIe</b>引腳定義和<b class='flag-5'>PCIe</b>協(xié)議層<b class='flag-5'>介紹</b>

    AMD Versal系列CIPS IP核建立示例工程

    接著上一篇“AMD Versal系列CIPS IP核介紹”文章來(lái)進(jìn)一步講解如何來(lái)建立CIPS IP核示例工程
    的頭像 發(fā)表于 12-05 13:34 ?731次閱讀
    AMD <b class='flag-5'>Versal</b>系列CIPS IP核建立示例<b class='flag-5'>工程</b>

    【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應(yīng)計(jì)算加速平臺(tái)之 Versal 介紹(2)

    【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應(yīng)計(jì)算加速平臺(tái)之 Versal 介紹,以及Versal 芯片開發(fā)流程的簡(jiǎn)介。
    的頭像 發(fā)表于 03-07 16:03 ?1129次閱讀
    【ALINX 技術(shù)分享】AMD <b class='flag-5'>Versal</b> AI Edge 自適應(yīng)計(jì)算加速平臺(tái)之 <b class='flag-5'>Versal</b> <b class='flag-5'>介紹</b>(2)

    proteus仿真MCS-51的一百個(gè)例子

    proteus仿真MCS-51的一百個(gè)例子
    發(fā)表于 07-28 10:27 ?191次下載
    proteus<b class='flag-5'>仿真</b>MCS-51的一百個(gè)<b class='flag-5'>例子</b>

    PCIE DMA例子

    Xilinx FPGA工程例子源碼:PCIE DMA例子
    發(fā)表于 06-07 14:13 ?52次下載

    利用ORAN IP的例子工程來(lái)做仿真

    PTP的用例都囊括了。該例子工程主要用于做板上demo,具體后續(xù)上板操作方式,以及相關(guān)軟件驅(qū)動(dòng),可以在下面這個(gè)AR里了解到詳情。
    的頭像 發(fā)表于 03-11 09:42 ?1580次閱讀

    仿真例子工程介紹

    如果需要修改 Sample_smoke_test0/1 中 ROOT PORT 對(duì)自己的設(shè)置, 可以直接修改 Sample_tests.vh 下面的代碼,比如下面的代碼實(shí)現(xiàn)的是讀取地址1 往地址1里面寫7 再讀出來(lái)的過(guò)程
    的頭像 發(fā)表于 06-14 11:10 ?918次閱讀

    Versal GTY仿真:初始化,復(fù)位和速率變更

    本篇博文側(cè)重于提供 Versal GTY 仿真示例、演示 GTY 如何解復(fù)位以及如何執(zhí)行速率變更。
    的頭像 發(fā)表于 11-23 10:02 ?1259次閱讀

    Versal CPM AXI Bridge模式的地址轉(zhuǎn)換

    Versal 系列的 DMA axi bridge 模式可以在 PL 的 QDMA IP 或者在 CPM(The integrated block for PCIe Rev. 4.0
    的頭像 發(fā)表于 05-10 09:47 ?1770次閱讀
    <b class='flag-5'>Versal</b> CPM AXI Bridge模式的地址轉(zhuǎn)換

    如何開啟Versal的XilSEM功能

    本文介紹了如何開啟Versal最基本的XilSEM功能。
    的頭像 發(fā)表于 07-07 14:15 ?496次閱讀
    如何開啟<b class='flag-5'>Versal</b>的XilSEM功能

    如何加速PCIe仿真

    ? 我們?cè)谶M(jìn)行PCIe RTL仿真時(shí),由于PCIe ltssm協(xié)商過(guò)程比較復(fù)雜,導(dǎo)致PCIe ltssm進(jìn)入L0狀態(tài)所花費(fèi)的時(shí)間比較長(zhǎng)(大概在20~60分鐘,因代碼復(fù)雜度、服務(wù)器性能、
    的頭像 發(fā)表于 08-17 09:42 ?1551次閱讀
    如何加速<b class='flag-5'>PCIe</b><b class='flag-5'>仿真</b>

    AMD Versal? Adaptive SoC CPM PCIE PIO EP設(shè)計(jì)CED示例

    本文可讓開發(fā)者們看懂 AMD Vivado Design Tool 2023.2 中的“AMD Versal Adaptive SoC CPM PCIE PIO EP 設(shè)計(jì)”CED 示例。?
    的頭像 發(fā)表于 05-10 09:39 ?653次閱讀
    AMD <b class='flag-5'>Versal</b>? Adaptive SoC CPM <b class='flag-5'>PCIE</b> PIO EP設(shè)計(jì)CED示例

    AMD Versal自適應(yīng)SoC CPM5 QDMA的Tandem PCIe啟動(dòng)流程介紹

    本文將從硬件設(shè)計(jì)和驅(qū)動(dòng)使用兩個(gè)方面介紹基于 CPM5 QDMA 的 AMD Versal 自適應(yīng) SoC 的 Tandem 設(shè)計(jì)和啟動(dòng)流程。
    的頭像 發(fā)表于 09-18 10:07 ?656次閱讀
    AMD <b class='flag-5'>Versal</b>自適應(yīng)SoC CPM5 QDMA的Tandem <b class='flag-5'>PCIe</b>啟動(dòng)流程<b class='flag-5'>介紹</b>
    七乐百家乐现金网| 百家乐官网扑克片礼服| 大发百家乐现金| 哪个百家乐官网最好| 利来百家乐的玩法技巧和规则| 皇室百家乐官网的玩法技巧和规则| 盈丰娱乐| 百家乐评级导航| 大发888注册步骤| 百家乐开放词典新浪| 百家乐官网是怎样的| 电子百家乐假在线哪| 百家乐官网龙虎的投注法| 大发888娱乐场怎么才能赢到钱| 百家乐官网网络娱乐场开户注册| 大发888娱乐场网址| 网上百家乐哪家最好| E乐博百家乐官网娱乐城| 大发888网页版官网| 百家乐推饼| 灵武市| 如何看百家乐的玩法技巧和规则| 百家乐官网双筹码怎么出千| 溆浦县| 福布斯百家乐的玩法技巧和规则 | 广平县| 将军百家乐的玩法技巧和规则| 百家乐官网真人荷官网| 亚斯博彩网| 最新百家乐的玩法技巧和规则| 正品百家乐官网玩法| 澳门百家乐官网打法精华| 大发888娱乐场下载zhidu| 星港城百家乐娱乐城| 沙龙百家乐官网赌场娱乐网规则| 网上百家乐官网靠谱吗| 太阳城网上投注| 威尼斯人娱乐网上百家乐| 百家乐十赌九诈| 正品百家乐官网的玩法技巧和规则 | 足球改单平|