总的目录在这哦~

https://blog.csdn.net/z123canghai/article/details/114648658


目录

3.5  Xilinx的IP核配置

3.5.1  基础选项卡

3.5.2 Logical Layer选项卡——逻辑层

3.5.3  I/O选项卡

3.5.4 Buffer层标签

3.4.5 物理层选项卡

3.5.6 逻辑层寄存器标签

3.5.7 物理层寄存器选项卡

3.5.8 共享逻辑标签


​​​​​​​3.5  Xilinx的IP核配置

3.5.1  基础选项卡

1Component Name:IP的名字,只能为字母,数字,下划线,其中首字符必须为字母。

2Mode:IP的模式,有基本(Basic)和高级(Advanced)两种。其中基本模式不会对各接口层内容进行配置

3Link Width:链路宽度,可选值为1、2或者4,链路宽度越大,数据的传输带宽越大。

4Transfer Frequency:传输频率,这个值表示的是每个串行链路的传输速率,可选值有1.25、2.5、3.125、5.0和6.25。单位是Gbps。

5Reference Clock Frequency:参考时钟频率,可选值为125MHz或156.25MHz,但并非任意选择,xilinx对其是有限制的,它来自高速传输模块的专用时钟。

6TX/RX Buffer Depth:发送/接收Buffer的深度,可选值为8、16或32。这个值表示的是Buffer接口中可存储的包的最大数目。

7Component Device ID:设备ID。也就是接口协议里面的源ID,根据协议可知可配为8 bit或16bit,这里位宽也是可选的。但收发双方的设备ID宽度应该相同,否则由于包头的偏移可能会导致事务被错误的解释,大多数系统Device ID为8位。

8Unified Clock:如果用户设计中log_clk和phy_clk相同,那么可以选中这个选项,选中这个选项可以减少延时和资源利用率。

9Transmitter Controlled:选中这个选项以后,RapidIO核会首先尝试用transmitter-controlled实现流控,但如果接收方不支持的话那么会自动切换为receiver-controlled。transmitter-controlled流控可以利用接收buffer的状态和水印最小化重试条件。receiver-controlled流控会随意的发包并使用重试协议。

10Receiver Controlled:选中这个选项以后,RapidIO核仅能用receiver-controlled实现流控,在这种模式中,receiver-controlled流控会随意的发包并使用重试协议。

11、添加些调试相关信息


3.5.2 Logical Layer选项卡——逻辑层

1、收发支持的事物类型

2Enable Arbitration:用来使能逻辑层与输入端口之间的仲裁器。防止多个事务的拥堵,优先级如下所示

下图是仲裁时序图,有空可以好好研究一下

3Maintenance Transaction Support:维护事务,This is always enabled。

4Local Configuration Space Base AddressLCSBA

启用后,内核将检查传入的I / O事务的高位地址,如果地址匹配,则将事务路由到维护端口。 该规范没有提供禁用LCSBA的机制,因此在这种情况下的系统行为是不确定的。在封闭的系统中应屏蔽LCSBA功能。

注意:LCSBA匹配仅由内核对HELLO格式的数据包执行。I / O格式必须设置为HELLO,并且必须支持事务类型,以便数据包被核心重新路由到维护端口。


3.5.3  I/O选项卡

1Port I/O Style:I/O接口可以配置为Condensed I/O和Initiator/Target两种类型。其中Condensed I/O接收和发送均使用一个AXI4-Stream通道。Initiator/Target接收和发送采用不同的AXI4-Stream通道。

2I/O Format:I/O端口能被配置使用HELLO格式包或SRIO Stream格式包,一般情况下,强烈推荐使用HELLO格式

3Messaging:用来选择消息事务的端口,可选的参数有Combined with IO和Separate Messaging Port两种。Combined with IO选项表明消息事务和I/O写事务采用相同的IO端口,Separate Messaging Port选项表明消息事务采用一个独立的端口传输,选中这个选项以后IP核会出现消息事务的AXI4-Stream通道。

4Maintainance:用来选择维护端口类型,维护端口类型只能为AXI4-Lite类型。


3.5.4 Buffer层标签

1Request Reordering:选中这个选项以后,发送Buffer会根据请求包的优先级重新排序。在这种情况下,较高优先级的请求将先于较低优先级的请求发出。这里所说的优先级应该是Xilinx对事务类型自定义的优先级,如下图所示。

2Flow Control Options:用于流控的,其中“Watermarks”这个词不知道什么意思,主要是当链路缓冲区空间减少时,用来限制可以发送数据包的优先级。如果缓存区剩余空间小于设定值,则仅发送优先级更高的数据包。但需要确保Watermarks值得设定低于可缓冲区的最大值,以允许所有优先级都可以传输,显然如果太大的话则会锁死缓冲器。我们可以采用默认设置将其设为WM0=3, WM1=2, WM2=1.


