软件版本

win 10 系统

ISE 10.1

modelsim 10.1a win32

注:xapp859官方文档说明了xapp859的编译环境为ISE10.1版本, 然后modelsim 必须是32位的。

方案框图

主要参考 xapp859说明文档

系统框图

发送引擎框图

接收引擎框图

DMA读

数据流向 host -> fpga

DMA读过程
1、驱动程序向操作系统申请一片物理连续的内存;
2、主机向该地址写入数据;
3、主机将这个内存的物理地址告诉FPGA;
4、FPGA向主机发起读TLP请求—连续发出多个读请求;
5、主机向FPGA返回CPLD包—连续返回多个CPLD;
6、FPGA取出CPLD包中的有效数据;
7、FPGA发送完数据后通过中断等形式通知主机DMA完成;

从第3步开始,host与FPGA之间交互如下图所示

DMA写

数据流向 fpga-> host

DMA写过程
1、驱动程序向操作系统申请一片物理连续的内存;
2、主机将这个内存的物理地址告诉FPGA;
3、FPGA向主机发起写TLP请求,并将数据放入TLP包中—连续发出多个写请求;
4、FPGA发送完数据后通过中断等形式通知主机DMA完成;
5、主机从内存中获取数据;

从第2步开始,host与FPGA之间交互如下图所示

仿真平台搭建

编译modelsim仿真库

参考xapp859说明文档,仿真需要UNISIM_VER, SIMPRIM_VER...等库文件。

因为xapp859是基于ISE10.1版本开发的,所以首先用ISE10.1 编译生成modelsim的仿真库文件。编译库的过程比较简单,这里不介绍,编译好之后,如图产生如下几个需要的库文件。

然后退回到ISE目录,此目录是笔者编译modelsim库时,指向的存放库路径,会看到多了一个modelsim.ini文件

将此文件copy到 xapp859/fpga/simulation/functional 目录下面,覆盖掉原来的ini文件。

联合仿真

打开modelsim 软件, 点击file -> change directory , 指向 xapp859/fpga/simulation/functional 目录,

modelsim首先读取ini文件,导入库文件,

直接在命令行窗口 输入 do tb.fdo回车,

然后添加波形信号,就可以开始仿真了。

实际学习过程中遇到两个问题

1)网上下载的ISE10.1上仅提供的pcie plus core 1.6版本, 比xapp859的pcie 1.8要低,工程无法编译,从xilinx官方网站上( xilinx ip更新 )查到,ISE10.1版本支持pcie 1.8, 大概是license的问题,如果只是仿真,没什么影响。

2)modelsim仿真过程中,发现用modelsim 10.5c 64位 ,仿真时总是提示swiftpli_mti.dll 格式不正确,无法读取,网上未找到解决方法,最后在网上搜到个类似的问题,提示是modelsim 软件版本问题, 最后没办法,将modelsim退回到10.1 32bit版本,问题解决了,且能够正常仿真。

xilinx官方pcie dma例程 -xapp859仿真环境搭建相关推荐

  1. pybullet机器人仿真环境搭建 1.安装pybullet,测试官方示例,基础环境搭建

    pybullet机器人仿真环境搭建 1.安装pybullet 前言 安装 测试官方示例 基础环境搭建 导入pybullet 创建服务端 (可选)配置图形GUI 添加资源路径 设置重力 加载模型 迭代运 ...

  2. Xilinx官方提供的例程demo如何查找(小视频演示https://www.ixigua.com/i6827667877181522439/)

    1,打开Xilinx官网:https://www.xilinx.com/ 2,选择对应的产品,以ZYNQ为例 3,选择 Documentation 4,Filter Results 选择 Applic ...

  3. 时隙aloha协议仿真程序_工控ModbusTCP/IP协议仿真环境搭建

    01 ModbusTCP/IP协议简介 Modbus TCP/IP是简单的.中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品.它覆盖了使用TCP/IP协议的"intra ...

  4. arduino运行java_IC之路(一)Proteus-Arduino仿真环境搭建

    这个系列的博客需要软硬件联合调试而且截图,所以更新随缘 这篇文章本质上是为了给没有示波器的小伙伴头痛于Arduino的玄学AD调试仿真的文章 Proteus-Arduino仿真环境搭建 第一件事当然是 ...

  5. ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)

    ROS中阶笔记(四):机器人仿真-Gazebo物理仿真环境搭建(重点) 文章目录 1 ros_control 1.1 ros_control安装 2 Gazebo仿真步骤(重点) 2.1 配置物理仿真 ...

  6. linux下搭建uvm环境,转:使用QuestaSIM进行UVM仿真环境搭建

    使用QuestaSIM进行UVM仿真环境搭建 (Using the UVM libraries with Questa) 注意: 直到目前的questaSim 10.1版本(2012-01-31)为止 ...

  7. MIT Mini Cheetah–开源代码仿真环境搭建记录(Ubuntu20.04)

    MIT Mini Cheetah–开源代码仿真环境搭建记录(Ubuntu20.04) 一.安装依赖包 sudo apt install mesa-common-dev freeglut3-dev co ...

  8. FPGA配合debussy、modelsim仿真环境搭建

    FPGA配合debussy.modelsim仿真环境搭建 一.软件环境搭建 1,modelsim. 2,debussy 二.工程环境搭建 1,生成testbench 2.生成.fsdb波形文件 第一步 ...

  9. UR5机械臂仿真环境搭建

    UR5机械臂仿真环境搭建 重要参考: ROS官网教程 前段时间,实验室采购了一台UR5机械臂,今天花了一下午,对照官网教程,完成了仿真环境搭建,期间遇到了一些问题,好在最后都解决了.机械臂的运动规划和 ...

最新文章

  1. 【UIKit】表格 UITableView
  2. OV7670使用经验总结
  3. python打地鼠游戏教程_Python入门小游戏,炫酷打地鼠教程第二部分,都是干货
  4. pythonurllib微博登录怎么删_Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据...
  5. 我的首页收藏链接之07年前的LIST
  6. Excel有哪些需要熟练掌握而很多人不会的技能!
  7. Composer/Packagist 最新国内源
  8. easyExcel实现Excel导出功能
  9. jmeter 添加虚拟IP
  10. spring使用@Value注解读取.properties文件时出现中文乱码问题的解决
  11. 高尔顿钉板实验的matlab代码动画演示
  12. Promise、then()、catch()详解
  13. wifi模块服务器项目心得,一次关于WiFi 驱动移植的总结复盘
  14. uip-0[1].6中文说明
  15. diy 单片机 自动浇花_基于单片机的自动浇花器设计
  16. 神经网络中的对抗攻击与对抗样本
  17. 安装版—安装MySQL
  18. 树莓派4B安装tensorflow2.0.0和keras2.3.1
  19. 中国热泵热水器行业发展趋势及投资风险研究报告
  20. 我的世界Bukkit服务器插件开发教程(十一)粒子、药水效果与音效

热门文章

  1. 简单解决虚拟机无法连接外网
  2. HTML5特性之谷歌浏览器桌面消息(window.Notification)推送:
  3. supervisor 初探
  4. Nginx基础应用——日志切割
  5. GitHub的Java面试项目
  6. 硬核黑科技告诉你,漫威 10 年到底有多少个角色?
  7. win10系统如何格式化
  8. drf框架图片路径问题
  9. 关于互联网的十个Fun Fact——第一条就开车了...
  10. Python将string转换到float的实例方法