请选择 进入手机版 | 继续访问电脑版

fpga论坛|fpga设计论坛

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 139|回复: 5

基于Xilinx FPGA的嵌入式串行千兆以太网设计

[复制链接]
月影星痕 发表于 2019-8-13 09:14:23 | 显示全部楼层 |阅读模式
随着通信技术的发展,千兆以太网因在传输中具备高带宽和高速率的特点,成为高速传输设备的首选。基于Xilinx FPGA的嵌入式系统设计整合了一系列的知识产权(IP)核使其功能强大,从而使得利用FPGA进行嵌入式串行千兆以太网开发成为可能。
本设计使用Xilinx公司65 nm工艺级别的Virtex5 FXT系列芯片,满足嵌入式系统设计所应具备的高性能、高密度、低功耗和低成本的要求。V5 Hard TEMAC模块提供了专用的以太网功能,并通过FPGA内部高速串行收发器GTX和Marvell公司的88E1111物理层接口芯片相连,完成串行千兆以太网的接口功能。物理层接口芯片支持MII、GMII、RGMII 和SGMII四种以太网接口模式。相对GMII接口而言,SGMII接口的I/O端口数目少,便于PCB布线,并且数据信号以差分对的形式出现,有利于保证信号完整性[1]。

本文将FPGA内嵌PowerPC硬核处理器、Xilinx精简嵌入式操作系统Xilkernel,以及相应的外设IP Core相结合,完成嵌入式串行千兆以太网的设计。
1 总体设计
系统硬件平台中选用Xilinx公司的Virtex5 FX70t作为主控芯片,它集成了PowerPC440处理器模块和高速RockeTIO GTX收发器。
外部存储器采用Micron公司的128M&TImes;16位DDR SDRAM芯片MT47H128M16HG 31T,为程序运行提供空间。
在网络芯片方面有两种方案可供选择,即单物理层芯片方案和物理层加MAC层集成于同一芯片方案[2]。基于易于控制方面的考虑,采用Marvell公司的88E1111单物理层接口芯片作为解决方案,该芯片支持10BASET、100BASETX和1000BASET以太网协议。本系统硬件由Virtex5 FX70t芯片、88E1111 PHY芯片、DDRII芯片、8个拨码开关(8DIPS)、8个LED灯和RJ45接口构成,其连接框图如图1所示。



串行千兆以太网设计中,需使用FPGA内部RockeTIO GTX收发器完成SGMII链路的建立。RockeTIO GTX是集成在Virtex5 FX70t芯片中灵活的、功能可配置的千兆位级串行收发器,支持750 Mbps~6.5 Gbps的数据传输速率,满足千兆以太网系统设计中数据传输速率的要求。本设计通过在FPGA中例化EMAC硬核,并将相应的FPGA端口和外部PHY芯片88E1111相连完成SGMII链路的建立。SGMII接口使用全双工模式,有收发两个独立的通道,每个通道使用一对差分信号线,采用无时钟信号模式,RocketIO GTX收发器从串行数据中恢复时钟用于差分数据的发送与接收。
SGMII接口实现框图如图2所示。


本系统基于Xilinx公司嵌入式系统开发工具EDK12.3完成软硬件协同设计。EDK12.3由XPS (Xilinx Platform Studio)、SDK(Software Development Kit)等组成。设计时需在XPS环境下添加所需的IP核,生成硬件系统框架,并添加相应的引脚约束和时序约束,然后调用Platgen生成嵌入式系统硬件部分的网表(.NGC)文件和比特(.bit)文件,并通过软件描述文件(.MSS文件)来设置系统软件配置;接着将硬件设计导入到SDK中,并在SDK中生成各个外设的驱动层和库,设置相应软件的操作系统、库、外设驱动的属性,添加应用软件项目并编写应用软件;最后,调用处理器对应的编译器编译软件并和硬件可执行文件合成后,生成最终的二进制比特文件,下载到目标板进行系统调试[3]。
2 PowerPC的硬件设计
设计中采用的FPGA内嵌硬核处理器PowerPC440属于32位精简指令集嵌入式处理器,它采用扩展型BookE结构,其内部包括一个高性能、可双指令处理并有七级流水线的微内核。同时,具有灵活的存储器管理单元(MMU)、3个相互独立的128位PLB总线接口、4个直接存储器存储(DMA)控制单元,以及设备控制寄存器(DCR) 等[4]。它集成了32 KB指令和32 KB数据缓存,在550 MHz时钟频率下可提供高达1 100 DMIPS的性能。在本设计中,PowerPC440通过PLB总线与外设端口相连,其硬件架构如图3所示。



系统硬件平台的搭建(包括PowerPC处理器功能配置、系统总线结构以及相应的地址映射)均在EDK集成开发环境XPS中完成。
设计中采用片内高速数据总线PLB连接各种控制IP核,PowerPC440通过PLB总线完成对内部IP核以及外设的访问和控制功能。其中,外部PHY芯片通过与在FPGA内部例化EMAC核(Ethernet MAC)相连,挂载在PLB总线上,完成SGMII链路的建立;DDR II芯片通过IP核多端口存储控制器(Multiport Memory Controller,MPMC)挂载在PLB总线上,实现外部存储功能;串口通过串口控制器IP核(Xps_uartlite)与PLB总线相连,用于打印输出调试状态信息;8个拨码开关DIP和LED灯分别通过GPIO口与PLB总线相连,实现简单的控制与状态显示功能。
Sunlife 发表于 2019-8-13 10:39:27 | 显示全部楼层
                    
晓灰灰 发表于 2019-8-13 14:23:28 | 显示全部楼层
基于Xilinx FPGA的嵌入式串行千兆以太网设计
大鹏 发表于 2019-8-14 15:45:32 | 显示全部楼层
基于Xilinx FPGA的嵌入式串行千兆以太网设计
大鹏 发表于 2019-8-15 17:13:37 | 显示全部楼层
基于Xilinx FPGA的嵌入式串行千兆以太网设计
zxopenljx 发表于 6 天前 | 显示全部楼层
感谢楼主分享
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

QQ|小黑屋|手机版|Archiver|FPGA论坛 ( 京ICP备10035964号  

GMT+8, 2019-8-23 15:28 , Processed in 0.077489 second(s), 22 queries .

至芯科技 Powered by Discuz X3.2

© 2001-2014 Comsenz Inc.

快速回复 返回顶部 返回列表