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

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

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

仿真例子工程介紹

FPGA技術(shù)江湖 ? 來源:FPGA技術(shù)江湖 ? 作者:賽靈思工程師 Ir ? 2022-06-14 11:10 ? 次閱讀

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

仿真例子工程介紹

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

CONFIG.bmd_pio_mode {false}

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

1. Root Port 模型,這個(gè)是模擬了RP 的產(chǎn)生config 讀寫,讀寫memory 空間并負(fù)責(zé)對(duì)收回來的數(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 再讀出來的過程,實(shí)現(xiàn)的是bus master /memory /IO 的使能。請(qǐng)注意這里的地址是DW Address , 也就是這個(gè)地址1 實(shí)際上是地址4 (byte address) 也就是協(xié)議固定的command register。

e4bee6b2-eb6b-11ec-ba43-dac502259ad0.jpg

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

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

e4d4f736-eb6b-11ec-ba43-dac502259ad0.jpg

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

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

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

e4fe093c-eb6b-11ec-ba43-dac502259ad0.jpg

其他的修改也是類似。

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

    關(guān)注

    50

    文章

    3972

    瀏覽量

    132970
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1165

    瀏覽量

    81996

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

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用C語言實(shí)現(xiàn)的CRC計(jì)算單元的例子

    使用C語言實(shí)現(xiàn)的CRC計(jì)算單元的例子
    的頭像 發(fā)表于 05-16 16:16 ?526次閱讀

    電路仿真模擬器怎么用

    電路仿真模擬器是電子工程師和學(xué)生必備的一類軟件工具。通過使用電路仿真模擬器,用戶可以在計(jì)算機(jī)上模擬和分析各種電路設(shè)計(jì),從而避免在實(shí)際搭建電路之前出現(xiàn)錯(cuò)誤和浪費(fèi)資源。本文將詳細(xì)介紹電路
    的頭像 發(fā)表于 05-04 10:53 ?1584次閱讀

    電路仿真軟件如何使用 電路仿真軟件有哪些好用

    電路仿真軟件是一種通過計(jì)算機(jī)模擬電路行為的工具,可以幫助工程師和電子愛好者設(shè)計(jì)、分析和優(yōu)化電路。它可以幫助用戶驗(yàn)證電路設(shè)計(jì)、預(yù)測(cè)電路的性能,并幫助用戶更好地理解電路的行為。 在本文中,我們將介紹
    的頭像 發(fā)表于 05-04 10:51 ?1453次閱讀

    STM32CUBE生成的工程如何進(jìn)行KEIL的軟件仿真

    通過STM32CUBE生成的工程如何進(jìn)行KEIL的軟件仿真有異常,做了很多的嘗試,沒能成功 1、根據(jù)網(wǎng)上的資料,進(jìn)行魔術(shù)棒的相關(guān)修改,如下圖 2、能順利進(jìn)入仿真界面,但是全速仿真,不
    發(fā)表于 03-13 06:04

    calibre后仿真參數(shù)提取

    Calibre是一種先進(jìn)的電子設(shè)計(jì)自動(dòng)化(EDA)工具,用于電子電路的設(shè)計(jì)和仿真。它為工程師提供了一個(gè)強(qiáng)大的平臺(tái),可以進(jìn)行多個(gè)級(jí)別的仿真,包括電路級(jí)仿真、行為級(jí)
    的頭像 發(fā)表于 01-04 17:24 ?947次閱讀

    芯片前仿真和后仿真的區(qū)別

    在芯片設(shè)計(jì)中,前仿真和后仿真都是非常重要的環(huán)節(jié),但它們?cè)诠δ芎湍康纳洗嬖诿黠@的區(qū)別。本文將詳細(xì)介紹仿真和后仿真的區(qū)別,以及它們?cè)谛酒O(shè)計(jì)中
    的頭像 發(fā)表于 12-13 15:06 ?5740次閱讀

    雪崩擊穿和光電器件介紹仿真

    本推文包含兩個(gè)部分,一個(gè)是雪崩擊穿和碰撞電離的關(guān)系,一個(gè)是光電器件仿真簡介。旨在提倡用理論知識(shí)去指導(dǎo)仿真,和通過仿真結(jié)果反過來加深對(duì)理論理解的重要性。
    的頭像 發(fā)表于 11-27 18:26 ?1103次閱讀
    雪崩擊穿和光電器件<b class='flag-5'>介紹</b>與<b class='flag-5'>仿真</b>

    氧化鎵器件介紹仿真

    本推文主要介Ga2O3器件,氧化鎵和氮化鎵器件類似,都難以通過離子注入擴(kuò)散形成像硅和碳化硅的一些阱結(jié)構(gòu),并且由于氧化鎵能帶結(jié)構(gòu)的價(jià)帶無法有效進(jìn)行空穴傳導(dǎo),因此難以制作P型半導(dǎo)體。學(xué)習(xí)氧化鎵仿真初期
    的頭像 發(fā)表于 11-27 17:15 ?2007次閱讀
    氧化鎵器件<b class='flag-5'>介紹</b>與<b class='flag-5'>仿真</b>

    PCB仿真軟件有哪些?PCB仿真軟件是如何進(jìn)行LAYOUT仿真的?

    PCB仿真軟件有哪些?PCB仿真軟件是如何進(jìn)行LAYOUT仿真的? PCB仿真軟件是為了幫助電子工程師在設(shè)計(jì)和開發(fā)PCB電路板時(shí)進(jìn)行各種
    的頭像 發(fā)表于 11-24 14:51 ?1w次閱讀

    for循環(huán)的基本例子

    for循環(huán)是一種常見的循環(huán)結(jié)構(gòu),用于重復(fù)執(zhí)行一段代碼。它通常由三個(gè)部分組成:循環(huán)變量的初始化、循環(huán)條件和循環(huán)變量更新。下面將通過詳細(xì)的例子來解釋for循環(huán)的用法和工作原理。 首先,我們來考慮一個(gè)簡單
    的頭像 發(fā)表于 11-22 10:00 ?1755次閱讀

    python最簡單for循環(huán)例子

    Python是一種簡單而又強(qiáng)大的編程語言,通過其清晰的語法和豐富的功能庫,我們可以實(shí)現(xiàn)各種各樣的任務(wù)。其中一個(gè)最基本的語法結(jié)構(gòu)就是for循環(huán),讓我們來看一下如何使用for循環(huán)來編寫一個(gè)最簡單的例子
    的頭像 發(fā)表于 11-21 14:53 ?765次閱讀

    SOLIDWORKS simulatiom設(shè)計(jì)仿真軟件

    SOLIDWORKS Simulation 是一款強(qiáng)大的工程仿真軟件,它為用戶提供了從設(shè)計(jì)到仿真的無縫體驗(yàn)。通過將仿真流程與設(shè)計(jì)流程緊密結(jié)合,SOLIDWORKS Simulation
    的頭像 發(fā)表于 11-09 14:38 ?4319次閱讀
    SOLIDWORKS simulatiom設(shè)計(jì)<b class='flag-5'>仿真</b>軟件

    詳細(xì)介紹一下PSS+Pnoise仿真

    PSS+Pnoise仿真是很多電路要用到的仿真,今天我們?cè)敿?xì)介紹一下這個(gè)仿真。
    的頭像 發(fā)表于 11-03 18:13 ?5616次閱讀
    詳細(xì)<b class='flag-5'>介紹</b>一下PSS+Pnoise<b class='flag-5'>仿真</b>

    幾款好用的電路仿真軟件

    業(yè)界公認(rèn)的一些功能強(qiáng)大的仿真軟件像Pspice,Saber收費(fèi)比較高,如果不想使用盜版,又有電路仿真需求,可以試試下面幾款免費(fèi)而且好用的仿真軟件。本篇不介紹軟件的具體使用方法,只大概地
    的頭像 發(fā)表于 11-03 16:26 ?1.9w次閱讀
    幾款好用的電路<b class='flag-5'>仿真</b>軟件

    工程師如何使用ADS仿真?如何優(yōu)化ADS仿真?

    工程師如何使用ADS仿真?如何優(yōu)化ADS仿真?我需要詳盡、詳實(shí)、細(xì)致的最少1500字的文章 摘要: 高級(jí)設(shè)計(jì)系統(tǒng)(ADS)是一種強(qiáng)大的模擬和設(shè)計(jì)軟件工具,被世界各地的射頻和微波工程師所
    的頭像 發(fā)表于 10-20 14:22 ?2232次閱讀