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

发布者:Qingfang最新更新时间:2010-08-23 来源: 微计算机信息关键字:FPGA  ISE  Virtex  SRAM 手机看文章 扫描二维码
随时随地手机看文章

  随着可编程技术的不断发展,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]。

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

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

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

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

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

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

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

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

模块化设计流程

图2 模块化设计流程

  采用模块化设计方法实现FPGA的动态部分重构,首先进行模块划分,将设计的固定逻辑即运行过程中不需要更改的逻辑划分到固定模块,将需要更改的部分划分到可重构模块中。其次模块的放置位置和大小也有限制,必须遵循一定的规则[5]:可重构模块的高度和器件的高度一致,从图1中可以直观地认为模块必须包含整个配置列;可重构模块的宽度最小是4个Slice(一个CLB包含两个完全相同的Slice),并且必须为4个Slice的倍数;如果可重构模块位于器件的最左边或是最右边的Slice列,则所有位于器件边缘的IOBs将作为可重构模块的资源;为了减少设计的复杂度,可重构模块的数量应该尽量少等。[page]

  3 FPGA动态部分重构的实现

  在本设计实例中,FPGA实现的功能是对外围接口电路进行逻辑控制以及根据外围不同设备输入的数据选择适当的数据处理算法。据此将设计划分为固定模块和可重构模块,其中固定模块内实现对外接口的控制逻辑,可重构模块内实现数据处理算法。本例中只将FPGA的逻辑功能更换一次,即可重构模块只部分重构一次,将其在重构前后的不同逻辑功能分别计作reconfig_a和reconfig_b。系统会根据需要动态部分重构FPGA,为不同的数据源选择适合的处理方法。本设计由Virtex-E XCV600E器件来实现。

  根据模块所需资源的大小和模块划分原则,在用户约束文件(UCF)中将每个模块的位置进行约束,如下所示:

  INST "fix" AREA_GROUP = "AG_fix" ;(1)

  AREA_GROUP "AG_fix" RANGE = CLB_R1C1:CLB_R48C36 ;(2)

  INST "reconfig" AREA_GROUP = "AG_reconfig" ; (3)

  AREA_GROUP "AG_reconfig" RANGE = CLB_R1C37:CLB_R48C72 ;(4)

  其中(2)、(4)指定了两个模块的具体位置。

  按照模块化设计流程,分别对固定模块fix和可重构模块reconfig_a和reconfig_b进行设计综合,再将两个可重构模块分别和固定模块进行组合,完成整体设计。此过程中可重构模块和FPGA的整个设计分别生成配置比特流。

  图3和图4是FPGA部分重构前后的整个设计的物理实现,图中左半部分为固定模块区域,右半部分为可重构模块区域。从两图中可知在部分重构前后可重构模块区域内布线发生变化,而固定模块区域内布线没有发生变化。

fix和reconfig

图3  fix和reconfig_a整体设计的物理实现结果[page]

fix和reconfig

图4  fix和reconfig_b整体设计的物理实现结果

  FPGA动态部分重构时首先须将整个配置文件下载到器件中,重构时系统根据运行的需要选择适合的部分重构配置比特流。Virtex-E XCV600E配置比特流的大小为495204个字节,而可重构模块reconfig_a和reconfig_b配置比特流的大小分别为93324个字节和111868个字节,因此采用部分重构不仅能够在运行不间断的情况下更新可重构模块区域内的逻辑功能,而且也能使重构配置时间大大减少。

  3 结论

  本文以Xilinx FPGA为研究对象,介绍了采用模块化设计实现FPGA动态部分重构功能的方法。FPGA的动态部分重构功能使硬件设计更加灵活,可以将不同设计定位到芯片内同一逻辑资源部分,重构此部分逻辑资源,同时保持其他部分电路功能正常,从而灵活快速的改变系统设计,能够减少器件的花费,降低功耗、更有效的利用电路板空间,可以应用于系统实时容错、自适应硬件算法等。

  本文作者创新点:基于FPGA动态可重构技术将设计从一个纯空间的数字逻辑系统转换为在时间、空间混合构建的数字逻辑系统。这种技术是数字系统设计方法、设计思想的变革,使FPGA资源利用率成倍提高。目前我国在FPGA可重构技术方面开展的研究很少。本论文阐述了采用模块化设计实现FPGA动态部分重构的方法,能够使FPGA部分逻辑功能重新配置过程中,其余部分逻辑功能正常运行,即实现了FPGA逻辑功能的动态部分重构。

