高级FPGA开发之PCIe IP Core(三) |
您所在的位置:网站首页 › am12a集成块 › 高级FPGA开发之PCIe IP Core(三) |
高级FPGA开发之PCIe IP Core(三)
一、PCIe IP核简介
通过阅读PCIe spec文档,可以看到UltraScale+器件Integrated Block For PCI Express解决方案IP核是具备高带宽、高可缩放性和高可靠串行互联的解决方案,适用于UltraScale+器件。赛灵思在 UltraScale+ 架构内提供了 2 个 PCIe 集成块:PCIE4 集 成块和 PCIE4C 集成块。 功能特性: PCI Express端点、传统端点或根端口模式; 针对PCIe 4和PCIe 4c块支持x1、x2、x4、x8或x16链路带宽以及Gen1、Gen2和Gen3链路速度; 针对PCIe4C块支持x1、x2、x4和x8链路带宽以及Gen4的链路带宽; AXI4-Stream接口,可连接到客户逻辑; 高级错误报告(AER)和端到端CRC; 用于传输事务缓冲的块RAM; 1个PCI Express虚拟通道和8个流量类; 最多支持4个PF和252个VF; 完全可配置的3x64位或6x32位基地址寄存器(bar); 支持所有中断类型: INTx 32多矢量MSI功能 含最多2048个矢量的MSI-X功能,具有可选内置MSI-X矢量表; 内置发起方读取请求/完成标签管理器 支持最多256项未完成的发起方读取请求传输事务 二、PCIe IP核端口描述 — CQCQ端口将链路层收到的所有请求交付给user logic。 DW表示已经配置的数据总线宽度(64、128或者256)。 portIOWidthdescriptionm_axis_cq_tdataODW从CQ接口输出的数据m_axis_cq_tuserO88CQ用户数据(这组数据包含所传输事务层(tlp)的边带信息。)m_axis_cq_tlastO1CQ数据的tlast指示m_axis_cq_tkeepODW/32CQ数据的tkeep指示。m_axis_cq_tvalidO1CQ数据有效。m_axis_cq_treadyI1CQ数据就绪。pcie_cq_np_reqI2输入可控制内部信用值,进行选择性反压(00-无更改,01-增加1,10/11-保留)pcie_cq_np_req_countO6输出的信用值,当信用值为非0时,才能通过完成器请求接口交付非转发请求,该信用值饱和上限为32。其中m_axis_cq_tuser中的边带信号描述: 索引名称Widthdescription3:0first_be[3:0]4有效载荷的首个 Dword 的字节使能。7:4last_be[3:0]4有效载荷的最后一个 Dword 的字节使能。39:8tyte_en[31:0]32用户逻辑可以选择使用这些字节使能位来判定所传输的包的有效载荷中的有效字节。40:40sop1包起始。41:41discontinue1如果核在从其内部 FIFO 存储器读取 TLP 有效载荷时检测到不可纠正的错误,那么它会在 TLP 的最后一个节拍中断言此信号有效。当核发出此类错误信号时,用户应用必须丢弃整个 TLP。42:42tph_present1此位表示在通过接口交付的请求 TLP 中存在“Transaction Processing Hint (TPH)”(传输事务处理提示)。44:43tph_type[1:0]2当请求TLP中存在TPH时,这2个位可提供与提示关联的PH[1:0]字段的值52:45tph_st_tag[7:0]8当请求TLP中存在tph时,输出可提供与提示关联的8位导向标签84:53parity32位 i 可提供针对 m_axis_cq_tdata 的字节 i 计算所得奇校验。87:85reserved3保留注: 当axis_tready和axis_tvalid均处于高位时,节拍采用总线传输。 2.2 Completer Request Interface Formats描述符长度始终为16字节,并在请求包的前16字节内发送。 当所传输的请求TLP为存储器读取/写入请求、IO读取/写入请求或者原子操作(atomic operation)请求时,格式如下: 供应商定义的报文完成器请求描述符: 对应于ATS报文的完成器请求描述符: 对应于所有其它报文的完成器请求描述符格式: 用户应用生成的完成包通过完成器完成(CC)接口端口来相应发射的完成器请求。可以将所有non-posted传输事务作为独立拆分的传输事务来处理。 3.1 Completer Completion InterfaceCC接口可持续接受请求器接口上的新请求,同时针对请求发送完成(completion)包。 completer completion interface(CC接口)上,将每个TLP均作为1个axi-stream数据包交付。 其中m_axis_cq_tuser中的边带信号描述: 位索引名称宽度描述0discontinue1如果传输期间用户应用在所传输的数据中检测到错误,并且需要中止该数据包,即可断言此信号有效。32:1parity32256位数据奇偶校验位 3.2 Completer Completion Interface Formatsuser logic将完成器请求的完成数据作为axi4-stream包发送至集成块cc接口。 每个数据包均以1个描述符开头,在描述符后可包含有效载荷数据。描述符长度始终为12个字节,并且在完成包的前12字节内发送。 当用户应用将请求的完成数据拆分为多个完成包(split completion)包后,它必须将每个拆分完成包作为独立axi4-stream包随描述符一起发送。 https://docs.xilinx.com/r/en-US/pg213-pcie4-ultrascale-plus https://docs.xilinx.com/r/zh-CN/pg213-pcie4-ultrascale-plus |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |