PCIE xilinx v5 IP核使用前的研究
外带一个月前啃的一个星期,加本星期心无旁骛,啃出些心得,广惠后人。但愿有用。
trn信号是数据链路层的信号 TLP包是数据链路层传给transaction层的包 解包需要一个transaction的协议,所有req信号都是属于transaction层的信号,都是从包内数据解得的
数据链路层中trn_rd是传输TLP包的数据线 其他线都是辅助trn_rd传输数据的。比如起始结束 数据掩膜之类的。
header的叫法只属于transaction,header,payload,digist组成tlp数据包,payload专指有效数据。transaction层中的req_td 是用来表示crc校验用的。
req_rid和req_tag信号是 在接到tlp包后rx_engine进行拆包,得到的requester_id和request_tag信号 该信号传给tx_engine并回传给主机 告诉主机req_rid的请求已经收到,这两个信号与数据位mask(BE)合并于tlp包头的第三帧回传。
虽然pcie只有两根线传数据,但是需要数据链路层一个协议以及tlp解包协议。这主要因为1.数据链路层的协议可以使两端点pcie设备顺利传输数据,在物理层面上保证时序不错位。(电路人来做)2.包协议 更虚构的协议 告诉收发包者各个位都表示什么意思,进行bits align(计算机人关心)。 所以两个协议一个不能少。
non-posted和posted传输方式 修改trn_tbuf_av寄存器实现配置不同方式。 non-posted需要completer传给requester completion包,有时如果requester需要completer读数据 数据包含在completion包里。 posted传输方式 requester总是认为completer能够稳稳收包 不需要completion包应答而且posted request不一定在request tlp包里含有数据。
completion帧协议有变化,|completer_id(16bits)|000|0|byte_count(12bits)| 在此处出数据
http://note.youdao.com/share/?id=c595747071f2a744e6e48c2058f53722&type=note 带图版本;
以上为精髓
下面就是浩如烟海的文档中本人筛选出来的比较有用的文档
pcie_slot_to_pc.pdf
xcell26_678.pdf
PCIE总线的FPGA设计方法.pdf
PCIe-8622H.pdf
基于PCI+Express总线的高性能嵌入式系统研究_1357727089890.pdf
ug197.pdf
重点看ug197.pdf与两篇中文论文对着看
接下来就是实际操作一下xilinx的ip核
看完这些也就是刚刚能知道如何使用ip核,即transaction层和application层的接口。至于数据链路层的设计和Ghz pcb设计就不要想了。
转载:https://blog.csdn.net/jahero/article/details/13994907?locationNum=7
PCIE xilinx v5 IP核使用前的研究的更多相关文章
- 从Xilinx FFT IP核到OFDM
笔者在校的科研任务,需要用FPGA搭建OFDM通信系统,而OFDM的核心即是IFFT和FFT运算,因此本文通过Xilinx FFT IP核的使用总结给大家开个头,详细内容可查看官方文档PG109.关于 ...
- Xilinx DDR3 IP核使用问题汇总(持续更新)和感悟
一度因为DDR3的IP核使用而发狂. 后来因为解决问题,得一感悟.后面此贴会完整讲述ddr3 ip的使用.(XILINX K7) 感悟:对于有供应商支持的产品,遇到问题找官方的流程.按照官方的指导进行 ...
- xilinx DMA IP核(一) —— loop测试 代码注释
本篇笔记中的代码来自:米联科技的教程“第三季第一篇的DMA_LOOP环路测试” 硬件的连接如下图所示: 图:DMA Loop Block Design 橘色的线就是DMA加FIFO组成的一个LOOP循 ...
- xilinx DMA IP核(二) —— 文档阅读
本笔记不记录DMA的Scatter/Gather特性.DMA上有三种总线:AXI4-LIte(对寄存器进行配置),AXI4-Memory Map(用于与内存交互)和AXI4 Stream(用于与外设交 ...
- Xilinx FFT IP核缩放因子说明
以1024点FFT为例, reg [9:0] scale_sch = 10'b11_10_01_01_01; 流水线结构中,将每个基 2 的蝶形处理单元视为一个阶段. 每个阶段进行一次数据的缩减,缩减 ...
- xilinx VDMA IP核使用
VDMA实用配置说明 VDMA是通过AXI Stream协议对视频数据在PS与PL端进行搬运,开发者无需关注AXI Stream协议,在BlockDesign设计中只需要把相应信号进行连接即可. VD ...
- Xilinx的IP核接口命名说明
s_axis中的s表示:slave(从); m_axis中的m表示:master(主). axis表示AXI(一种总线协议) Signal.
- xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010161493/article/details/77658599 目录(?)[+] 之前 ...
- 7 Series GTP IP核使用总结 IP核配置篇
FPGA内嵌收发器相当于以太网中的PHY芯片,但更灵活更高效,线速率也在随着FPGA芯片的发展升级.本文对7系列FPGA内部高速收发器GTP IP核的配置和使用做些简单的总结,以备后续回顾重用.本文是 ...
随机推荐
- RabbitMQ学习笔记2-理解消息通信
消息包含两部分:1.有效载荷(payload) - 你想要传输的数据.2.标签(lable) - 描述有效载荷的相关信息,包含具体的交换器.消息的接受兴趣方等. rabbitmq的基础流程如下: Ra ...
- 编程填空:第i位取反
总时间限制: 1000ms 内存限制: 1024kB描述写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位是n的第i位取反,其余位和n相同 请使用[一行代码]补全bitManipulati ...
- 利用Jquery和fullCalendar制作日程表
详情请参考以下代码 <!DOCTYPE html> <html> <head> <title>利用Jquery和fullCalendar制作日程表< ...
- 【CAS单点登录视频教程】 第03集 -- 配置 tomcat的 ssl
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- GO语言中的几个关键思想
GO语言的设计理念与C++,Java,Python之流大相径庭. 一.没有函数重载 GO语言里面没有函数重载,Java.C#.C++三位大牛都是支持函数重载的,Python虽然不支持函数重载,但是支持 ...
- 微信小程序-从零开始制作一个跑步微信小程序
来源:伯乐在线 - 王小树 链接:http://ios.jobbole.com/90603/ 点击 → 申请加入伯乐在线专栏作者 一.准备工作 1.注册一个小程序账号,得用一个没注册过公众号的邮箱注册 ...
- XP、Windows7下自动关机vbs脚本,使用windows计划任务+vbs脚本在XP、Windows7下实现定时自动关机
VBScript(Microsoft Visual Basic Script Edition).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是 ...
- 【Oracle】Oracle中使用转义字符
1.Oracle 特殊字符 转义 关键词:oracle 转义 环境:oracle9i plsql 在plsql ...
- Maven最佳实践:版本管理【转】
什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...
- C# 进制转换(二进制、十六进制、十进制互转)
原文地址:https://www.cnblogs.com/icebutterfly/p/8884023.html C# 进制转换(二进制.十六进制.十进制互转)由于二进制数在C#中无法直接表示,所以所 ...