vivado Aurora 8B/10B IP核(5)-流量控制(Flow Control)

2024-04-30 00:44

本文主要是介绍vivado Aurora 8B/10B IP核(5)-流量控制(Flow Control),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用框架接口的内核上提供了两个可选的流控制接口。 本地流控制(NFC)调节全双工信道接收端的数据传输速率。 用户流控制(UFC)容纳用于控制操作的高优先级消息。
User Flow Control Interface(用户流控制接口)
UFC 接口是在启用 UFC 生成 IPCORE 时创建的.UFC s_axi_ufc_tx_tvalid 和 TX 侧的 s_axi_ufc_tx_tready 端口启动 UFC 消息,3 位 s_axi_ufc_tx_tdata 端口指定消息的长度。
使用 s_axi_ufc_tx_tready 断言,UFC 消息可以提供给数据端口。
UFC 接口的 RX 侧由一组 AXI4-Stream 端口组成,允许 UFC 消息被读取为一个帧。 Simplex 模
块仅保留在支持的方向发送数据所需的接口。
Transmitting UFC Messages 发送 UFC 消息
UFC 消息可以携带从 2 到 16 的偶数数据字节。用户应用程序通过在 s_axi_ufc_tx_tdata 端口
上驱动 SIZE 代码来指定消息的长度。
要发送 UFC 消息,用户应用程序在使用所需的 SIZE 代码驱动 s_axi_ufc_tx_tdata 端口时会断
言 s_axi_ufc_tx_tvalid。必须保持 s_axi_ufc_tx_tvalid 信号,直到 Aurora 8B / 10B IPCORE 断
言 s_axi_ufc_tx_tready 信号。 UFC 消息的数据必须放在 s_axi_tx_tdata 端 口 上 , 从
s_axi_ufc_tx_tready 被断言后的第一个周期开始。当 s_axi_tx_tdata 端口用于 UFC 数据时,核心
模块将取消 s_axi_tx_tready s_axi_tx_tready。
注意:只有在完成当前 UFC 请求后才应给予 UFC 请求; 背靠背 UFC 请求可能不会被 IP 所支持。
Number of Data Beats Required to Transmit UFC Messages(发送 UFC 消息所需的节拍数)
表显示了根据 AXI4-Stream 数据接口的宽度传输不同大小的 UFC 消息所需的周数。在 所有消息数据可用之前,不应启动 UFC 消息。 与常规数据不同,在 s_axi_ufc_tx_tready 已被确认 直到当前 UFC 消息完成之前,UFC 消息不能被中断。
Example A: Transmitting a Single-Cycle UFC Message(发送单周期 UFC 消息)
发送单周期 UFC 消息的过程如图 2-2-5-3 所示。 在这种情况下,4 字节的消息正在 4 字节的
接口上发送。
注意:s_axi_ufc_tx_tready 信号被断言两个周期。 Aurora 8B / 10B 内核使用
这个差距在数据流中传输 UFC 头和消息数据。
Example B: Transmitting a Multicycle UFC Message(发送多周期 UFC 消息)
发送双周期 UFC 消息的过程如图 2-2-5-4 所示。 在这种情况下,用户应用程序使用 2 字节接
口发送一个 4 字节的消息。 s_axi_tx_tready 被断言三个周期:在 s_axi_ufc_tx_tready 周期期间
发送的 UFC 头的一个周期,以及 UFC 数据的两个周期。
Receiving User Flow Control Messages(接收用户流控制消息)
当 Aurora 8B/10B 内核接收到 UFC 消息时,它将通过专用 UFC AXI4-Stream 接口将数据传递给
用户应用程序。数据显示在 m_axi_ufc_rx_tdata 端口上; m_axi_ufc_rx_tvalid 表示消息数据的开
始,m_axi_ufc_rx_tlast 表示结束。m_axi_ufc_rx_tkeep 用于在消息的最后一个周期中显示
m_axi_ufc_rx_tdata 上的有效字节数。
Example A: Receiving a Single-Cycle UFC Message(接收单周期 UFC 消息)
图显示了一个 4 位数据接口接收 4 字节 UFC 消息的 Aurora 8B/10B 内核。核心通过断 言m_axi_ufc_rx_tvalid和m_axi_ufc_rx_tlast来指示单个周期框架将该数据提供给用户应用程序。
m_axi_ufc_rx_tkeep 设置为 4'hF,仅指示接口的四个最高有效字节有效。
Example B: Receiving a Multicycle UFC Message(接收多个 UFC 消息)
上图显示了一个 4 字节接口接收 8 字节消息的Aurora 8B/10B内核模块。
注意:结果帧是两个周期长,第二个周期的 m_axi_ufc_rx_tkeep 设置为 4'hF,表示数据的所有四个字节都有效。

这篇关于vivado Aurora 8B/10B IP核(5)-流量控制(Flow Control)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947569

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Nginx如何进行流量按比例转发

《Nginx如何进行流量按比例转发》Nginx可以借助split_clients指令或通过weight参数以及Lua脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧... 目录方式一:借助split_clients指令1. 配置split_clients2. 配置后端服务器组3. 配

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us