Xilinx 千兆以太网TEMAC IP核 AXI4-Lite接口信号

在AX4总线标准中,AXI4-Lite主要由向她址映射型通信。TEMAC的管理法口采用AXI4-Lite标准接口,TEMAC核的AX14-Lite接口信号如表1所示,根据AX14-Lite标准,接口角色分为主接口(Maser Interface)和从接口(Slave Interface)。主接口为通节发起方,这里指的是用户端控制的AX14-Lite接口;从接口为通信接收方,这里指的是MAC核内部的寄存器。

表1 TEMAC核的AX14-Lite接口信号

71a8a54b82e94d76960839f545810aa0.png

1 基于AXI4-Lite接口的读过程

TEMAC通过AXI4-Lite接口访问不同的MAC寄存器,从而实现TEMAC核的功能配置与管理。掌握AXI4-Lite标准的读/写过程尤为关键,如图2所示为AXI4-Lite接口的读过程,首先由主接口发出读地址请求和控制信号,从接口接收后对其进行响应,把请求读取的数据发送给主接口。

071ae06c31a241db8a26213c01b782b8.png

1 AXI4-Lite接口的读过程

用户基于AXI4-Lite接口读取MAC寄存器的时序如图2所示,整个读过程分为地址发送和响应接收两个阶段。在读寄存器过程中,将主接口请求读入的地址置于s_axi_ araddr 总线上,同时将s_axi_arvalid信号置为有效,表示主接口的有效信息已经在信道上等待从接口完成接收,同时等待从接口发出的接收响应。当从接口输出的s_axi_arready有效时,表示从接口允许接收信息,从接口只在s_axi_arvalid和s_axi_arready同时有效时才能完成信息的接收,即完成主接口的读地址发送。主接口发送完地址请求后,发送接收数据请求信号,将s_axi_rready信号置为高,表示主接口可以接收数据。从接口接收到主接口的接收请求后做出响应,准备发送主接口请求的数据,在s_axi_rdata总线发送被请求的数据,利用s_axi_rvalid信号表示s_axi_rdata总线上的数据有效。主接口根据s_axi_rvalid信号指示接收数据,从而完成读数据过程。

9ebb3e5d0caf494e9b6c80f3f2f72971.png

图2 基于AXI4-Lite接口读取MAC寄存器的时序

2 基于AXI4-Lite接口的写过程

如图3所示为AX14-Lite接口的写过程,首先由主接口发出写地址请求和控制信号从接口接收后允许其写入,主接口将数据写入及接口后,等待以接口发出的写操作完成响应。从而完成一次完整的写过程。

38e17b213fdb443daf3aefc36d2d51e1.png

3 AXI-Lite接口的写过程

基于AXI4-Lite标准接口的写过程分为地址发送,数据写入和响应接收三个阶段。从AXI4-Lite接口写入MAC寄存器的时序如图4所示。

c81f7cf22a7c45dcbbbdf23d1ca0819c.png

图4 从AXI-Lite接口写入MAC寄存器的时序图

1.地址发送阶段

在写寄存器过程中,将主接口请求写入的地址置于s_axi_awaddr总线上,同时将s_ axi_awvalid信号置为有效,表示主接口的有效信息已经在信道上等待从接口完成接收,同时等待从接口发出的接收响应。当从接口发送的s_axi_awready有效时,表示从接口允许接收地址信息,从接口只在s_axi_awvalid和s_axi_awready同时有效时才能完成地址信息的接收,即完成主接口的写地址发送。

2、数据写入阶段

主接口发送完地址信息后,准备写入数据,将待写入的数据置于。s_axi_wdata总线上(s_axi_wstrb表示写入的选通信号,默认值为“11”。Byte Elable表示写数据总线都可用即s_axi_wstrb为“11”)。并将s_axi_wvalid 置为有效,表示数据已经在信道上等待从接口发出的写入响应信号,进而写入从接口,从接口将s_axi_wready置为高时。表示从接口可以被写人数据。当s_axi_wvalid 与s_axi_wready同时有效后,表示完成了数据写入。

3.响应接收阶段

主接口完成数据写入后,s_axi_bready置为有效并等待从接口的响应信号:从接口的 s_axi_bresp[1:0]用二进制“00”表示写入成功,即OKAY;从接口的s_axi_bvalid 有效时表示写响应有效;当主接口的s_axi_bready有效,且从接口s_axi_bresp为OKAY, s_axi_bvalid有效时,表示主接口确认从接口已完成了数据的写入,从而完成一次完整的基于AXI4-Lite接口的写寄存器过程。

3 MAC地址/帧内容过滤

1.地址/帧内容过滤功能介绍

基于AXI4-Lite标准的管理接口可以配置TEMAC核的地址/帧过滤功能。TEMAC核的地址/帧过滤模块主要包括两个功能:

(1)检查收到的任意数据帧是否匹配事先定义的目的地址(如暂停控制帧地址、广播地址和用户定义单播地址等);

(2)比较数据帧中的前64字节是否符合用户定义的匹配模式。

第1个功能得到的匹配结果通常被TEMAC核中的其他模块(如流控、生成统计矢量等)使用;第2个功能则具有更大的灵活性,因为基于数据帧包头区域或包头区域组合定义的模式可以用来过滤特定的数据帧,而且由数据帧的前64字节定义相关模式可忽略数据帧的其他字段。

用户最多可以在TEMAC核中定义8个地址/帧过滤模块,每个地址/帧过滤模块的功能都可以通过AXI4-Lite标准接口访问寄存器地址值来实现。每个地址/帧过滤模块都包含两个64字节的寄存器。

(1)地址/帧过滤值寄存器(Address/Frame Filter Value Register):地址/帧过滤值寄存器用于与接收到的数据帧的前64字节进行匹配。

(2)地址/帧过滤掩码寄存器(Address/Frame Filter Mask Value Register):若地址/帧过滤掩码寄存器中的某一位为“1”,表示地址/帧过滤值寄存器与接收到的数据帧对应的比特位必须相同,这一比特位才算匹配成功。当地址/帧过滤掩码寄存器中的某一位为“0”,则表示不管接收到的数据帧对应的比特位是否与地址/帧过滤值寄存器中的对应位相同,都认为这一位匹配成功。在地址/帧过滤的匹配过程中,必须保证所有比特位都匹配成功,这样才算整体匹配。

2.地址/帧内容过滤功能的使用

通过设定地址/帧过滤模块的地址/帧过滤值寄存器可以实现简单的目的地址过滤、多播组匹配、源地址匹配和VLAN域匹配等功能,更复杂的过滤功能可以在此基础上通过配合设定地址/帧过滤掩码寄存器完成。通过选用或禁用混杂模式,用户可以开启或禁用地址/帧内容过滤功能(在混杂模式下不过滤数据帧,关闭混杂模式时才进行过滤)。当配置多个地址/帧过滤模块时,需要对地址/帧过滤控制寄存器进行写操作,以此决定对配置寄存器具有优先操作权限的地址/帧过滤模块;当某一特定过滤模块被禁用时,它将不匹配任何数据帧。地址/帧过滤模块寄存器的详细配置请参阅UG800。

默认条件下,所有的地址/帧过滤模块都把地址/帧过滤值寄存器和地址/帧过滤掩码寄存器的低48比特位配置为全1,使广播帧满足事先定义的目的地址过滤条件。建议将地址/帧过滤值寄存器和地址/帧过滤掩码寄存器更新至期望值后再启用地址/帧过滤模块。

当生成单个或多个过滤模块时,rxaxisfilter tuser总线的位宽会比过滤模块多1比特位(例如,生成4个过滤模块时是5位总线)。当数据与用户定义的过滤模块相匹配时,最高比特位置高。如图5所示为一个与filter0匹配的无差错帧应答过程,此时 rx axis filter tuser[0]信号置为低,rxaxisfilter_tuser[X]信号置为高。

b3570ec0fd5c4c80af88b95d77bb7d53.png

