Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC Wrapper v1.8分析

原创作品,请引用保留链接。http://blog.csdn.net/HengZo/article/details/52052787

邮箱:[email protected]


2016.7.28,开始着手分析这个IP核,分析功能和使用教程,并完成在板调试。分析这个主要用于光纤通信应用。

1)封装的IP核,,不使用输入引脚接地,不使用输出引脚不接。
                unused inputs are tied low and unused outputs are disconnected.
2)CORE Generator GUI根据设置,对IP核进行了封装(wapper),总共进行了三层封装。
    
最底层:源程序文件:V5EMAC.v
   例化了 Ethernet MAC,即TEMAC这个内核IP primitive。最底层文件为:V5EMAC.v,只是例化了TEMAC:
      module V5EMAC(...);
  ...
  ...
// Instantiate the Virtex-5 Embedded Ethernet EMAC
  TEMAC v5_emac(...);   //例化TEMAC
  ...
  ...
 endmodule
 
 末尾的MAC地址设置如下:这两个地址如何理解?
 // Set the Pause Address Default
      //synthesis attribute EMAC0_PAUSEADDR of v5_emac is 48'hFFEEDDCCBBAA
      defparam v5_emac.EMAC0_PAUSEADDR = 48'hFFEEDDCCBBAA;


      //synthesis attribute EMAC0_UNICASTADDR of v5_emac is 48'h000000000000
      defparam v5_emac.EMAC0_UNICASTADDR = 48'h000000000000;
 
      V5EMAC只是实现了MAC层的控制,后级接物理层实现,
 // Instantiate RocketIO tile for SGMII or 1000BASE-X PCS/PMA Physical I/F
 GTP_dual_1000X GTP_DUAL_1000X_inst(...) 
 
 125M时钟输出则是由GTP_dual_1000X产生并输出
 
 
第二层:例化了V5EMAC和时钟、物理接口  文件:V5EMAC_block.v

module V5EMAC_block(...);
   // The RocketIO transceivers are available in pairs with shared
        // clock resources
        // 125MHz clock is used for GTP user clocks and used
        // to clock all Ethernet core logic.
        assign usrclk2                   = CLK125;     //输入时钟
// Connect previously derived client clocks to example design output ports
// EMAC0 Clocking
// 125MHz clock output from transceiver
assign CLK125_OUT                = refclkout;   //输出时钟

// Instantiate RocketIO tile for SGMII or 1000BASE-X PCS/PMA Physical I/F
GTP_dual_1000X GTP_DUAL_1000X_inst(...);

// Instantiate the EMAC Wrapper (V5EMAC.v) 
V5EMAC v5_emac_wrapper_inst(...);
endmodule

第三层:V5EMAC_locallink.v
 例化了V5EMAC_block和收发FIFO
对接收FIFO例化了locallink接口
// The module declaration for the MAC with FIFO design.
module V5EMAC_locallink(...);
  // Instantiate the EMAC Wrapper (V5EMAC_block.v)
  V5EMAC_block v5_emac_block_inst(...);
  
  // Instantiate the client side FIFO
  eth_fifo_8 client_side_FIFO_emac0 (...);
  
endmodule

    这三层已经完成了EMAC的封装工作。

软件继续进行了一个example的演示封装,对V5EMAC

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值