你的位置:电感厂 > 先锋技术功率电感

用模块化设计方法实现FPGA动态部分重构

2015-10-20 12:54:56      点击次数:
上一篇:RFID无线地感停车位检测的应用 贴片电感摘要:介绍了XilinxFPGA的配置原理和FPGA模块化设计流程以及划分重构模 块的原则。通过一个实例介绍了采用模块化设计方法实现Virtex-EFPGA动态部分重构的过程,能使重构模块在系统运行时改变其逻辑功能,而固定模 块逻辑功能不中断,同时器件的重构时间大大减少。www.51kaifa.com

关键词:FPGA;动态部分重构;重构;Virtex

随着可编程技术的不断发展,FPGA被广泛应用于电子设计的各个领域。新的设计思想和设计方法也被不断的提出和应用,如FPGA的动态部分重构技术。所谓 动态重构是指对于时序变化的数字逻辑系统,其时序逻辑的发生,不是通过调用芯片内不同区域不同逻辑资源的组合来实现,而是通过对具有专门缓存逻辑资源的 FPGA,进行局部和全局芯片逻辑的动态重构而快速实现。动态可重构FPGA器件在编程结构上应具有专门的特征,其内部逻辑块和内连线的改变可以通过读取 不同的配置比特流文件来实现逻辑重建。动态部分重构是指重新配置FPGA的部分区域,重构过程中,FPGA其余部分的工作状态不受影响。此方式减小了重构 范围和单元数目,从而大大缩短了FPGA的重构时间。

应用FPGA动态部分重构功能使硬件设计更加灵活,可用于硬件的远程升级、系统容错和演化硬件以及通信平台设计[1]等。动态部分重构可以通过两种方法实现:基于模块化设计方法(Module-Based Partial Reconfiguration)和基于差别的设计方法(Difference-Based Partial Reconfiguration),本文以基于模块化设计为例说明实现部分重构的方法。

1 FPGA配置原理简介

本文针对Xilinx公司的FPGA进行研究,支持模块化动态部分重构的器件族有Virtex/-II/-E和Virtex-II Pro。

Xilinx公司FPGA是基于SRAM工艺的,包括配置逻辑块(CLBs),输入输出块(IOBs),块RAMs,时钟资源和编程布线等资源[2]。CLBs是构造用户所需逻辑的功能单元,IOBs提供封装引腿与内部信号引线的接口。可编程互连资源提供布线通道连接可配置元件的输入和输出到相应的网络。

存储在内部配置存储器单元中的数值决定了FPGA实现的逻辑功能和互接方式。Virtex FPGA的配置存储器是由配置列(Configuration Columns)组成的,这些配置列以垂直阵列的方式排列,如图1给出了Virtex-E XCV600E器件的配置列构成图。配置存储器可分为五种配置列:Center 列包含四个全局时钟的配置信息;两个IOB 列存储位于器件左边和右边所有IOBs的配置信息;CLB列存储FPGA基本逻辑功能的配置信息;Block SelectRAM Content列存储内部块RAM的配置信息;Block SelectRAM Interconnect列存储内部块RAM间互联的配置信息[3]。

图1 Virtex-E XCV600E的配置列构成及地址

配置列根据分配给它的配置地址(Configuration Address)来寻址。每一个配置列在FPGA内都有唯一的主地址(Major Address)空间。

FPGA的逻辑功能通过配置比特流(Configuration Bitstream)来实现。对于动态部分重构功能来说,需重构的配置逻辑是通过下载不同的部分配置比特流来实现的。

2基于模块化动态部分重构FPGA的设计方法

所谓的FPGA模块化设计就是将系统按照一定规则划分成若干模块,然后对每个模块分别进行设计、综合,并将实现结果约束在预先设置好的区域内,最后将所有模块的实现结果有机的组织起来完成整个系统的设计[4]。其划分模块的基本原则为:子模块功能相对独立,模块内部联系尽量紧密,模块间的连接尽量简单。对于那些难以满足模块划分准则的具有强内部关联的设计,不适合采用此设计方法。

FPGA模块化设计的优点在于:团队式并行工作从而加速整个项目的开发进度;每个子模块都能够灵活使用综合和实现工具独立进行优化,从而达到更好的优化结果;调试、更改某个子模块时,不会影响其他模块的实现结果,保证了整个设计的稳定性与可靠性。

模块化设计方法使用Xilinx公司的ISE软件设计工具,常用HDL语言作为设计输入,顶层模块描述设计的全局逻辑,包括设计的输入/输出、所有子模块 的黑盒子(Black Box)声明以及子模块之间的连接关系。所谓黑盒子声明是指在顶层模块中仅仅对子模块进行端口描述与信号属性声明,并不包含任何实际逻辑和时序关系的描 述。子模块通常也使用HDL语言描述,分别设计出各子模块的逻辑实体并综合所设计的子模块。由于子模块的输入/输出并不是整个设计的外部接口,所以在综合 过程中应禁止子模块插入I/O端口,而仅在综合顶层模块时才插入I/O端口。最后将所有子模块的实现结果和顶层的实现结果有机地组织起立,完成整个设计的 实现。图2是基于模块化设计方法的流程。大电流电感

  • 简单分析下太阳能技术的可能演进由于能源成本日益攀升,太阳能发电正逐渐成为一项可行的替代能源。德国政府通过立法,推出各种激励手段积极鼓励可再生能源的使用(如《再生能源法》“Energieeinspeisungsgesetz

  • [DCDC]DC/DC降压恒流驱动驱动方案_高亮爆闪三功1.品牌:深圳市世微半导体有限公司2.方案优点描述:               AP5186是100%全亮→25%暗亮→爆闪三功能模式驱动               AP5186宽输入电压范围:3.6V~100V               AP5186采用SOT23-6 封装固定关断时间的控制方式               AP5186内置 VDD 稳压管, 过温保护电路,短路保护电路               AP5186外围电路简单,极少的外围元件               AP5186高

  • 基于LED路灯的PFC开关电源设计方案 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费

  • 无触点稳压器10大优点
  • 求助ELD50W整改谐波的方案。求大神。急急急。
  • 单片机程序设计中颇为重要的“分层思想”
  • LED灯条线性恒流ICNU501方案
  • 伺服电机强电源控制管理电路分析
  • RC振荡频率计算问题
  • 新手求发电机输入(电压可定制现在72v),输出320v,10a
  • 解析:一次性1TB NAS硬盘是怎么做成的?
  • 谈谈嵌入式系统PCB设计中的阻抗匹配与0欧电阻
  • 电流型开关电源中的UC3842电压反馈电路