Virtex-Ⅱ Pro FPGA的嵌入系统设计与应用
扫描二维码
随时随地手机看文章
随着通信技术的飞速发展,为满足高速数字电路和数字信号处理等对时钟管理、信号完整性、高速宽带接口的要求,高速处理器与通信的融合日趋紧密,高速处理器、可编程逻辑器件和高速存储器成为设计的关键。Virtex- ⅡPro 系列FPGA 将可编程逻辑结构和高速处理器集成在同一芯片内部,直接的连接克服了利用总线在FPGA 和附加外部处理器之间接口的瓶颈。
Virtex-II Pro 简介
Virtex- ⅡPro 系列最大容量的FPGA 目前能提供多达5 万个逻辑单元具有超过10 Mb 的RAM;556 个乘法单元12 个数字时钟管理单元以及24个集成3. 125 GbPs 的Rocket IOTM 收发器最大可提供1 200 个IO 引脚, 支持CMOS、SSTL 、HSTL 、LVDS、GTL 和3. 3V PCI 信号标准。Virtex - II Pro 系列FPGA 支持多达4 个运行频率高达300 MHz 的PowerPC 405 处理器。PowerPC405 采用嵌入式300 MHz哈佛(Harvard) 结构的RISC 核具有五级数据通道流水线、硬件乘除单元、32 个32 位通用寄存器、16 KB指令Cache 和16 KB 数据Cache 、1 KB~16MB 可变页尺寸组成存储器管理单元(MMU) 和专用的片内存储器接口。
PowerPC405 处理器由IBM CoreConnect 技术支持,CoreConnect 是运行在100~133 MHz 的64 位总线,为了使系统设计灵活性达到最大,CoreConnect 结构是作为软IP 核在Virtex - ⅡPRO FPGA 中实现的。CoreConnect 总线结构有2 个主要总线组成,处理器局部总线(PLB) 和片内外设总线(OPB) 。这些总线可以用来分别连接高速和低速外设到PowerPC处理器。此外,设备控制寄存器总线对通用外设器件寄存器的进行管理和控制。
EDK(Embedded Development Kit) 是Xilinx 公司提供的嵌入开发工具,用于在FPGA 内部集成多种不同的IP 核,可方便地规划、设计并生成整个片上系统的硬件和软件结构。通过编写硬件描述文件(MHS) 来设置FPGA 内部硬件系统,主要包括定制嵌入处理器PowerPC405、外围设备IP 核、设定外部存储器和其他外设的地址空间、管理外围设备的控制信号及中断信号。EDK 的硬件生成平台根据用户编辑的MHS 文件生成相应的VHD 文件,原理图文件等,同时支持系统仿真。EDK工具提供了大量可供使用的IP 核, 包括SDRAM,DDRRAM,UARTController ,10/ 100 M以太网MAC ,总线仲裁器等,使FPGA 可方便地与其他外围器件连接。EDK 实现FPGA 片内软、硬件设计过程如图1 所示。
应用系统结构
数据纠错译码接入设备要求对同步传输的数据进行帧同步、解扰、纠错译码处理并对处理后的数据进行网络接入。在以太网接入部分,要求对解码后的数据进行IP 协议封装,然后使用数据链路层协议对协议包进行以太网帧的封装,最终通过网口接入局域网。
在对Virtex - II 系列FPGA 充分理解和研究的基础上,根据系统设计需求,进行系统硬件的设计。本设计采用了VII - Pro 系列的XC2VP7FG456 芯片,在芯片内部设计嵌入了一个PowerPC405 处理器IP核。应用系统由XC2VP7FG456 芯片及其上电复位电路, 系统时钟电路、内存电路、程序存储电路、PROM电路、以太网PHY接口电路和RS - 232 接口电路、JTAG接口、LVPECL 电平接口电路组成。系统组成框图如图2 所示。
由于FPGA 可允许PowerPC 硬IP 核心分布在Virtex 结构中的任何位置,设计时需要综合考虑系统的设计要求,合理地指定FPGA 各个管脚的信号。考虑到输入输出标准的不同,FPGA 芯片划分了8 个不同的Bank ,每个Bank 可支持不同的I/ O 特性。在设计过程中,尽量把同一特性的外围芯片管脚连接到FPGA 芯片的同一Bank 的IO 管脚。同时,为了方便进行调试,可将FPGA 芯片内部不可测内部状态引到空余管脚。
应用系统实现
系统时钟
参考时钟由外部晶振产生,通过FPGA 芯片全局时钟管脚接入到FPGA 内部数字时钟管理模块(DCM) 和时钟分配树。DCM 支持超过400 MHz 的时钟输出,提供了一个可保证精确50/ 50 占空比的零延迟时钟缓冲。同时提供了精确控制90 ,180 ,270 相移的能力,实现对时钟信号的综合,支持24~420 MHz间的精确频率产生。在FPGA 内部,DCM统一分配时钟信号,将DCM 的时钟输出设置为PowerPC 的系统时钟,并提供给PLB ,OPB 总线仲裁器。
外部存储器
PPC405 的PLB 总线支持高性能的高速存储器,如DDR RAM,SDRAM 等。OPB 总线支持通用的存储电路, 如EPROM, SRAM, FALSH 和外部寄存器等低速的存储器。在本设计中采用了2 片MT48V8M16 高速同步SDRAM, 构成PowerPC405处理器数据总线宽度32 位,容量为32 MB 的外部数据存储区。在编辑MHS 文件时, 选择加入PLBSDRAM核,在其中配置存储器地址总线和数据总线宽度,指定存储区的起始地址。程序存储器除选用OPB 总线外,其余设置与数据存储器类似。
以太网接口
在FPGA 内部集成10/ 100 MEthernet MAC 核。外接BCM5221 以太网物理层芯片,该芯片适用于IEEE802. 3 物理层的应用,然后通过网络变压器后接入以太网。在编辑MHS 文件时,选择加入以太网MAC 层内核。
RS232 接口
根据需要,在FPGA 内部集成UART 控制器,外接RS232 电平转换器,连接到计算机的串口,用作应用程序的调试信息输出。在MHS文件中可配置串口的波特率,数据位宽度,奇偶校验等设置。
在线可编程PROM
FPGA 是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据通过外部控制电路或微处理器加载到FPGA 内部的SRAM 中,由于SRAM 的易失性,每次上电时,都必须对FPGA 进行重新配置。在实际应用时,采用2 片XC18V04 PROM,用以存放FPGA 的配置数据流。通过硬件跳线将FPGA 设置为串行主模式配置方式,在FPGA 每次上电后,自动将配置数据从PROM读入到SRAM中,实现内部结构映射。
JTAG端口
JTAG端口用于进行FPGA 配置信息的下载,编程PROM。在VII - Pro 中嵌入PowerPC 内核时,还可进行应用程序代码的下载和调试。为方便软件代码的调试,除FPGA 专用配置管脚TCK,TMS ,TDO ,TDI外,还可在FPGA 芯片上指定4 个普通I/ O 管脚,内部配置连接PowerPC 内核的JTAG 接口, 用于PowerPC 内核的调试,软件代码跟踪调试。在这种模式下,软件代码可单独下载到PowerPC 内核进行软件的调试。在利用JTAG引脚配置FPGA 时,需要注意:JTAG配置引脚最好接上拉电阻,在配置期间INIT 引脚要接地。[!--empirenews.page--]
结束语
本文成功使用XC2VP7FG456 型FPGA 及其内部的PowerPC405 嵌入处理器开发了数据处理和网络接入板,经电路测试,可实现传输速率为100 Mb/ s的同步数据接收和处理,满足系统需要。Virtex - IIPro 系列FPGA 支持内部嵌入运行频率高达300 MHz的PowerPC405 处理器IP 核,设计人员可以并行进行快速的硬件和软件开发,在系统结构一级利用可编程性能所提供的优点,从而使设计投入生产所需要的时间更短。