0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用Virtex- ⅡPro系列FPGA可进行硬件和软件开发

电子设计 来源:郭婷 作者:电子设计 2019-05-07 08:13 次阅读

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。随着通信技术的飞速发展,为满足高速数字电路数字信号处理等对时钟管理、信号完整性、高速宽带接口的要求,高速处理器通信的融合日趋紧密,高速处理器、可编程逻辑器件和高速存储器成为设计的关键。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 所示。


采用Virtex- ⅡPro系列FPGA可进行硬件和软件开发

应用系统结构

数据纠错译码接入设备要求对同步传输的数据进行帧同步、解扰、纠错译码处理并对处理后的数据进行网络接入。在以太网接入部分,要求对解码后的数据进行IP 协议封装,然后使用数据链路层协议对协议包进行以太网帧的封装,最终通过网口接入局域网。

在对Virtex - II 系列FPGA 充分理解和研究的基础上,根据系统设计需求,进行系统硬件的设计。本设计采用了VII - Pro 系列的XC2VP7FG456 芯片,在芯片内部设计嵌入了一个PowerPC405 处理器IP核。应用系统由XC2VP7FG456 芯片及其上电复位电路, 系统时钟电路、内存电路、程序存储电路、PROM电路、以太网PHY接口电路和RS - 232 接口电路、JTAG接口、LVPECL 电平接口电路组成。系统组成框图如图2 所示。

采用Virtex- ⅡPro系列FPGA可进行硬件和软件开发

由于FPGA 可允许PowerPC 硬IP 核心分布在Virtex 结构中的任何位置,设计时需要综合考虑系统的设计要求,合理地指定FPGA 各个管脚的信号。考虑到输入输出标准的不同,FPGA 芯片划分了8 个不同的Bank ,每个Bank 可支持不同的I/ O 特性。在设计过程中,尽量把同一特性的外围芯片管脚连接到FPGA 芯片的同一Bank 的IO 管脚。同时,为了方便进行调试,可将FPGA 芯片内部不可测内部状态引到空余管脚。

应用系统实现

1.系统时钟

参考时钟由外部晶振产生,通过FPGA 芯片全局时钟管脚接入到FPGA 内部数字时钟管理模块(DCM) 和时钟分配树。DCM 支持超过400 MHz 的时钟输出,提供了一个可保证精确50/ 50 占空比的零延迟时钟缓冲。同时提供了精确控制90 ,180 ,270 相移的能力,实现对时钟信号的综合,支持24~420 MHz间的精确频率产生。在FPGA 内部,DCM统一分配时钟信号,将DCM 的时钟输出设置为PowerPC 的系统时钟,并提供给PLB ,OPB 总线仲裁器。

2.外部存储器

PPC405 的PLB 总线支持高性能的高速存储器,如DDR RAM,SDRAM 等。OPB 总线支持通用的存储电路, 如EPROM, SRAM, FALSH 和外部寄存器等低速的存储器。在本设计中采用了2 片MT48V8M16 高速同步SDRAM, 构成PowerPC405处理器数据总线宽度32 位,容量为32 MB 的外部数据存储区。在编辑MHS 文件时, 选择加入PLBSDRAM核,在其中配置存储器地址总线和数据总线宽度,指定存储区的起始地址。程序存储器除选用OPB 总线外,其余设置与数据存储器类似。

3.以太网接口

在FPGA 内部集成10/ 100 MEthernet MAC 核。外接BCM5221 以太网物理层芯片,该芯片适用于IEEE802. 3 物理层的应用,然后通过网络变压器后接入以太网。在编辑MHS 文件时,选择加入以太网MAC 层内核。

4.RS232 接口

根据需要,在FPGA 内部集成UART 控制器,外接RS232 电平转换器,连接到计算机的串口,用作应用程序的调试信息输出。在MHS文件中可配置串口的波特率,数据位宽度,奇偶校验等设置。

5.在线可编程PROM

FPGA 是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据通过外部控制电路微处理器加载到FPGA 内部的SRAM 中,由于SRAM 的易失性,每次上电时,都必须对FPGA 进行重新配置。在实际应用时,采用2 片XC18V04 PROM,用以存放FPGA 的配置数据流。通过硬件跳线将FPGA 设置为串行主模式配置方式,在FPGA 每次上电后,自动将配置数据从PROM读入到SRAM中,实现内部结构映射。

6.JTAG端口

JTAG端口用于进行FPGA 配置信息的下载,编程PROM。在VII - Pro 中嵌入PowerPC 内核时,还可进行应用程序代码的下载和调试。为方便软件代码的调试,除FPGA 专用配置管脚TCK,TMS ,TDO ,TDI外,还可在FPGA 芯片上指定4 个普通I/ O 管脚,内部配置连接PowerPC 内核的JTAG 接口, 用于PowerPC 内核的调试,软件代码跟踪调试。在这种模式下,软件代码可单独下载到PowerPC 内核进行软件的调试。在利用JTAG引脚配置FPGA 时,需要注意:JTAG配置引脚最好接上拉电阻,在配置期间INIT 引脚要接地。

FPGA简介

目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

FPGA芯片结构

