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

时间:2024-04-05 18:21:30

目录

​​​​​​​5.5  Xilinx的IP核配置

5.5.1  基础选项卡

5.5.2 Logical Layer选项卡——逻辑层

5.5.3  I/O选项卡

5.5.4 Buffer层标签

5.4.5 物理层选项卡

5.5.6 逻辑层寄存器标签

5.5.7 物理层寄存器选项卡

5.5.8 共享逻辑标签

​​​​​​​


​​​​​​​5.5  Xilinx的IP核配置

5.5.1  基础选项卡

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

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

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

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

4Transfer Frequency:传输频率,这个值表示的是每个串行链路的传输速率,可选值有1.252.53.1255.06.25。单位是Gbps

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

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

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

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

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

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

11、添加些调试相关信息

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


5.5.2 Logical Layer选项卡——逻辑层

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

1、收发支持的事物类型

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

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

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

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

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

4Local Configuration Space Base AddressLCSBA

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

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


5.5.3  I/O选项卡

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

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

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

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

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


5.5.4 Buffer层标签

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

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

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

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


5.4.5 物理层选项卡

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

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

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

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

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


5.5.6 逻辑层寄存器标签

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

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

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

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

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

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


5.5.7 物理层寄存器选项卡

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

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的最大超时值应对应36秒之间的超时长度。 响应超时的实现留给您。

4Port General Control CSR

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


5.5.8 共享逻辑标签

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

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