关键字:FPGA  ISE  Virtex  SRAM 引用地址:基于模块化设计方法实现FPGA动态部分重构

上一篇:SiliconBlue推出6x6mm的最高逻辑容量FPGA
下一篇:基于多DSP和FPGA的实时双模视频跟踪装置

推荐阅读最新更新时间:2024-05-02 21:07

基于LVDS技术的实时图像测试装置的设计
  摘 要: 针对弹载图像采集设备与地面测试台之间大量实时图像数据高速传输的问题,提出了采用LVDS技术与FPGA相结合的解决方案,详细介绍了实时图像数据传输部分的硬件组成及工作原理。实验结果表明,该方案的数据传输速度达到20 MB/s,很好地满足了实时图像数据发送和接收的速度要求。   目前在一些弹载设备中,由于采集的实时图像数据量很大,因此在其与地面测试台进行数据传输时需要很高的传输速率。传统的图像数据传输方法存在很大的局限性。比如,物理层接口无法满足数据的传输速度;由于传输通道的增多引起传输导线数量的增加导致系统功耗、噪声也随之增大等。低电压差分信号传输技术(LVDS)为解决这一问题提供了可能。    1 LVDS技术
[嵌入式]
基于LVDS技术的实时图像测试装置的设计
聚创新之势,英特尔以领先技术和生态加速FPGA发展
2022年11月14日,北京——今日,以“加速,让创新有迹可循”为主题的2022英特尔®FPGA中国技术周于线上拉开帷幕。期间,英特尔披露了其最新推出的基于Intel 7制程工艺的Agilex D系列和Sundance Mesa系列的FPGA的相关细节。与此同时,英特尔亦携手产业伙伴围绕云计算、嵌入式、网络和开发者等主题展开深入探讨,共同深入解析如何创新FPGA应用,灵活应对工业、网络通信、消费电子、数据中心、自动驾驶等广泛下游应用领域的巨大需求,并以优秀的开发设计体验助力智能化未来。 英特尔市场营销集团副总裁、中国区数据中心销售总经理兼中国区运营商销售总经理庄秉翰 英特尔市场营销集团副总裁、中国区数据中心销售总经理兼中
[嵌入式]
聚创新之势,英特尔以领先技术和生态加速<font color='red'>FPGA</font>发展
USB IP核的设计及FPGA验证
介绍了一款可配置的USB IP核设计,重点描述USB IP核的结构划分,详细阐述了各模块的设计思想。为了提高USB lP的可重用性,本USB IP核设计了总线适配器,经过简单配置可以用于AMBA ASB总线或WishBone总线结构的SoC中。此IP核进行了FPGA验证,验证结果表明他可作为一个独立的模块嵌入到SoC系统中。 1 引 言 USB(Universal Serial Bus)具有以下特点:即插即用、广泛的软硬件支持、低功耗、可选择的多种速度模式、完备的总线拓扑结构。随着半导体工艺技术的发展,集成电路设计者能够将愈来愈复杂的功能集成到单硅片上。SoC是将系统集成在一块芯片上,包括微处理器、模拟IP核、数字IP核和存储器(
[模拟电子]
USB IP核的设计及<font color='red'>FPGA</font>验证
Altera发布Quartus Prime Pro设计软件,加速大容量FPGA设计
2016年5月10号,北京 Altera,现在已属英特尔公司,今天发布新的产品版Quartus Prime Pro设计软件,进一步提高了FPGA设计性能和设计团队的效率。Quartus Prime Pro软件设计用于支持英特尔下一代高度集成的大容量FPGA,这将推动云计算、数据中心、物联网及其连网等领域的创新。内置在最新版软件中的功能前所未有的缩短了编译时间,提供通用设计输入方法,简化了知识产权(IP)的集成,从而加速了大规模FPGA设计流程。 英特尔的FPGA软件和IP市场营销总监Bernhard Friebe评论说: Quartus Prime Pro设计软件构建在数十年的软件创新之上,让我们的工具使用起来更加简单方便,帮助缩短
[嵌入式]
基于SRAM编程技术的PLD核心可重构电路结构设计
  作者:曹伟,高志强,来逢昌,毛志刚来源:时间:2007-4-26 16:17:12阅读次数:186阅读等级:需要积分:0       摘要: CPLD相对于FPGA更适合实现时序逻辑较少而组合逻辑相对复杂的功能,比如复杂的状态机和译码电路等。CPLD的EEPROM编程技术不适合动态可重构的应用。本文针对CPLD的核心可编程结构:P-Term和可编程互连线,采用2.5V、0.25μmCMOS工艺设计了功能相近的基于SRAM编程技术的可重构电路结构。新的电路结构可以通过可编程方式有效控制功耗和速度的折衷,并且相对于传统的CPLD互联结构减少了50%的编程数据。在动态可重构系统中,采用上述新结构的PLD相对于FPGA可以更有效地
[嵌入式]
基于DSP和FPGA的机器人声控系统设计与实现
1 引言 机器人听觉系统主要是对人的声音进行语音识别并做出判断,然后输出相应的动作指令控制头部和手臂的动作,传统的机器人听觉系统一般是以PC机为平台对机器人进行控制,其特点是用一台计算机作为机器人的信息处理核心通过接口电路对机器人进行控制,虽然处理能力比较强大,语音库比较完备,系统更新以及功能拓展比较容易,但是比较笨重,不利于机器人的小型化和复杂条件下进行工作,此外功耗大、成本高。本次设计采用了性价比较高的数字信号处理芯片TMS320VC5509作为语音识别处理器,具有较快的处理速度,使机器人在脱机状态下,独立完成复杂的语音信号处理和动作指令控制,FPGA系统的开发降低了时序控制电路和逻辑电路在pcb板所占的面积 ,使机器
[嵌入式]
Microsemi推出下一代SmartFusion®2 SoC FPGA
致力于提供帮助功率管理、安全、可靠与高性能半导体技术产品的领先供应商美高森美公司(Microsemi Corporation,纽约纳斯达克交易所代号:MSCC)发布新的SmartFusion®2系统级芯片(system-on-chip,SoC)现场可编程门阵列(field programmable gate array,FPGA)系列。Microsemi下一代SmartFusion2 SoC FPGA设计用于满足关键性工业、国防、航空、通讯和医疗应用对先进安全性、高可靠性和低功耗的基本需求。SmartFusion2在单一芯片上集成了固有可靠性的快闪FPGA架构、一个166(MHz)ARM® Cortex™-M3处理器、先进的安全处
[嵌入式]
链接产业与人才,英特尔FPGA中国创新中心的创新人才培养之道
当前,5G、人工智能、自动驾驶等技术快速发展,应用场景也愈加广泛,这背后,有着灵活高效、高性能、低功耗等优势的可编程芯片FPGA功不可没。随着应用场景的扩大,FPGA的市场规模也迎来快速增长。IDC预计,全球传统FPGA市场规模将在2024年达到71.55亿美元。作为FPGA高需求国家之一,中国FPGA应用市场的发展被广泛看好,这也意味着我们需要更多FPGA人才,来满足日益增长的市场需求,助力科技事业发展。 近日,由英特尔FPGA中国创新中心和英特尔FPGA大学计划联合发起的 第一届“芯云未来——‘FPGA菁英挑战赛’高校进行时”(以下简称:菁英挑战赛)正式启动 , 面向 在校大学生进行FPGA基础知识普及和行业推广,帮助学生
[嵌入式]
链接产业与人才,英特尔<font color='red'>FPGA</font>中国创新中心的创新人才培养之道
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved