动态可重构fpga的高级综合评审外文翻译资料
2022-09-05 16:43:32
动态可重构fpga的高级综合评审
摘要
可动态重新配置的现场可编程门阵列改变了很多关于硬件是什么的基本假设。基于FPGA-DR动态可重构计算已成为实现高性能的同时,最大限度地减少许多应用程序的执行所需要的资源的强大方法。要利用可动态重新配置的现场可编程门阵列的力量对于大多数应用的关键是发展高层次综合工具自动转换的算法级的行为规范到可动态重新配置的现场可编程门阵列的配置。在本文中,我们调查了当前国家的最先进的高层次综合技术可动态重构系统。对经典系统和动态重新配置系统之间的高层次综合技术的差异进行了讨论,然后,我们描述了基本任务动态可重构系统的高级合成,最后,用于动态可重构系统的高层次的合成已经开发的技术在过去几年的时间里已经存在。
- 简介
现场可编程门阵列(FPGA)是阵列预制的逻辑块和线段,功能逻辑块和之间的相互连接的的块是用户可编程,最受欢迎的类型FPGA技术是基于静态存储器(SRAM)的技术,这些FPGA进行编程和重新编程通过加载电路“比特流”到内部配置存储器。fpga实现数字系统已成为最受欢迎的选择从“胶逻辑”到特定的应用程序加速器系统,可实现高性能通用计算。
目前,动态可重构的FPGA(DR FPGA)已成为可行的设备引入,使高速动态重新配置,如:Xilinx XC6200系列(1998年停止)、Virtex系列、爱特梅尔AT4000 和AT6000系列。如果它允许一些逻辑块和导线段的重新配置,这种FPGA会被列为一个FPGA动态可重构,而其他一些可编程硬件正忙着计算通过一个以上的片上存储器位控制。图1是正在进行中的动态重新配置的一个简化表示。几个子电路示驻留在FPGA阵列上,但只有一个是重新配置。相应子电路的操作暂停,仅需要修改这些逻辑单元被覆盖以新的配置数据。其他活动的子电路在整个重新配置期继续工作。
动态可重构提供了重要的好处,实现高的性能,同时减少在许多应用的实施方式所需的硬件资源。几个有前途的应用已经被报道在各个领域,包括图像处理、神经网络、计算机视觉、和数据库搜索。虽然已经取得了显著的进步,动态可重构技术可以被广泛采用还需要克服许多障碍。动态可重构的最重要的缺点是,它引入了额外的复杂性进入设计周期。动态可重构系统使用动态分配方案,重新分配FPGA的资源在运行时,由于FPGA的配置随着时间的变化而变化,很难理解系统的行为,需要确保系统具有适当的所有可能的执行序列的一些方法。这是一个具有挑战性的问题。目前,动态可重构系统的开发仍然采用传统的捕获和模拟设计方法,是一门涉及繁琐和容易出错的手工制作的低层设计方法。在当前日益复杂的芯片,包括FPGA、自动合成技术的使用,是设计过程中的一个基本要求。合成是一个翻译过程,从一个行为描述成一个结构描述,类似于一个高层次的语言程序汇编成汇编程序。传统上,合成被细分为以下主要类别:
bull;高层次综合(HLS)以一个算法形式的数字电路抽象行为的描述,将其转化为结构的描述,在实现指定的行为在登记传输级(RTL)
bull;逻辑合成RTL设计转换成优化的组合逻辑,逻辑上可用的细胞库和地图在一个特定的技术。
bull;布局的合成转换的一个相互连接的细胞,它描述了一个设计的结构(拓扑结构),到精确的物理几何(布局)的设计。它涉及的细胞的位置,以及它们的连接(路由)。
逻辑综合是目前最高的综合水平可重构系统的实际应用。应用程序开发与这样的逻辑综合工具仍就必须在较低的水平硬件细节的专业知识。显影剂必须知道特定的可重构体系结构的复杂性,以实现高的性能。此外,在一个范围内的实现的兼容性问题也是一个问题。逻辑综合的结果必须被修改就可以移植甚至从一个FPGA芯片的同一家族的另一个FPGA芯片。现在需要的面临的主要挑战是提供设施,用于开发动态可重构系统的努力和专业知识。另一方面,在许多应用中使用动态重构的时间重新配置FPGA是关键。长的重新配置的时间间隔可以很容易地淹没了系统的整体性能。对于可重构应用程序,下面的问题也必须处理:
bull;如何使用动态重构被证明比传统的静态的基于FPGA的方法吗?
bull;当为动态重配置适合于应用程序?
为了分析动态重新配置应用了这些问题,设计人员不得不依靠能力在更高层次的抽象来指定自己的设计中可动态重构的设计更容易理解和权衡更有效。这也将有助于设计者评估采用动态重新配置的选项。因此,关键要利用现场可编程门阵列的力量对于大多数应用是培养高层次综合工具自动转换的抽象行为的规范,使现场可编程门阵列配置的系统。然而,新的应用程序和现场可编程门阵列研究几乎完全缺失阻碍了适当的高级综合工具。高层次综合桥的行为规范和他们的硬件实现之间的差距,自动生成电路的描述,可以使用的逻辑合成。
不幸的是,虽然有成熟的技术用于固定或静态的可编程架构的ASIC的高层次综合,构成现场可编程门阵高层次的自动化设计工具的发展由于动态可重构的需要一个艰难的挑战。目前可用的高层次综合工具假设一个静态的硬件模型,因此,他们没有提供高层次的综合架构,以支持动态重新配置。因此,传统的高层次综合问题(如分区,调度和模块分配)必须被修改,以考虑动态重新配置。此外,额外的设计工作,如设计复杂度的重新配置控制器和重新配置的开销也被引入。高层次综合系统还必须确保不仅生产功能和电正确实施所需的行为也考虑到时间重新配置系统。
在本文中,我们回顾了当前国家的最先进的动态可重构的高层次综合技术系统。第二节介绍了动态的概述可重构范式。在第三节,我们讨论和动态可重构系统的高层次综合任务的问题。然后在第四节,我们提出的技术,已经开发了用于解决这些问题。最后,我们讨论了未来的工作面临的挑战,指出在发展仍然需要让动态可重构系统实现所有的承诺。
2.动态可重构系统概述
最近由于他们的周转时间短,用户可重构性和低开发成本,FPGA已经受到越来越多的关注。基于FPGA的计算系统有成为一个强大的实施方法论实现高的性能。通过应用程序映射到FPGA的硬件资源,非常有效的可以进行计算,使用FPGA进行了分类,大致可分为三大类:快速成型,系统的实施和动态重新配置的系统。最后这些领域已经被描述为可能是最创新的应用为FPGA。重构系统大致可分类为具有两种类型的可重配置的一个:静态或动态可重构性。在本文中,静态重构是指具有配置系统的能力,但一旦设定,它的配置持续在FPGA应用程序中运行。相反,动态重构定义为选择性更新一款FPGA的可编程逻辑和布线资源,设备的可编程资源的剩余部分继续运行而不会中断。因此,静态重构应用程序配置FPGA一旦执行之前,动态配置应用程序通常配置他们很多次的一个单一的应用程序正常运行时,如图2。动态重新配置的概念已经取得了不同的名称:运行时重构,在线重构,逻辑缓存,虚拟硬件和DPGA。在本文中,我们将使用这个术语动态重新配置。
2.1 动态重构的优点
FPGA技术的逻辑能力总是要差于定制的ASIC技术由于地区和时间提供自由逻辑和路由消耗,以及相关的控制电路。因此,利益必须是可重构性和灵活性,同时比纯软件解决方案更多注重速度效益。动态配置提供了额外的机会,可重构系统的实施,在静态的可重构系统中是不可用的。具体地说,两种不同的条件下激励使用动态可重构的:空闲的存在或利用不足的硬件,以及需要大的系统分区上的限制FPGA资源。这些动机中的每一个都将在下面详细描述。
2.1.1 配套应用的时间局部性
一个应用程序的时间局部性被解释为在一个可重构应用闲置或未充分利用的操作存在。换句话说,在设计中的个别操作可能是闲置的,因为它们不需要在一个特定的时间,否则他们不能立即作出贡献的计算。例如,在一个算法中的数据依赖关系可能决定一个操作必须等待一个不同的操作完成之前,或一个应用程序特定的操作可能是不经常需要的时间表的计算。
可用于动态重新配置,以除去系统中的空闲操作,并用其他更有用的操作来替换它们。硬件动态去除允许操作可能比静态系统内减少FPGA的资源。因此,动态重配置允许用于生产大型设计是太大的FPGA芯片的可用硬件资源的新的设计方法。
FPGA已经被描述为可编程活跃的回忆。如果以正常的处理器从这个角度看,如虚拟存储器,动态重新配置的FPGA可以被看作“虚拟硬件”,也就是FPGA只在需要时硬件分页。因此,该电路在FPGA活跃可动态调整以匹配应用程序的时间局部性的要求。由于在应用程序内的空闲操作不消耗宝贵的资源,应用程序可以在一个静态的可重构系统中尽可能少的资源操作。动态可重构,以确保FPGA的资源得到更有效的利用。作为单个FPGA中的门数不断提高,部署动态重构的机会正在增加。较大的FPGA成为可用的,可以被集成到一个单一的FPGA增加了系统的复杂性。目前,有许多研究项目开发的应用程序的时间局部性的开发计算架构。
2.1.2 支持应用程序的功能性
操作的功能局部性被解释为应用程序特定的计算性质的应用程序。换句话说,操作的功能局部性要求在一个体系结构中使用的操作符是应用程序所需的专业化。
对于一个静态的系统,当一个大的计算系统不能适应的有限资源的可重构系统,应用程序必须被划分和固定的固定和静态资源。然而,单一的静态架构,专为顺序执行的时间表内执行不同的算法分区必须是通用的,足以支持在应用程序中找到的所有计算的变化。硬件的几个算法分区重用限制了专业化,可以发生的数量和强制通用的建筑特色纳入。这通常会导致效率较低的结构,并且不能用于支持的功能局部性的操作。
然而,对于需要进行分区的大型专用计算系统,可以使用动态重新配置来支持业务的功能局部性。不是提供一个静态电路,广义支持所有计算的变化在一个应用程序,应用程序划分成,是在运行时重新配置专用操作。这种允许硬件资源的灵活性应用程序更有效地比静态架构的运行时配置文件。在文献中已报道的应用程序的功能局部性的开发。
3.动态可重构系统的高层次综合问题
传统的高层次综合的任务是采取行为或功能层面的规范(例如一个算法)的系统和一套约束和目标得到满足,并找到一个登记传输级(RTL)结构实现的行为在满足目标和约束。RTL结构由数据路径和控制器组成。换句话说,从输入说明书中,合成系统产生一个数据通路的说明是功能单元,寄存器,多路转换器和总线网络(典型地由网表描述)此外,合成系统还必须生产控制部分的规格。在同步系统中,我们在本文中考虑的唯一种类,控制可以由一个或多个有限状态机,在微代码或随机逻辑来规定提供。
然而,动态可重构的设计改变了许多高层次的合成过程中的基本假设。动态可重构系统(多配置,部分重新配置等)的灵活性,需要新的方法和高层次的合成算法,作为传统的高层次综合技术,不考虑动态的动态可重构系统的性质。
高层次综合系统作为一个编译器,将一个高层次的规范映射到一个结构中。一个高层次综合系统的主要步骤是:
bull;高层次的描述汇编成的基础上设计的模式,通常是基于图形或代数基于过程的模型的内部表示。
bull;为了减少该问题的大小与内部表示成子的划分降低问题的规模
bull;输出产生产生被传递到逻辑或RTL综合的设计。所得设计通常由一个数据路径和一个控制器。
传统硬件设计的重点是静态电路的固定大小,拓扑结构和功能的发展,目标设计实体的静态特性体现在高层次的综合过程和设计方法上。在高层次的综合,经典的系统和动态可重构系统的关键区别是如何利用时间和功能的地方,在高层次的合成过程中的应用程序,以及如何最大限度地减少合成这样的系统的重新配置的开销。同时,系统的静态和动态可重构系统之间最重要的区别是开发这样的系统的时序性。在一个应用程序中的时间局部性的开发需要一个新的时间划分过程中的规范。时间划分将一个应用程序划分为不需要或不能同时运行的时间段的专用段。
4.未来的发展方向
许多研究项目已经开展,但是,高层次综合的动态重配置的应用尚处于起步阶段。有许多的,其中高级综合必须继续发展,如果它是成为设计动态重新配置的系统的有用工具领域。其中一些具体的设计问题仍然需要解决:
bull;动态可重构性仍然是一个需要进一步研究的重要问题。未来的工作应该专注于开发更通用的设计模型,动态可重构设计,并提高运行时支持。成为动态可重构设计一个有效的设计模型,该模型必须支持动态可重构的设计不仅需要约束的定义和执行,但必须允许一个动态的结构化方法,可以用于抽象、分析和综合中,可以在运行时重新配置元素设计。
bull;之前逻辑或布局合成,推定该重新配置的度量的一些装置是必要的,这样的系统性能评估可以在设计过程中尽可能早地考虑。工作必须在处理高层次综合和布局之间的相互作用进行了。具有逻辑综合的高层次综合接口仍然是一个被忽视的问题。
bull;在参数化库支持重新配置的技术中,需要开发技术。
bull;对于可以合成从C,C11或Java语言描述的动态重新配置实现动态重新配置应用高级合成必须发展。
致谢
本文所描述的工作部分是由以下资金支持:香港特区政府的研究资助局(研究直接批1998年至1999年,项目代码:2050196;指定用途拨款1999/2000 CUHK4408/99E);云南省青年学者格兰特。
参考文献
[1] U.Apel,在线软件扩展和修改,电气通信64(4)(1990)66-72。
[2]爱特梅尔公司,AT 6000系列,1997。
[3] M.Butts,动态可重编程系统的未来发展方向,在1995年IEEE定制集成电路会议,1995,pp.487-494论文集。
[4] S.Casselm
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[147244],资料为PDF文档或Word文档,PDF文档可免费转换为Word