0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx的RGMII 的PHY层逻辑设计详解

Hx 作者:工程师陈翠 2018-07-02 04:41 次阅读

今天讲解是RGMII的FPGA设计。因为这边文章主要是用XILINX的约束工具,所以标记为XILINX,其实你用altera平台也可以的。设计分为2部分,一部分讲解MDIO操作和IEE802.3寄存器要求。另外一部分主要讲解PHY层的软件设计。

RGMII是千兆网总线,但是比GMII差别在于数据发送和接受是4BIT,RGMII是双边得到数据,所以千万要注意约束双边沿的数据。观察RGMII是不是跟MII很像,所以兼容总线100,M/10M接口

Xilinx的RGMII 的PHY层逻辑设计详解

有人问我,是不是很蛋疼,为啥不用ALTERA和xilinx的 TRI-mode MAC ip核心设计。关键三模式MAC的IP只能挂在nios或者microblaze一类处理器,你还要学习这些处理器平台。而且很多工业以太网也不是基于TCP/IP协议的。所以这次有必要讲述PHY层的操作。

对于PHY模式和MAC模式,主要差别MAC没有前导码和4个字节的CRC32校验码。而PHY层是带这些。经常使用PC软件发送是MAC层发送。

Xilinx的RGMII 的PHY层逻辑设计详解

可以看出前导码是固定,CRC我们下载已经搞好。已经上传了基本CRC的算法文件。CRC32_8_CONTROL.rar?,有人问我为啥要用CRC32校验,如果你不用CRC32,你发给PC,pc不会认你的以太网包的。 ? 注意,CRC校验是不包括前导码还有CRC32的4个字节数据。

crc32_8 crc32_8_inst

.crc(crc) , // output [7:0] crc

.d(p_data) , // input [7:0] d_sig

.calc(calc) , // input calc_sig

.init(init) , // input init_sig

.d_valid(d_valid) ,// input d_valid_sig

.clk(clk_125mhz) ,// input clk_125mhz

.rst_n(rst_n) // input rst_n

);

if((p_data == 8‘hd5) &&(cnt_pre 》= 4’d7))

begin //开始CRC校验

calc 《= 1‘b1;

d_valid 《= 1’b1;

init 《= 1‘b0;

end

else if(cnt_crc 《 3’d4) //4个字节的校验码

begin

d_valid 《= 1‘b1;

calc 《= 1’b0;

init 《= 1‘b0;

cnt_crc 《= cnt_crc + 1’b1;

cnt_pre 《= 4‘d0;

end

else

begin //数据无效,对校验程序设置初始化值

d_valid 《= 1’b0;

calc 《= 1‘b0;

init 《= 1’b1;

end

上述基本问题已经初步解决,关键怎么看待这个设计给用户怎么一个好的接口。初步设想使用两个读和写fifo来兼容三种不同的速度模式。在发送的fifo中提供发送fifo的空闲标示,标示可以发送数据。而接收的fifo上面提供完整帧指示,读缓冲满指示。

Xilinx的RGMII 的PHY层逻辑设计详解

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119388
  • RGMII
    +关注

    关注

    0

    文章

    22

    浏览量

    12040
收藏 人收藏

    评论

    相关推荐

    RGMII接口案例:二个设备共享一个PHY

    最近项目中,FPGA通过多个RGMII接口与其他设备通信,在通信的过程中,有一个RGMII接口对端设备始终无法驱动,最后通过共享一个PHY,时分复用的形式来“解决”该问题
    的头像 发表于 11-27 16:47 5061次阅读
    <b class='flag-5'>RGMII</b>接口案例:二个设备共享一个<b class='flag-5'>PHY</b>

    RGMII总线上挂两片PHY是否可行

    RGMII总线上挂两片PHY是否可行,会不会出现阻抗匹配等问题?其中一片PHY只收不发
    发表于 04-25 17:30

    静态时序分析与逻辑设计

    静态时序分析与逻辑设计
    发表于 12-08 14:49

    GMII和RGMII主要的接口

    一、前言  网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG。但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统。这类接口总线位
    发表于 07-29 06:39

    逻辑设计是什么意思

    偏硬件:接口电路中的门组合电路;偏软件:算法、接口控制器实现中的状态机群或时序电路。随着逻辑设计的深入,复杂功能设计一般基于同步时序电路方式。此时,逻辑设计基本上就是在设计状态机群或计数器等时序电路
    发表于 11-10 06:39

    RK3288 RGMII如何连接百兆PHY DP83822?

    RK3288 RGMII如何连接百兆PHY DP83822?
    发表于 03-03 07:28

    FPGA 控制 RGMII 接口 PHY芯片基础

    网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG。但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统。这类接口总线位宽小,可以
    发表于 06-06 15:43

    ASIC与大型逻辑设计实习教程

    ASIC与大型逻辑设计实习课 AgendaCell Base IC DesignModelSimLibraryProjectVHDL Compiler & SimulationSimulation WindowsTutorialLab
    发表于 06-19 09:45 0次下载

    组合逻辑设计实例_国外

    组合逻辑设计实例_国外:
    发表于 12-16 15:08 24次下载
    组合<b class='flag-5'>逻辑设计</b>实例_国外

    《数字电路与逻辑设计》答案

    《数字电路与逻辑设计》答案
    发表于 06-25 08:19 23次下载

    基于RGMII+phy的典型应用快速入门

    ZynqZU+ Mpsoc的以太网使用普遍,从功能大致分为2类应用:调试管理、数据传输。本文主要集中在PS端的Ethernet RGMII外接phy设计和调试,该部分客户用的最多也最容易出问题,希望
    的头像 发表于 09-29 10:47 6148次阅读
    基于<b class='flag-5'>RGMII+phy</b>的典型应用快速入门

    《数字电路与逻辑设计》李晓辉版课后答案详解

    《数字电路与逻辑设计》李晓辉版课后答案详解
    发表于 12-27 11:18 0次下载

    Xilinx KU系列三速以太网IP核RGMII时序约束方法

    基于RGMII时序广泛应用于以太网通信中,基于Xilinx的三速以太网时序分析,不同的Xilinx系列方法不一样
    的头像 发表于 07-07 14:15 3403次阅读
    <b class='flag-5'>Xilinx</b> KU系列三速以太网IP核<b class='flag-5'>RGMII</b>时序约束方法

    数字电路与逻辑设计

    电子发烧友网站提供《数字电路与逻辑设计.ppt》资料免费下载
    发表于 03-11 09:21 1次下载

    基于VHDL的组合逻辑设计

    电子发烧友网站提供《基于VHDL的组合逻辑设计.ppt》资料免费下载
    发表于 03-11 09:23 2次下载