目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。如图3所示(注:图3只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯片主 要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。

总结

使用XC2VP7FG456 型FPGA 及其内部的PowerPC405 嵌入处理器开发了数据处理和网络接入板,经电路测试,可实现传输速率为100 Mb/ s的同步数据接收和处理,满足系统需要。 Virtex- ⅡPro 系列FPGA 将可编程逻辑结构和高速处理器集成在同一芯片内部,直接的连接克服了利用总线在FPGA 和附加外部处理器之间接口的重点,支持内部嵌入运行频率高达300 MHz的PowerPC405 处理器IP 核,设计人员可以并行进行快速的硬件和软件开发,在系统结构一级利用可编程性能所提供的优点,从而使设计投入生产所需要的时间更短。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18622

    浏览量

    225009
  • FPGA
    +关注

    关注

    1611

    文章

    21398

    浏览量

    595968
  • 局域网
    +关注

    关注

    5

    文章

    708

    浏览量

    45926
收藏 人收藏

    评论

    相关推荐

    Xilinx可编程逻辑器件的高级应用与设计技巧绝版教程

    1.3 CoolRunner-Ⅱ器件的时序模型1.4 CoolRunner-Ⅱ器件的设计和使用1.5 本章小结第2章 Virtex-Ⅱ/Virtex-Pro系列器件结构及描述2.1
    发表于 02-27 14:43

    XC2V1000-4FGG456C XILINX Virtex-II™ 系列介绍

    介绍   Virtex®的6系列FPGA市场提供的最新、最先进的特性。Virtex-6fpga是具有针对性设计平台的基础可编程硅能提供集成的软件
    发表于 09-06 16:28

    采用高级语言开发FPGA的探索

    进行编译的。本文仅验证了采用高级语言开发FPGA的可行性,还有很多优化工作待完善,仅以此文为大家提供一个新的视角,为软件开发人员利用
    发表于 09-25 10:06

    【下载】《FPGA上的嵌入式系统设计实例(附光盘XILINX大学合作计划指定教材)》

    Virtex-PRO开发板上基于PowerPC硬核的嵌入式人脸检测系统的设计,第7章是XILINX Spartan-3E Starter Kit上基于MicroBlaze软核的Mini VOS服务器
    发表于 12-08 14:30

    嵌入式软件开发系列教程 (很多本书)

    嵌入式软件开发系列教程 (很多本书)
    发表于 03-28 09:45 230次下载

    Virtex-6 FPGA ML605开发评估技术方案

    Virtex-6 FPGA ML605开发评估技术方案 Virtex-6 FPGA是Xilinx公司的目标设计平台,提供集成的
    发表于 04-22 18:07 3720次阅读
    <b class='flag-5'>Virtex</b>-6 <b class='flag-5'>FPGA</b> ML605<b class='flag-5'>开发</b>评估技术方案

    DS112 - Virtex- 4 系列概述

    Xilinx 的 Virtex-4 系列将高级硅片组合模块 (ASMBL) 架构与种类繁多的灵活功能相结合,大大提高了可编程逻辑设计能力,从而成为替代 ASIC 技术的强有力产品。Virtex-4
    发表于 01-17 16:14 6次下载

    基于ASF开发进行ATWINC1500软件开发

    ATWINC1500扩展板是在xPlained Pro上的一种扩展板,进行软件开发,要在Atmel Studio开发环境下进行。首先需要的
    的头像 发表于 06-18 14:57 3779次阅读
    基于ASF<b class='flag-5'>开发</b>库<b class='flag-5'>进行</b>ATWINC1500<b class='flag-5'>软件开发</b>

    详解嵌入式软件开发FPGA开发

    在开始介绍FPGA之前,让我们来回顾一下简单的嵌入式软件开发吧,相信大家或多或少都接触过单片机(Micro Control Unit)的设计流程。
    发表于 07-07 10:24 6179次阅读

    嵌入式软件开发需要懂的硬件基础

    嵌入式软件开发需要懂的硬件基础
    发表于 11-03 11:06 25次下载
    嵌入式<b class='flag-5'>软件开发</b>需要懂的<b class='flag-5'>硬件</b>基础

    Eclypse Z7开发板让软件开发人员了解FPGA

    Eclypse Z7 的软件架构包括预构建的 Linux 映像以及软件开发人员可以使用熟悉的编程语言访问的高级 API。这使开发人员能够利用 FPGA
    的头像 发表于 06-06 09:46 1757次阅读
    Eclypse Z7<b class='flag-5'>开发</b>板让<b class='flag-5'>软件开发</b>人员了解<b class='flag-5'>FPGA</b>

    N32G430系列软件开发套件

    N32G430系列软件开发套件
    发表于 11-10 19:51 0次下载
    N32G430<b class='flag-5'>系列</b><b class='flag-5'>软件开发</b>套件

    嵌入式硬件软件开发工具趋势

    嵌入式硬件软件开发工具趋势
    的头像 发表于 12-28 09:51 863次阅读

    助力软件开发者—扩展FPGA应用开发

    电子发烧友网站提供《助力软件开发者—扩展FPGA应用开发.pdf》资料免费下载
    发表于 09-18 10:14 0次下载
    助力<b class='flag-5'>软件开发</b>者—扩展<b class='flag-5'>FPGA</b>应用<b class='flag-5'>开发</b>

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的
    的头像 发表于 01-22 15:27 1217次阅读