PCIe 调试
ISE 生成PCIe核之后, 在ipcore_dir目录下会产生以下文件目录

目录下包含内容如下:
- The doc folder contains the PCIe Endpoint Block datasheet and user guide.
- The example_design folder contains the source files (HDL and UCF) for a simple PIO design using the PCIe Endpoint Block.
- The implement folder contains the script and batch files for implementing the design in batch mode.
- The simulation folder contains the HDL test bench files for simulation the core.
- The source folder contains the PCIe and GTP hard IP wrapper files.
目录树如下:
myPCIe
│ s6_pcie_readme.txt
│
├─doc
│ s6_pcie_ds718.pdf
│ s6_pcie_ug654.pdf
│
├─example_design
│ pcie_app_s6.v
│ PIO.v
│ PIO_32_RX_ENGINE.v
│ PIO_32_TX_ENGINE.v
│ PIO_EP.v
│ PIO_EP_MEM.v
│ PIO_EP_MEM_ACCESS.v
│ PIO_TO_CTRL.v
│ xilinx_pcie_1_1_ep_s6.v
│ xilinx_pcie_1_lane_ep_xc6slx45t-fgg484-2.u
│
├─implement
│ implement.bat
│ implement.sh
│ xst.prj
│ xst.scr
│
├─simulation
│ ├─dsport
│ │ gtx_drp_chanalign_fix_3752_v6.v
│ │ gtx_rx_valid_filter_v6.v
│ │ gtx_tx_sync_rate_v6.v
│ │ gtx_wrapper_v6.v
│ │ pcie_2_0_rport_v6.v
│ │ pcie_2_0_v6_rp.v
│ │ pcie_brams_v6.v
│ │ pcie_bram_top_v6.v
│ │ pcie_bram_v6.v
│ │ pcie_clocking_v6.v
│ │ pcie_gtx_v6.v
│ │ pcie_pipe_lane_v6.v
│ │ pcie_pipe_misc_v6.v
│ │ pcie_pipe_v6.v
│ │ pcie_reset_delay_v6.v
│ │ pcie_upconfig_fix_3451_v6.v
│ │ pci_exp_usrapp_cfg.v
│ │ pci_exp_usrapp_com.v
│ │ pci_exp_usrapp_pl.v
│ │ pci_exp_usrapp_rx.v
│ │ pci_exp_usrapp_tx.v
│ │ xilinx_pcie_2_0_rport_v6.v
│ │
│ ├─functional
│ │ board.f
│ │ board.v
│ │ isim_cmd.tcl
│ │ simulate_isim.bat
│ │ simulate_isim.sh
│ │ simulate_mti.do
│ │ simulate_ncsim.sh
│ │ simulate_vcs.sh
│ │ sys_clk_gen.v
│ │ sys_clk_gen_ds.v
│ │ wave.do
│ │ wave.sv
│ │ wave.tcl
│ │ wave.wcfg
│ │
│ └─tests
│ tests.v
│
└─source
gtpa1_dual_wrapper.v
gtpa1_dual_wrapper_tile.v
myPcie.v
pcie_brams_s6.v
pcie_bram_s6.v
pcie_bram_top_s6.v
其中The example simulation design consists of two discrete parts:
- The Root Port Model, a test bench that generates, consumes, and checks PCI Expressbus traffic.
- The Programmed Input/Output (PIO) example design, a completer application for PCI Express. The PIO example design responds to Read and Write requests to its memory space and can be synthesized for testing in hardware.
用户可以通过root port model来仿真实现PCIe事务层的操作,并通过相应的数据收发模块实现对PCIe功能的仿真。Root Port Model包含以下功能
- Test Programming Interface (TPI), which allows the user to stimulate the Endpoint device for the PCI Express
- Example tests that illustrate how to use the test program TPI
- Verilog or VHDL source code for all Root Port Model components, which allow the user to customize the test bench
Root Port Model仿真模块和PCIe PIO设计的耦合关系如图所示

