集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2414|回复: 3

浅析Xilinx 三速以太网MAC IP核(仿真篇)

[复制链接]
zxopenluyutong 发表于 2021-3-21 14:16:41 | 显示全部楼层 |阅读模式
之前在使用Altera的三速以太网MAC IP的基础上,完成了UDP协议数据传输。此次为了将设计移植到xilinx FPGA上,需要用到xilinx的三速以太网MAC IP核,当然也可以自己用HDL编写,但必须对数据链路层协议有非常清晰的认识。以下是在使用xilinx 三速以太网MAC过程中的一些记录和总结。

  在使用IP核传输数据之前要对MAC层功能有个了解。MAC层功能用一个词概括就是“成帧解帧”,具体来讲TX方向对用户侧发送来的MAC帧添加前导码和帧尾校验和,对长度过短帧会在帧尾填充0直至最小帧长,此外流控模块可以根据需要发送pause帧。RX方向过滤掉不符合规范的数据帧并移除填充域,只有目的MAC地址与自身相符且帧尾校验和正确的数据帧才为有效数据帧,去除前导码和校验域后即发送给用户侧。接收端也会根据可能收到的pause帧做出暂停发送处理。

  认识以太网帧结构同样非常重要,目前常见的是Ethernet II和IEEE802.3两种格式,总体可以归纳为:目的MAC地址  源MAC地址  长度/类型  有效负荷(可能有填充)  帧校验,长度依次是6byte、6byte、2byte、46~1500byte、4byte。区别在于Ethernet II帧长度/类型域解释为上层协议类型,而IEEE802.3同样位置是长度字段。区分两者的标准是:当该字段值小于等于1500(十六进制的0x05DC)时,为IEEE802.3格式;当字段值大于等于1536(或者十六进制的0x0600)时,帧使用的是Ethernet II格式。其中Ethernet II最为常见。

  IP核的配置很简单,根据自己的需求设置即可。重点关注第二页,这里选择使用GMII作为物理层接口,并选择三速模式,可以通过接口改动传输速率。
example_clocks:     时钟模块,提供工程中用到的所有时钟信号;

example_resets:     复位模块,产生所有子模块的复位信号;

axi_lite_controller:    控制模块,内部通过状态机对MAC和PHY芯片进行初始化和相应配置工作。

basic_pat_gen_inst:         包测试模块,有两种模式:发送固定样式测试数据包和将收到数据包环回送出给PHY。

trimac_fifo_block:         AXI-S接口异步FIFO和MAC IP核。
 MAC核用户接口时钟为25MHz,位宽为8bit,MAC核提供的tready信号每两周期拉高一周期,速率为25M*8/2 = 100M,因此100M速率是通过tready信号限流实现的。综上,对100M和1000M速率下全双工以太网概念和帧结构、MAC IP核配置以及核心用户接口时序功能均进行了阐述,本人也在学习中,希望对大家有帮助。
afei6969 发表于 2021-3-21 18:55:54 | 显示全部楼层
666666666666666
zhangyukun 发表于 2021-3-22 19:22:09 | 显示全部楼层
浅析Xilinx 三速以太网MAC IP核(仿真篇
zxopenfq 发表于 2021-6-4 15:29:21 | 显示全部楼层
666666666666666666666666
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-23 12:24 , Processed in 0.080145 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表