图5 与filter0匹配的无差错帧应答过程

如图6所示为数据帧与事先定义的目的地址匹配,但与用户配置的任意过滤模块都不匹配的应答过程,此时rx_axis_filter_tuser[0]信号为高,rx_axis_filter_tuser[X]信号为低。

c6ea808b55944e3c916000c67998e95d.png

图6 过滤模块不匹配的应答示例

若选用了地址/和过滤模块,但生成的TEMAC核未设置AXD4-Lite管理楼口,则只可以使用地址/帧过滤模块的部分动能,这是国为地址/帧过滤模块没有访问接口时,其内部的配营寄存幕不可访问,更彰不了相关设置,此时基本的目的地址过滤功能仍可被 MAC用于廉别或过述广播地址,特定的暂终多播地址和用户指定的暂件/单播地址。

4 基于AXI4-Lite接口的相关配置和管理

在掌握AXI4-Lite接口读/写寄存器的时序之后,实现TEMAC核的相关设置与管理,需要参考UG800中关于MAC寄存器功能和设定的详细说明,直接对寄存器进行相应的读/写操作即可。配置设定的信息变更可以在任何时间写入配置寄存器,而配置的变化只在帧间间隔生效。MAC寄存器地址映射如表8所示,按功能的不同分为统计计数、 MAC配置、MDIO接口配置、中断控制和地址/帧过滤5个部分。

表2  MAC寄存器地址映射

6ffaa1d673ab4c6eafcbe90bedc1a847.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/616181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

让SOLIDWORKS用户无忧的基于云的PLM

在市场需求和法规不断变化的时代,紧跟变化步伐对于更快速、更有效地交付创新的高质量产品至关重要。 现代产品开发流程会生成数量惊人的数据,从零件和装配体文件到仿真和CAD/CAM文件。此外,要实现有效的项目交流,需要无数的文件&…

HIVE调优MapJoin

HIVE调优MapJoin 目录 HIVE调优MapJoin 1.mapjoin (1.2以后自动默认启动mapjoin) 2.创建表格 3.查询建表 4.通过 explain 展示执行计划 5.Map JOIN 相关设置: 1.mapjoin (1.2以后自动默认启动mapjoin)…

前端工程化,前端监控,工作流,部署,性能

开发规范 创建项目的时候,配置下 ESlint,stylelint, prettier, commitlint 等; ESLint 主要功能: ESLint 是一个静态代码检查工具,用于在 JavaScript 代码中识别和报告模式。它的目标是提供一个插件化的 …

最新巨量X-Bogus、_signature参数逆向分析与算法还原

文章目录 1. 写在前面2. 接口分析3. 断点分析4. 扣代码补环境5. 数据解密 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路…

机器学习(四) ----------逻辑回归

目录 1 概述 2 极大似然估计 3 逻辑回归核心思想 3.1 对数似然损失(Log-likelihood Loss) 4 分类问题的评估方法 4.1 混淆矩阵(Confusion Matrix): 4.2 准确率(Accuracy) 4.3 精确率&am…

Redis-配置文件详解

Redis配置文件详解 units单位 配置大小单位,开头定义基本度量单位,只支持bytes,大小写不敏感。 INCLUDES Redis只有一个配置文件,如果多个人进行开发维护,那么就需要多个这样的配置文件,这时候多个配置 文…

kali搭建Vulhub靶场

简单概述 Vulhub是一个面向大众的开源漏洞靶场,借助Docker简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。 Docker是一个开源的容器引擎,它有助于更快地交付应用…

20.接口自动化-Git

1、Git和SVN–版本控制系统 远程服务出问题后,可以先提交commit到本地仓库,之后再提交push远程仓库 git有clone Git环境组成部分 常用Git代码仓库服务-远程仓库 GitHub-服务器在国外,慢 GitLab-开源,可以在自己服务器搭建&…

NASA数据集——2002-2011年全球18.7 至 89.0 千兆赫的亮度温度、海冰浓度和海冰积雪深度三级网格产品(AE_SI12)数据