3.4.5 物理层选项卡

1CRF Support:关键请求流(Critical Request Flow),指示是否将CRF位用于扩展优先级映射。这是在SRIO协议的要求

2Link Requests before Fatal:用来指定链路进入致命错误状态之前链路请求的个数,Xilinx建议将此值设置为大于零,以增强错误恢复能力。

3Software Assisted Error Recovery:RapidIO规范定义了三个命令和状态寄存器,专门用于软件辅助的错误恢复。

4IDLE Mode Support:空闲模式(IDLE Mode)的选择与传输速率有关,空闲序列1(IDLE1)仅仅支持每通道线速率小于5.5Gbps的情况,选择空闲序列1时,RapidIO使用的控制符号为短控制符号。空闲序列2(IDLE2)支持每通道线速率大于5.5Gbps的情况,6.25Gbps的线速率必须选择空闲序列2,空闲序列2提供了一些附加的功能,比如链路宽度,链路优先级信息以及一些用于改善均衡器性能,提高数据恢复率的随机数。当IDLE1和IDLE2均被选中时,每通道线速率仅支持小于等于5.5Gbps的情况。上一篇文章《RapidIO串行物理层的包传输过程》也介绍了空闲序列1和空闲序列2相关的内容。


3.5.6 逻辑层寄存器标签

1Device Identity CAR:指定了Device ID与Vendor ID设备标识CAR存储有关RapidIO设备的信息。 该寄存器包含Xilinx分配的字段,并且不可修改。

2Assembly Identity CAR:Assembly Identity CAR存储有关RapidIO设备子系统创建者的信息。可以在核心生成过程中设置寄存器的“程序集标识符”和“程序集供应商标识符”字段,以唯一地标识端点。这些值不影响核心功能

3Assembly Information CAR:组装信息CAR存储有关RapidIO设备子系统版本的信息。 这是在核心生成期间设置的,不会影响核心功能。

4Processing Element Features CAR:选择处理元素提供的主要功能。 允许的选项有:


3.5.7 物理层寄存器选项卡

1Extended Features Space

物理层寄存器存储在扩展功能(EF)地址空间内的寄存器块中。串行RapidIO Gen2物理层实现了两个扩展功能块:LP-Serial EF块和LP-Serial Lane EF块。SRIO Gen2端点为LP-Serial EF块保留了0x100字节的地址空间,为LP-Serial Lane EF块保留了0x400字节的地址空间。LP串行功能块的块偏移量必须小于LP串行通道EF块的偏移量。 每个块偏移量必须是为该块保留的字节数的整数倍。

也可以在扩展功能地址空间中实现一个或多个EF块。 用户应用程序必须在某处创建这些寄存器,并修改Configuration Fabric参考设计以适应其他寄存器块。 如果要实现用户EF,则应在Vivado IDE中将其启用,并应输入第一个EF块的块偏移量。 该偏移必须大于LP-Serial Lane EF块偏移加上为该块保留的0x400字节大小。 用户EF块偏移量必须是0x100的倍数,并且必须在扩展功能地址空间内

2Port Link Time-out Control CSR

端口链路超时控制CSR(偏移量0x120):PHY在确定链路控制符号(如数据包接受或链路响应)时使用的超时值已丢失。 当该计数器过期时,将遵循RapidIO串行PHY规范中定义的链接协议。 最大超时时间与此CSR中的值成线性比例。  FF_FFFFh的最大超时值对应于大约4.5秒的超时时间,但最大值仅精确到±33%以内

3Port Response Time-out Control CSR

端点将使用超时值来确定丢失的数据包。  FF_FFFFh的最大超时值应对应3到6秒之间的超时长度。 响应超时的实现留给您。

4、Port General Control CSR

主机位指示该设备是主机设备。如果未设置此位,则设备是代理或从设备。该位不影响核心功能。主使能位控制是否允许设备向系统发出请求。如果未设置“主机使能”位,则设备可能仅响应请求。


3.5.8 共享逻辑标签

选择后,示例设计中将包括诸如MMCM,复位逻辑和GT COMMON模块之类的共享逻辑。在内核中包含共享逻辑:选中时,内核中将包含诸如MMCM,复位逻辑和GT COMMON模块之类的共享逻辑,主要是GTP部分内容。


就关于官方的实例分析,不仅实现了对核的配置、仿真,还对信号进行了整理,如下所示

开发软软件为vivado2016.4,打开工程点击“Flow”选择“open static simulation”打开静态仿真可直接查看信号波形


相关程序可关注“沧小海的FPGA”微信公众号回复“SRIO”即可获取,感谢关注~

​​​​​​​