如图所示,仿真工程中搭建了两个PCIe模块,以此来模拟PCIe一对接口的数据收发。
PCIe 调试的更多相关文章
- PCI-E调试方式
PCI-E的调试步骤 1.板子插上去之后正常情况下使用lspci 就能看的一个设备 这个设备上存在几个ID,可以根据ID可以确定设备是否识识别到 2.然后就是加载设备的驱动的时候,设备驱动会有VEND ...
- PCIE 调试过程记录
遇到的问题 PCIE link不稳定 配置空间读写正常,Memory mapping空间读写异常 缘由 之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内.板间的高速BU ...
- PCIe调试心得_DMA part3
作者: East FPGA那点事儿 上一章讲述了PCIe总线如何提高DMA的效率. 本章以服务器常用的4通道1000M以太网卡为例讲述如何实现多个虚拟DMA通道. 1.多通道DMA发 4通道以太网卡 ...
- PCIe调试心得_DMA part2
作者:East FPGA那点事儿 上一章讲述了PCIe总线DMA的原理和XAPP1052存在的问题. 本章以服务器常用的4通道1000M以太网卡为例讲述如何提高DMA的效率. 1.内存重分配Wind ...
- PCIe调试心得_DMA part1
作者 :East FPGA那点事儿 1.PCIe的DMA介绍在PCIe中需要使用DMA的项目,一定要先看XAPP1052,里面包含一个DMA的参考设计,对初学者有极大的帮助. XAPP1052中包含 ...
- PCIE体系结构
http://blog.sina.com.cn/s/articlelist_1685243084_3_1.html BAR寄存器 http://zhidao.baidu.com/link?url=rE ...
- 使用Xilinx K7 KC705开发板调试PCIe中的问题【持续更新】
开发板:Xilinx K7 KC705 软件:ISE14.7 1.由于应用需求,我们要将开发板作为主机端,通过PCIe接口转接板外接一个NVMe PCIe SSD.并由FPGA控制SSD的数据读写. ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序
原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别 ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)
原文出处:http://www.cnblogs.com/jacklu/p/4687325.html 本篇文章将对PCIe驱动程序的源文件代码作详细解释与说明.整个WDF驱动程序工程共包含4个头文件(已 ...
随机推荐
- MySQL数据库服务器逐渐变慢分析与解决
一.检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU.内存.交换.磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可 ...
- OpenCV入门:(四:混合两张图片)
1. 原理 对两张图片使用如下公式可以得到两张图片的混合图片, 其中f0(x),f1(x)分别是图片1和图片2同一位置的像素点. 2. OpenCV中的AddWeight函数 函数和参数说明: ) s ...
- ES5新增数组方法(1):filter
检测数组元素,并返回符合条件所有元素的数组. 1.过滤数组中不符合条件的元素 let arr = [1, 2, 3, 4, 5, 6]; // 方式一 let newArr = arr.filter( ...
- 自动化测试学习之路--java String、StringBuilder
Java中的String和StringBuilder类: 1.String对象是不可变的.每一个看起来修改了String值的方法,实际上都是创建了全新的String对象.代码示例如下: String ...
- Android之Audio和Video
The Android platform offers built-in encoding/decoding for a variety of common media types, so that ...
- 如何使用remix
---恢复内容开始--- 教程 | [Ethereum 智能合约开发笔记]使用 Remix Ajian | 3. Feb, 2018 | 621 次阅读 教程 Remix 开发工具 之前有自己开发过E ...
- BZOJ 3670 NOI2014 动物园 KMP+dp
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3670 题意概述:令num[i]表示字符串由1~i的字符形成的前缀中不相重叠的相同前后缀的数 ...
- JAVA_四大代码块_普通代码块、构造代码块、静态代码块、同步代码块。
普通代码块 在方法或语句中出现的{}里面的内容就被称为普通代码块,普通代码块和一般的语句执行顺序一样,由他们在代码中出现的次序决定,即--"先出现先执行". 但是不同的普通代码块即 ...
- 程序运行bug查看
1.左击计算机进入管理,点击windows日志,查看程序信息. 可以方便看到报错信息.
- Linux C++线程池实例
想做一个多线程服务器测试程序,因此参考了github的一些实例,然后自己动手写了类似的代码来加深理解. 目前了解的线程池实现有2种思路: 第一种: 主进程创建一定数量的线程,并将其全部挂起,此时线程状 ...