0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

仿真例子工程介绍

FPGA威廉希尔官方网站 江湖 来源:FPGA威廉希尔官方网站 江湖 作者:赛灵思工程师 Ir 2022-06-14 11:10 次阅读

PCIe 仿真需要Endpoint 模型和Root Port 模型协同工作。用户一般可以采用购买BFM/VIP 来interwetten与威廉的赔率体系 对端模型也可以自己设计对端模型,更简便的方法则是使用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 数据。

pio_writeReadBack_test0 :

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。

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

可以复制以上代码 修改地址数据和byte enable 来实现对不同寄存器的操作。

如果需要修改对于EP侧 配置寄存器的直接控制,可以修改下面的代码,填入不同的地址实现不同寄存器的读写。

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

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

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)

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

其他的修改也是类似。

审核编辑 :李倩
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    4097

    浏览量

    133711
  • PCIe
    +关注

    关注

    15

    文章

    1241

    浏览量

    82760

原文标题:开发者分享|Versal PCIe Example Design 仿真技巧 1

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA威廉希尔官方网站 江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    下载了ADS1292R演示套件的例子,安装了官方CCS最新的集成开发环境,编译ADS1292R的例子报错了,为什么?

    下载了ADS1292R演示套件的例子,安装了官方CCS最新的集成开发环境,但是编译ADS1292R的例子,报错了,请问需要设置哪里么?又没看到ADS1292R里相关的说明文
    发表于 12-18 07:49

    【产品介绍】Simcenter Amesim系统仿真软件

    SimcenterAmesimSimcenterAmesim是一款前沿集成式可扩展机电一体化系统仿真平台,可提高系统仿真效率。可支持设计工程师对机电一体化系统的性能进行虚拟评估和优化
    的头像 发表于 11-12 16:11 448次阅读
    【产品<b class='flag-5'>介绍</b>】Simcenter Amesim系统<b class='flag-5'>仿真</b>软件

    这些电源常用仿真软件,你都知道吗?

    电源系统的建模仿真是电源开发过程中不可或缺的一环,它可以帮助工程师模拟电源系统,测试电源功能,验证电源方案可行性,优化电源电路设计,加速电源系统开发。选择一款合适的仿真软件至关重要,本篇将对在电源
    的头像 发表于 10-24 18:05 513次阅读
    这些电源常用<b class='flag-5'>仿真</b>软件,你都知道吗?

    法动科技系统级电路仿真设计平台FDSPICE介绍

    5G和5.5G的快速发展与普遍应用,对原模拟电路仿真工具提出了新的挑战和更高要求。市场与用户需要电路仿真工具具备更高精度、更强算力和更灵活的功能,以支持5G和5.5G模拟/射频电路系统仿真与优化。
    的头像 发表于 10-22 10:43 448次阅读
    法动科技系统级电路<b class='flag-5'>仿真</b>设计平台FDSPICE<b class='flag-5'>介绍</b>

    RISC-V指令集仿真介绍

    程序所呈现的结果不一致,则认为处理器设计存在问题,需要修正。对于RISCV处理器设计来讲,最常见的仿真工具是Spike。本文将着重介绍如何安装Spike仿真工具。 安装Spike工具链 以下涉及到
    发表于 07-31 23:03

    同一工程文件Proteus仿真8.9打开正常用8.16打开不能运行

    同一工程文件使用Proteus仿真8.9打开正常使用用8.16打开,一运行就闪退 仿真
    发表于 05-17 16:54

    使用C语言实现的CRC计算单元的例子

    使用C语言实现的CRC计算单元的例子
    的头像 发表于 05-16 16:16 1020次阅读

    电路仿真软件除了multisim外,还有哪些?各有什么特点

    电路仿真软件是一种能够通过计算机模拟和分析电路行为的工具。它们可以帮助工程师和学习者在设计和验证电路时避免物理实验带来的成本和时间限制。除了现在比较知名的Multisim软件外,还有许多其他可靠
    的头像 发表于 05-04 10:58 6095次阅读

    电路仿真模拟器怎么用

    电路仿真模拟器是电子工程师和学生必备的一类软件工具。通过使用电路仿真模拟器,用户可以在计算机上模拟和分析各种电路设计,从而避免在实际搭建电路之前出现错误和浪费资源。本文将详细介绍电路
    的头像 发表于 05-04 10:53 2424次阅读

    电路仿真软件如何使用 电路仿真软件有哪些好用

    电路仿真软件是一种通过计算机模拟电路行为的工具,可以帮助工程师和电子爱好者设计、分析和优化电路。它可以帮助用户验证电路设计、预测电路的性能,并帮助用户更好地理解电路的行为。 在本文中,我们将介绍
    的头像 发表于 05-04 10:51 2061次阅读

    电路仿真软件如何使用 电路仿真软件操作流程

    电路仿真软件是一种用于设计、测试和验证电路的工具,它可以模拟实际电路的行为和性能。本文将详细介绍电路仿真软件的使用流程,包括软件的安装、电路的建立、模拟参数的设置、仿真结果的分析等。
    的头像 发表于 05-04 10:39 2702次阅读

    SiP系统级封装设计仿真威廉希尔官方网站 流程

    SiP仿真设计流程介绍
    发表于 04-26 17:34 2次下载

    主流电路仿真软件有哪些

    主流电路仿真软件是电子工程师和电路设计师在实际设计中经常使用的工具。它们通过数值模拟和仿真来验证电路性能,并帮助工程师优化设计。以下是一些主要的电路
    的头像 发表于 04-21 10:23 2740次阅读

    SMT焊接温度曲线智能仿真系统的功能介绍

    SMT焊接温度曲线智能仿真系统是一个全流程模拟PCB SMT焊接受热过程的智能化仿真系统。
    的头像 发表于 03-22 16:58 610次阅读
    SMT焊接温度曲线智能<b class='flag-5'>仿真</b>系统的功能<b class='flag-5'>介绍</b>!

    STM32CUBE生成的工程如何进行KEIL的软件仿真

    通过STM32CUBE生成的工程如何进行KEIL的软件仿真有异常,做了很多的尝试,没能成功 1、根据网上的资料,进行魔术棒的相关修改,如下图 2、能顺利进入仿真界面,但是全速仿真,不
    发表于 03-13 06:04