基于FPGA的千兆以太网的设计

更新时间:2023-05-30 02:59:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

FPGA的IP核开发

 基于FPGA的千兆以太网的设计

李璇   敖发良

桂林电子科技大学信息与通信学院   广西   541004

摘要:本文简要介绍了Xilinx最新的EDK9.1i和ISE9.1i等工具的设计使用流程,最终在采用65nm工艺级别的Xilinx Virtex-5开发板ML505上同时设计实现了支持TCP/IP协议的10M/100M/1000M的三态以太网和千兆光以太网的SOPC系统,并对涉及的关键技术进行了说明。

关键词:FPGA;EDK;SOPC;嵌入式开发;EMAC;MicroBlaze

0  引言

目前,IP电视、视频流、网络游戏以及多媒体互动等业务逐步成为关注的焦点。然而高清晰度的交互视频是带宽的巨大消耗者,进一步提升接入带宽已经迫在眉睫。FPGA产品设计完善,可以直接编程。还具备可定制的灵活性,避免了较高的NRE(不可回收)成本。这都使得基于SOPC的嵌入式开发逐渐成为新技术发展的最前沿。嵌入式系统不同于通用型PC,具有以下特点:①低功耗、体积小、集成度高;②严格约束,嵌入式系统的硬件和软件都必须高效率地设计;③实时性,有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。

本研究采用业界最新的Xilinx 65ns工艺级别的Virtex-5LXT FPGA高级开发平台,满足了对于建造具有更高性能、更高密度、更低功耗和更低成本的可编程片上系统的需求。Virtex-5以太网媒体接入控制器(EMAC)模块提供了专用的以太网功能,它和10/100/1000Base-T外部物理层芯片或RocketIOGTP收发器、SelectIO技术相结合,能够分别实现10M/100M/1000M的三态以太网和千兆光以太网的SOPC系统。

Xilinx FPGA设计工具ISE、Chipscope和PlanAhead等就能够实现硬件FPGA 设计。本文使用的是Xilinx发布最新的版本ISE9.1i、EDK9.1i和Chipscope9.1i。

Xilinx ML-505型开发板基于Virtex-5 LXT芯片,板载频率为550MHZ的DDR-2大容量内存256M、非易失性闪存、10/100/1000 Base-T外部物理层芯片(Marvell Alaska 88E1111)、小型可插式(SFP)光纤收发器以及PCI Express接口等大量有用的外部资源。使用EDK的主开发平台XPS 即可搭建千兆以太网SOPC 的硬件平台。三态千兆以太网SOPC 系统在EDK下设计的基本组成如图2所示。

图2  千兆以太网系统组成

1  千兆以太网总体设计

EDK是Xilinx 推出的基于其FPGA器件开发的嵌入式系统集成开发工具,EDK开发流程如图1所示。

其中,EMAC 封装IP核用CORE GeneratorTM生成;125MHZ的参考输入时钟由板载锁相回路产生。除了时钟逻辑和与物理层接口的逻辑,EMAC封装IP核还包括了本地总线(LocalLink)FIFO,它提供了MicroBlaze和EMAC之间的高速互连。通过软件生成的GUI,还可以选择EMAC0或是EMAC1通过本地总线与输入和输出的FIFO连接。主机接口(OPB_HOST)用于连接EMAC的管理数据接口(MDIO)以及读写和更改接入以太网MAC模块配置寄存器。LED则显示EMAC工作状态。它利用一个125MHz的时钟产生1000 Mbps的数据率;分别利用25MHZ、2.5MHZ来实现100Mbps和10Mbps数据传输。设计完成后,调用MODELSIM软件进行软件仿真,调整时序和逻辑关系。

图1  EDK开发设计流程

2  关键技术

2.1 千兆以太网系统配置

Virtex-5使用32位软的内核处理器,根除了处理器过时问题。在本设计中,

使用的MicroBlaze V6.00a具有5条流水

EDK由多个工具包组成,并提供硬件和软件协同设计的能力。通过MHS文件、MSS文件和MVS文件完整描述了FPGA系统的软硬件结构和仿真验证模型。配合使用其他

作者简介:李璇(1982-),男,信息与通信学院2005级硕士研究生,研究方向:光通信技术,嵌入式系统开发。

2008.5

63

FPGA的IP核开发

线,可以大幅提高指令吞吐量;新的 Mul64 指令可以对 32位进行整数乘法运算,从而得到 64 位结果,可获得较大的性能提升;不同于PowerPC硬核,本系统需要使用microblazeenable_interrupts函数开启外部定时器,完成超时计算。并通过EDK设置整个系统中的Library、Board Support Packages、Operating System和外围IP驱动等。Xilinx Micro Kernel(XMK)是其中一系列库,操作系统和驱动包的一个集合统称。Xilkernel是嵌入式开发系统操作系统微内核。它可提供多任务支持、调度、进程见通讯、同步处理、中断处理等功能。本文使用的lwip TCP/IP协议栈(v2.00.a)来实现TCP/IP协议。工作在Socket API模式。在Xilinx设计环境中,以太网MAC是一个库原语,名为TEMAC。该原语包括一对10/100/1000 Mbps的以太网MAC。每个Virtex-5LXT器件含有四个以太网MAC模块。与的上代产品Virtex-4 FX相比,以太网MAC模块作为一个独立的硬件模块集成在FPGA内部。主机通过DCR 总线直接配置参数,能更方便地开发高速以太网系统。

在Virtex-5 FPGA中,在全局时钟使用、串行接口的灵活性以及软件控制复杂度方面都有了较大的改进。添加了时钟使能特性,可以把生成的时钟用于所有客户端逻辑的物理接口。内部产生的时钟使能,保证在每个接口正确的数据吞吐率。设计还支持VLAN帧和巨型帧。TEMAC功能模块如图3所示。

保证了FIFO不溢出和帧不丢失。

(2)主机和DCR总线接口信号。DCR总线也不再与PowerPC连接,而直接连接TEMAC,这样就可以通过通用主机总线或者设备控制寄存器(DCR)总线对主机接口进行访问。另外,Virtex-5 DCR接口为每个以太网 MAC提供了一个单独的基地址。这使得共享 DCR 总线接口对软件驱动程序成为透明的。软件不再需要知道每个单独以太网MAC的位地址;硬件根据基地址自动选择正确的比特位。

(3)管理数据输入输出(MDIO)信号。以太网MAC还有一个管理数据输入输出(MDIO)接口。它允许对以太网MAC、外部PHY的管理寄存器和PCS/PMA内部的物理接口管理寄存器进行访问。主机接口为接入以太网MAC模块配置寄存器提供了通道。配置选项的示例中包括巨帧使能、暂停、单播地址设置以及帧检验序列生成。

其他控制信号还有(4)外部物理层控制信号;(5)吉比特收发器信号;(6)全局时钟和重置信号。篇幅所限不再赘述。

2.3  物理层接口

Xilinx公司生产的Virtex-5 LXT FPGA芯片所集成的RocketIOTMGTP 收发器提供 100 Mbps ~3.2 Gbps 的串行连接性能因此可以与1000BASE-X模式的光模块兼容,当将以太网MAC配置成1000 BASE-X模式时,PCS/PMA模块与RocketIO收发器一起工作,能够提供与吉比特转换器(GBIC)或者小型可插式(SFP) 光纤收发器进行直接连接所需要的所有功能。而且整个系统在数据的编解码和传输速度上都满足千兆光以太网协议协议的要求。

板载的外部三态以太网物理层芯片支持MII、GMII、RGMII和SGMII四种接口模式。这块物理层芯片通过HaloHFJ11-1G01E RJ-45连接器直接连接支持吉比特传输速率的双绞线。

图3  Virtex-5 EMAC功能模块

2.4  FPGA配置方法

本设计有两种FPGA配置方法。一种是使用JTAG方式(通过Xlinx开发套件XPS或者IMPACT)将生成的包含MicroBlaze微处理器的BIT文件下载到FPGA中;另一种是使用支持CompactFlash接口的读卡器将SystemACE文件下载到存储器中并通过CompactFlash控制器和仲裁器配置FPGA。

发送数据时,客户端接口将帧传送给以太网MAC。当接收到的数据小于最短的以太网帧长度时,发送器将该数据加长,并且保持最小的帧间距。还可以通过发送暂停帧来实现流控制。

接收数据时,接口检验传入帧和信号帧误差。TEMAC分别提供了好帧信号和坏帧信号。还可以通过配置以太网MAC以便在检测到有效的暂停帧之后,暂停和重新启动帧传输。

3   结论

本文成功使用Virtex-5 ML505开发板实现了三态以太网和千兆光以太网SOPC系统,通过GUI完成对TEMAC的配置和传输速度模式选择。配合使用板载的PCI Express接口最终可实现高速千兆以太网传输系统,用较低成本解决了网络接入的瓶颈。SOPC技术使得超高速互联网连接在技术和商业上成为可能。

2.2  网络三态以太网TEMAC外部控制信号

Virtex-5基于IBM公司的CoreConnect连接总线。可以方便的控制多个外设。从EMAC功能模块图可以看出,与三态以太网相连的控制信号分成六大类:

(1)用户端信号。包括发送、接收、地址过滤和流控制信号;地址过滤模式通过主机接口配置,使得接收端通过检查接收帧的目标地址来接受或拒绝帧,减轻了用户端和总线负荷。TEMAC通过发送一定时间的暂停帧实现流量控制并

64

2008.5

参考文献

[1]ug194.Virtex-5 Embedded Tri-Mode Ethernet MAC User

Guide.2007.

本文来源:https://www.bwwdw.com/article/a474.html

Top