碧波液压网 欢迎你,游客。 登录 注册

基于FPGA的位宽可扩展多路组播复制的实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 概述

  组播是一种数据包传输方式,当有多台主机同时成为一个数据包的接受者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。在T比特路由器4X2.5G线路接口模块的硬件实现中,我们需要将数据发送到不同的目的端口,而这些端口又不是所有的目的端口。根据数据携带的组播目的端口号可以实现数据的复制,这就是本文所提到的组播复制。我们用VHDL语言在FPGA内部编程将其实现。本文第2节给出用VHDL语言在FPGA内部编程实现组播复制的过程,第3节总结全文。

  2 实现

  我们选用EP1SGX40G FPGA芯片。Stratix™ GX 是Altera 系统级可编程芯片系列中的旗舰产品,把复杂的FPGA设计提升到了系统集成的新高度。Stratix™ GX器件具有多达20个全双工收发器通道,每个通道的速率可高达3.125Gbps,满足了高速背板和芯片间通信的需求,融合了业界最快的FPGA体系和高性能的数千兆收发器技术。另外,Stratix™ GX器件具有嵌入均衡电路,每个通道的功耗非常低,具有40英寸的FR4背板驱动能力。Stratix GX器件也提供了具有专用动态相位调整(DPA)电路的源同步差分信号,工作速率可高达1Gbps。

  EP1SGX40G型号的FPGA具有41,250个逻辑单元(LE),20个全双工收发器通道,45个全双工源同步通道,RAM总量3Mibt,14个DSP模块;112个嵌入乘法器,8个PLL,芯片封装为1020管脚BGA封装。

  用FPGA对四路组播复制的实现原理图如图1所示。数据data_in写入4个FIFO,根据组播目的端口号选择输出。数据格式定义:data(7 downto 0)数据、data(8)包头指示(sop)、data(9)包尾指示(eop)、data(13 downto 10)组播目的端口号,13、12、11、10位分别表示a、b、c、d端口,高有效。主要程序如下:

基于FPGA的位宽可扩展多路组播复制的实现

  图1 四路组播复制实现原理图

  2.1.实体说明

  该程序已在ALTERA公司的quartusII4.1环境下用VHDL编程实现,其仿真波形如图2所示。

基于FPGA的位宽可扩展多路组播复制的实现

基于FPGA的位宽可扩展多路组播复制的实现

基于FPGA的位宽可扩展多路组播复制的实现

基于FPGA的位宽可扩展多路组播复制的实现

 

  图2 组播复制时序仿真图

  3 结束语

  根据组播目的端口号,用VHDL语言对FPGA内部编程实现四路组播复制。仿真结果显示,该程序完全符合设计要求。通过扩展,该设计可以应用于多路组播复制,同时,我们也可以容易地扩展数据的位宽,因而该设计具有较好的应用前景。

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论