基于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.
正在阅读:
基于FPGA的千兆以太网的设计05-30
政治经济学试卷及答案(5000字)03-13
检讨书自我反省不认真精选3篇03-25
我要开花给你看作文800字02-05
理论课试题09-30
电路设计常用集成电路参考表12-22
学校主要领导人是传染病防控工作责任人制度03-09
马云谈成功经验02-09
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 以太网
- 千兆
- 基于
- 设计
- FPGA
- 学校公共卫生教育《科学合理膳食》教学案例
- 1000141药理学(药)_第45章抗结核病药及抗麻风病药_1002
- 车载屏(出租车电子广告屏)技术参数方案
- 高三英语上册第一次质量检测题1
- 企业安全生产管理人员任职资格培训习题集-题库
- 英语专插本 介词短语例句
- 大众Formel-Q审查标准
- 潮语俚语英语翻译词典
- 一种改进的QC-LDPC码码型构造
- 高清常用调试命令集合
- 注销税务登记申请审批表填写范本
- 新工人三级安全教育记录卡
- 高二地理必修三知识归纳整理(文科)
- 外研版三年级下册M9U1I’ve got a new book.
- 冀教版三年级下学期语文第十八课习题
- 幼儿园安全工作的看法
- 微机原理与接口技术(钱晓捷版)课后习题答案
- 2014辽宁政法干警考试申论热点:监督一刻也不能松劲
- 圆柱齿轮传动的互换性
- 光的偏振与双折射