沧小海基于xilinx srio核的学习笔记之第三章 xilinx srio核介绍(三)核配置相关推荐

  1. 基于MVS的三维重建算法学习笔记(一)— MVS三维重建概述与OpenMVS开源框架配置

    基于MVS的三维重建算法学习笔记(一)- MVS三维重建概述与OpenMVS开源框架配置 声明 1. MVS(Multi-view stereo)概述 稀疏重建与稠密重建的区别 稀疏重建--SFM(S ...

  2. 沧小海基于xilinx srio核的学习笔记之第二章 Rapidio技术概述

    总的目录在这哦~ https://blog.csdn.net/z123canghai/article/details/114648658 目录 第二章 Rapidio技术概述 2.1 总体原则 2.2 ...

  3. 沧小海读《图解TCP/IP》笔记——第六章 TCP与UDP

    总目录在这里~ https://blog.csdn.net/z123canghai/article/details/107855399 子目录 6.1 传输层的作用 6.2 UDP 6.3 TCP 6 ...

  4. 沧小海笔记本之xilinx srio核的学习记录之目录

    目录 第一章:互连问题 第二章 Rapidio技术概述 第三章 xilinx srio核结构 3.1 xilinx srio核的结构介绍 3.2 ilinx srio核的HELLO格式和流控 3.3  ...

  5. 【沧小海笔记】之基于FPGA的以太网设计相关知识——第三章 xilinx 三速以太网IP核(TEMAC)的介绍

    总目录在这里哦~ https://blog.csdn.net/z123canghai/article/details/114649502 Xilinx为我们提供了一个叫做"Tri-Mode ...

  6. 沧小海笔记之基于xilinx的三速以太网相关知识的学习与理解

    目录 第一章 读<图解TCP/IP>笔记 第二章  互联网概述 第三章  物理层介绍(基于88E1111) 第四章  xilinx 三速以太网IP核(TEMAC)的介绍 第一章 读< ...

  7. 沧小海笔记本之A7系列FPGA资源介绍

    目录 第一部分:I / OBANK部分资源介绍 1.1  I/O BANK概述与ILOGIC资源概述 1.2  IDELAYE2.IDELAYCTRL和OLOGIC的资源介绍 1.3  OSERDES ...

  8. 沧小海详解面试的必答题——I2C协议

    目录 第一部分:I2C协议的概述 第二部分:I2C协议的阐述 第三部分:AT24C04简述 第四部分:基于verilog的程序设计(暂无) 对于大多从事FPGA行业的应届生来说,在面试过程中很可能会被 ...

  9. python小车行驶路线图_基于opencv-Python小车循线学习笔记

    基于opencv-Python小车循线学习笔记 加入摄像头模块,让小车实现自动循迹行驶 思路为:摄像头读取图像,进行二值化,将白色的赛道凸显出来 选择下方的一行像素,黑色为0,白色为255 找到白色值 ...

  10. 基于MVS的三维重建算法学习笔记(二)— 立体视觉的几何基础总结

    基于MVS的三维重建算法学习笔记(二)- 立体视觉的几何基础总结 声明 概述 1. 常见三维数据类型 2. 三维形状的几种表达形式 3. 三维空间刚体运动 4. 李群和李代数 5. 相机标定 6. 非 ...

最新文章

  1. 2021年大数据Hadoop(三):Hadoop国内外应用
  2. 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务
  3. 深度学习vs机器学习 | 这些本质区别你知道多少?
  4. NSCache和NSURLCache网络缓存优化
  5. drive数据集_运动想象,脑电情绪等公开数据集汇总
  6. 一些windows下调试网络的命令行
  7. datax安装+配置+使用文档
  8. Matlab程序仿真与调试入门
  9. centos上mysql
  10. 减少页面加载时间的方法
  11. Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)
  12. 《SPSS统计分析与行业应用实战》之诊断试验与ROC分析
  13. 安排座位 java_座位安排(seat)
  14. 迅雷CEO邹胜龙自述:迅雷十年反思
  15. 国内五大抗DDoS服务
  16. 系列服务器大概多重,一台服务器有多重
  17. 如何在Outlook中创建自定义导航窗格
  18. 上海与鲲鹏的数字共鸣
  19. 鹅厂入职背调,发现三个学历造假...
  20. PythonChallenge过关斩将录-0~10关

热门文章

  1. python3提供了什么函数从标准输入读入一行文本_Python3 提供了print函数从标准输入(如键盘)读入一行文本...
  2. ubuntu命令安装中文语言包_Ubuntu 18.04 LTS 命令行方式安装中文语言包
  3. Android App 开发入门
  4. IOS-objectiveC【语法】修饰符 static extern const
  5. StretchDIBits 函数
  6. 计算机xp怎么调整亮度,[如何调整计算机屏幕的亮度] xp系统如何调整屏幕的亮度?屏幕亮度调整方法的详细说明...
  7. 一起来学FPGA(vhdl)三:分频器实验
  8. 多种矿石混合的抗干扰矿石对讲机
  9. 离散数学与组合数学汇总
  10. [RQNOJ]PID34 / 紧急援救