文档版本 | 开发工具 | 测试平台 | 工程名字 | 日期 | 作者 | 备注 |
---|---|---|---|---|---|---|
V1.0 | ise14.7 | DBF板 | Day4/PCIETest | 2016.03.31 | lutianfei | none |
- 参考资料:
- Spartan 6 PCIE_V2.4 真教程(一)
- Spartan 6 PCIE_V2.4 真教程(二)
- 菜鸟5小时速成FPGA_PCIE设计高手教程.pdf
- ug671_V6_IntBlock_PCIe.pdf
- PCI+EXPRESS体系结构导读.pdf
一、PIO模式
PIO模式
是一种通过CPU执行I/O端口指令来进行数据的读写的数据交换模式。是最早先的硬盘数据传输模式,数据传输速率低下,CPU占有率也很高,大量传输数据时会因为占用过多的CPU资源而导致系统停顿,无法进行其它的操作。数据传输速率从3.3MB/s到16.6MB/s不等。传输速率低下和极高的CPU占有率。PIO模式在No_16_0328 Virtex6 PCIe2.5(一) 仿真学习.md中已经测试过,这里不再赘述。不同的地方在于仿真使用的是v2.5版本ip核,而DMA参考
xapp1052
方案设计,顾改为1.7版ip核,既不再使用AXI总线设计。
二、PCIe核接口定义
(一) 系统接口
sys_reset_n
: 输入,异步复位,时间至少大于1500nssys_clk
:输入,可选频率为100Mhz,125Mhz,250Mhz
(二) 事物接口
2.1 通用事物接口
trn_clk
: 输出, 传输、配置、物理层控制、状态接口操作都与此时钟同步。trn_reset_n
: 输出,用户逻辑与传输和配置接口交互时使用此复位恢复到初始状态;与trn_clk
同步,与sys_reset_n
异步。trn_lnk_up_n
: 输出,当核与连接对象已连接且准备好交换数据时有效。trn_fc_*
: 输出,各种流控制信号trn_fc_sel[2:0]
: 输入:选择流控制信息呈现在哪个trn_fc_*
上。
2.2 发送事物接口
trn_tsof_n
: 输入,发送帧开始表示,仅在trn_tsrc_rdy_n
信号为低时,有效。trn_teof_n
: 输入,发送帧结束标志,仅在trn_tsrc_rdy_n
信号为低时,有效。trn_td
: 输入,发送数据接口trn_trem_n
: 输入,发送数据余数。仅在trn_teof_n
、trn_tsrc_rdy_n
、trn_tdst_rdy_n
同时为低时有效。
- 为0表示数据在
trn_td[63:0]
- 为1表示数据在
trn_td[63:32]
- 为0表示数据在
trn_tsrc_rdy_n
: 输入,发送源(用户)准备就绪;用户已将有效数据放入trn_td
。trn_tdst_rdy_n
: 输出