xge_mac学习(2) -- 模块结构
说到MAC,全名叫做Media Access Control, 媒体访问控制
一般认为有线网的MAC具备以下几大功能【摘自《计算机网络,自顶向下方法》】:
(1)提供对物理层和对上层的接口。
(2)Framing, 成帧。
(3)差错检测和纠正。
xge_mac自带一个简单的spec。spec最开始有一个框图介绍了这个设计的结构。
可以看到这个MAC设计是XGMII接口,只设计到了802.3协议的MAC层。对外是要连接XGMII接口的PHY。
简单概括下,可以粗略看成4条通路,后面计划对每个模块进行详细分析
Fault 状态机:
连接TX和RX。用来产生Local Fault或者响应Remote Fault从而建立以太网链路。关于Fault状态机的具体定义可以参考802.3/第六章。
TX:
数据从pkt_tx_data读入,通过TX_EnQ转换成TX Data FIFO能够接收的数据格式,存入TX DataFIFO。 TX DeQ模块从Data FIFO取数据,从Hold FIFO(Control FIFO)中存取数据(进行插入PREM,计算CRC,等一系列操作),组成以太网frame,通过xgmii接口发送给物理层。
RX:
从物理层接收frame,通过RX_EnQ、RX Data FIFO 和RX Hold FIFO解析、暂存。RX Data FIFO中的数据通过RX_DeQ
Control/Status(Wishbone):
负责控制发送,存储MAC的状态/产生中断等等。
这个框图比较粗略,可以结合EDA工具生成的原理图进行分析。比如可以将code导入vivado查看elaborate之后的结构。
xge_mac学习(2) -- 模块结构相关推荐
- (一)深度学习项目代码结构
1.代码结构 参考链接:李宏毅2021年机器学习HW2 Phoneme Classification 2.代码细节 获得运行设备 这两种写法的返回值都是字符串 #check device def ge ...
- 对Android和iOS项目中的模块结构和类结构设计的探讨
1. 现有的代码规范缺少探讨的部分 1.1 关于项目的代码结构 通常来说,一个项目由多个模块组成:一个模块由多个类组成:一个类由多个方法组成:一个方法由多条语句组成: 按照代码粒度从大到小,可以划分为 ...
- python分支结构的关键字_学习python分支结构
学习python分支结构 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 学习python分支结构.txt ] (友情提示:右键点上行txt文档名->目标另 ...
- node-webkit学习(2)基本结构和配置
node-webkit学习(2)基本结构和配置 文/玄魂 目录 node webkit学习(2)基本结构和配置 前言 2.1 基本程序结构 2.2 package.json 2.2.1 必须的配置 ...
- AI:一个20年程序猿的学习资料大全—结构分析软件/办公软件/电气制造控制/高级语言编程/平面三维设计/视频编辑/FQ格式转换软件——只有你不想要的,没有你找不到的
AI:一个20年程序猿的学习资料大全-结构分析软件/办公软件/电气制造控制/高级语言编程/平面三维设计/视频编辑/FQ格式转换软件--只有你不想要的,没有你找不到的 目录 (有偿提供,替朋友转载,扫描 ...
- Python学习--Selenium模块
1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台 转载于:https://www.cnblo ...
- 学习之模块架构 DotNetNuke 6
前面的博客介绍了: 如何在本地安装DNN6 如何创建DNN模块 博客园原文地址 : 学习之模块架构 DotNetNuke 6 这篇博客主要是讲模块的架构和加载,以及模块与DotNetNuke门户网站 ...
- 【解析】在设计软件的模块结构时,()不能改进设计质量
在设计软件的模块结构时,()不能改进设计质量: A.尽量减少高扇出结构 B.尽量减少高扇入结构 C.将具有相似功能的模块合并 D.完善模块的功能 解析: 在结构化设计中,系统由多个逻辑上相对独立的 ...
- 嵌入式Linux系统编程学习之一目录结构
嵌入式Linux系统编程学习之一目录结构 文章目录 嵌入式Linux系统编程学习之一目录结构 前言 一.Linux目录结构 前言 Linux目录结构 一.Linux目录结构 /bin:存放Linux的 ...
最新文章
- Springboot之YAML语法
- 【ZooKeeper Notes 15】Watcher使用的注意事项
- 时间被空间和运动度量
- Android 文件布局一些细节备忘
- 结队作业,小学生3年级数学题出题器
- 飞机大战-控制飞机左右移动二
- 常见的Java审计代码函数关键字_转载:Java代码审计汇总系列(一)——SQL注入
- HackingTeam重磅炸弹: 估值超1000万美金带有军火交易性质的木马病毒以及远控源码泄露
- 每天一道Rust-LeetCode(2019-06-02)
- 关于deployment descripter(web.xml)的认识
- paip.网站上传服务里需要做的操作流程
- 使用PacketSifter从pcap中筛选有价值的信息
- FPGA学习网站推荐
- 服务器视频文件外链,视频图床 视频外链网站 视频上传外链分享
- 阿里云 RDS CPU性能优化
- ffmpeg java 合并_[置顶] ffmpg简介以及用它实现音频视频合并(java)
- python数字图像处理以及绘图
- USB gadget(1)----gadget driver
- java保存图片_java 保存图片
- 51NOD L4-第三章 树 刷题记录-zgw