vivado Aurora 8B/10B IP核(2)

2024-04-28 02:04
文章标签 ip vivado aurora 8b 10b

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

端口说明 ( Port Descriptions
用于生成每个 Aurora 8B/10B 内核的参数决定了可用于该特定内核的接口。 接口在 IP 符号中
可见。 在 IP 符号中,如果左键单击界面旁边的+号,可以看到分组在其中的端口。 在
本节中,也就是端口描述,一般来说,界面显示为单行条目,后面是分组在其中的端口。 例如,USER_DATA_S_AXIS_TX 是接口,s_axi_tx_ *端口分组到该接口中。 核心有四到六个接口。
注意:
1.选择小端点支持选项时,使用[n:0]总线格式。
2.选择大端支持选项时,使用[0:n]总线格式。
3.端口为高电平,除非另有说明。
用户接口(User Interface):
Aurora 8B/10B 内核可以通过成帧或流用户数据接口生成。 该接口包括流或帧数据传输所需
的所有端口。帧用户接口符合 AMBA ® AXI4 流协议规范,包括发送和接收成帧用户数据所需的信号。流接口允许数据要发送没有帧分隔符,这样操作更简单,并且使用比帧接口少的资源。 数据端口宽度取决于通道宽度和所选通道数。
Top-Level Architecture(顶级架构)
Aurora 8B / 10B 核心顶层(块级)文件实例化了车道逻辑模块,TX 和 RX AXI4-Stream 模块,全局逻辑模块和收发器的包装器。 在示例设计中也实例化了时钟,复位电路,帧生成器和检测器模块。下图展示了双工配置的 Aurora 8B/10B 内核顶层。 顶级文件是用户设计的起点。
AXI4 数据流位排序(AXI4-Stream Bit Ordering):
Aurora 8B / 10B 内核采用升序排列。 它们首先发送和接收最高有效字节的最高有效位。 下
图显示了 Aurora 8B / 10B 内核的 AXI4-Stream 数据接口的 n 字节示例。
用户端口(User Interface Ports):
下表列出了双工和单工核心模块 AXI4-Stream TX 和 RX 数据端口的描述。
框架界面(Framing Interface)
下图显示了 Aurora 8B/10B 内核的成帧用户界面,AXI4-Stream 兼容端口用于 TX 和 RX 数据。
数据传输(Transmitting Data)
为了传输数据,用户应用程序操纵控制信号以使核心模块做到如下描述:
•从 s_axi_tx_tdata 总线上的用户端口获取数据
•s_axi_tx_tvalid 和 s_axi_tx_tready 信号被断言。
•在 Aurora 8B / 10B 通道中划分数据。
•使用 s_axi_tx_tvalid 信号传输数据。 用户应用程序可以设置 s_axi_tx_tvalid=0,以此插入空闲
(引入停顿或暂停)。
•暂停数据(即插入空闲)(s_axi_tx_tvalid 被取消置位)。
接收数据(Receiving Data)
当 IPCORE 接到数据时,它执行以下操作:
•检测和丢弃控制字节(空闲,时钟补偿,通道 PDU(SCP),通道协议数据单元结(ECPDU)和 PAD)。
•断开成帧信号(m_axi_rx_tlast)并指定有效字节数最后一个数据节拍(m_axi_rx_tkeep)。
•从车道恢复数据
•通过断言 m_axi_rx_tvalid 信号来组合数据以呈现给 m_axi_rx_tdata 总线上的用户接口。
只有当 s_axi_tx_tready 和 s_axi_tx_tvalid 都被断言时,Aurora 8B / 10B 内核才能采样(高)。
AXI4-Stream 数据仅在框架时有效。帧外的数据将被忽略。要启动一个帧,在 s_axi_tx_tdata
端口上的第一个数据字处于 assert s_axi_tx_tvalid 时。 要结束一个帧,在 s_axi_tx_tdata 端口
上的数据的最后一个字(或部分字)上使用 s_axi_tx_tlast,并使用 s_axi_tx_tkeep 来指定最后一
个数据节拍中的有效字节数。
在单个字长或更短的帧的情况下,s_axi_tx_tvalid 和 s_axi_tx_tlast 同时被断言。

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



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

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A