AMSR-E/Aqua Daily L3 12.5 km Brightness Temperature, Sea Ice Concentration, & Snow Depth Polar Grids V003 三级网格产品(AE_SI12)包括 18.7 至 89.0 千兆赫的亮度温度、海冰浓度和海冰积雪深度。 简介 美国国家航空航天局地球观测系统 Aqu…

STM32睡眠模式

文章目录 前言PWR介绍电源框图上电复位和掉电复位可编程电压检测器低功耗模式模式选择电源控制寄存器 睡眠模式停止模式待机模式 前言 在单片机产品中,例如遥控这类产品,长时间处于待机状态下,所以对于这类产品在待机时就应该尽可能的减少不…

STM32入门_江协科技_5~6_OB记录的自学笔记_GPIO输出_LED流水灯_蜂鸣器

5. GPIO 输出 5.1. GPIO简介 GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V(端口输入5V的电压,之前引脚定义表格中带FT标识的&#xff09…

python视频转码脚本

今天有一个临时的需求,就是需要将一个wmv的初步转码成mp4的格式。找了一圈,免费的工具少,即使有免费的工具,在功能上也是有所限制,或者会给你塞广告或者附带安装其它流氓小游戏或者杀毒程序。 我并非不支持正版&#…

vue 点击平滑到指定位置并绑定页面滑动效果

1.html元素 写出对应的数据块&#xff08;注意添加ref) 用于获取元素位置 <template><div class"index-page" ><div class"top-head" ref"index"><img src"logo.png" style"height: 40px;margin-right: 2…

《解锁数字化劳动合同签约:构建高效的电子合同签约平台》

随着数字化转型的推进&#xff0c;传统的纸质劳动合同签约方式已经无法满足现代企业对于效率和便捷性的需求。电子劳动合同签约平台应运而生&#xff0c;为企业和员工提供了一种更加高效、便捷的合同签署方式。本文将介绍电子劳动合同签约平台的业务架构&#xff0c;探讨其如何…

地图涟漪效果

参考API echarts图表集 useEcharts.js import { onBeforeUnmount, onDeactivated } from "vue"; // import * as echarts from "echarts";/*** description 使用 Echarts (只是为了添加图表响应式)* param {Element} myChart Echarts实例 (必传)* param …

python代码学习案例-用turtle库绘制爱心图形效果

Python爱心代码&#xff0c;我们可以使用多种方法&#xff0c;包括使用turtle库来绘制图形&#xff0c;或者使用字符打印来在控制台中显示爱心。 首先&#xff0c;确保你已经安装了Python&#xff0c;并且你的环境支持turtle库&#xff08;它通常是Python标准库的一部分&#…

Coursera吴恩达深度学习专项课程01: Neural Networks and Deep Learning 学习笔记 Week 01

Week 01 of Neural Networks and Deep Learning Course Certificate 本文是学习 https://www.coursera.org/learn/neural-networks-deep-learning 这门课的笔记 Course Intro 文章目录 Week 01 of Neural Networks and Deep Learning[0] Welcome to the Deep Learning Spec…

Ansible常用变量【上】

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 在Ansible中会用到很多的变量&#xff0c;Ansible常用变量包括以下几种&#xff1a; 1. 自定义变量——在playbook中用户自定义…

基于遗传优化的双BP神经网络金融序列预测算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于遗传优化的双BP神经网络金融序列预测算法matlab仿真&#xff0c;采用的双BP神经网络结构如下&#xff1a; 2.测试软件版本以及运行结果展示 MATLAB2022A版本…

用户登录后端:登录密码解密后用PasswordEncoder验证密码是否正确

前置知识: 前端登录加密看用户登录 PasswordEncoder加密看PasswordEncoder详解 项目中因为要判断用户登录密码是否正确&#xff0c;通过输入错误次数锁住用户 1.后端配置rsa私钥 #密码加密传输&#xff0c;前端公钥加密&#xff0c;后端私钥解密 rsa:private_key: xxxx2. 读…