可重构系统原型设计及动态重构技术实现

合集下载

软件开发中的设计模式和重构技术研究

软件开发中的设计模式和重构技术研究

软件开发中的设计模式和重构技术研究软件开发中的设计模式和重构技术研究为了满足市场的需求和开发中的复杂性,软件开发人员不断寻求高效的开发方法和设计模式。

设计模式是一套通用解决方案,可以帮助开发人员解决特定的问题,提高代码的可复用性和可维护性。

另一方面,重构技术则是为了改进现有代码的结构和性能,使其更加清晰、灵活和可扩展。

本文将介绍一些常见的设计模式和重构技术,并探讨它们在软件开发中的应用。

设计模式是一种解决常见问题的可重用的设计思想集合。

其中,单例模式是最常见的设计模式之一,它保证一个类只有一个实例,并提供一个全局访问点。

单例模式在多线程环境中具有良好的可伸缩性和性能,适用于日志记录器、数据库连接池等场景。

另一个常见的设计模式是工厂模式,它通过一个工厂类来创建对象。

工厂模式在代码结构灵活性和可扩展性方面表现出色,特别适用于大型系统中的对象创建过程。

它可以将对象的创建和使用分离,减少代码的耦合性,提高代码的可测试性和可维护性。

除此之外,观察者模式也是一个重要的设计模式。

观察者模式定义了一种一对多的依赖关系,使多个观察者对象同时监听某一个主题对象。

当主题对象发生变化时,所有的观察者对象都会得到通知并更新。

观察者模式在事件驱动系统和消息订阅系统中具有广泛的应用,能够提高系统的灵活性和可扩展性。

重构技术是一种改进现有代码的方法,目的是提高代码的可读性、可维护性和性能。

重构技术可以分为结构性重构和行为性重构。

结构性重构主要是通过修改代码的结构来提升代码的质量,包括类的拆分和合并、继承关系的调整和接口的提取等。

行为性重构则是通过修改代码的逻辑来改善代码的质量,包括函数的提取和内联、条件的简化和循环的替换等。

重构技术的应用可以提高代码的可读性和可维护性。

例如,通过拆分大类来创建更小、更专一的类,可以降低类的复杂度和理解成本。

另一个例子是提取函数和方法来减少重复代码,提高代码的可读性和可测试性。

此外,行为性重构技术还可以通过简化复杂的条件和循环来提高代码的性能。

可重构系统的设计与优化

可重构系统的设计与优化

可重构系统的设计与优化一、可重构系统的概念可重构系统是一种具有高度灵活性和扩展性的计算机系统,在工作时能够根据具体的需要进行重构和重新配置,以满足不同的应用需求。

可重构系统具有以下几方面的优点。

1. 灵活性高:可重构系统能够根据工作需要进行重构和重新配置,从而实现复杂的运算和处理,适应不同的应用环境。

2. 可扩展性强:可重构系统支持扩展和升级,能够通过增加硬件资源和软件配置,提高系统性能和处理速度。

3. 运算效率高:可重构系统采用专用的硬件和软件结构,支持高效的运算和处理,加速数据传输和处理速度。

二、可重构系统的组成可重构系统由三个主要部分组成,包括可编程逻辑芯片(PLD)、可重构硬件系统(RHS)和可编程软件系统(PSW)。

1. 可编程逻辑芯片:PLD是可重构系统的核心部件,它能够根据需要被编程为执行特定的功能,例如逻辑运算、状态机控制、数据通路等等。

2. 可重构硬件系统:RHS是可重构系统的硬件组成部分,它由一系列可编程的逻辑单元和内部总线组成,用于实现具体的计算和处理任务。

3. 可编程软件系统:PSW是可重构系统的软件组成部分,它提供了操作系统、编译器、调试器和其他软件工具,用于配置和管理可重构系统的硬件和软件资源。

三、可重构系统的设计与优化可重构系统的设计和优化需要考虑以下几个方面。

1. 系统架构设计:可重构系统的架构设计需要根据应用需求和目标性能来选择适当的硬件和软件组件,确定硬件架构和系统结构。

2. 编程语言和系统软件:可重构系统的编程语言和系统软件需要选取适合具体应用的编程语言和工具,如Verilog、VHDL、C/C++等,确保编程效率和代码质量。

3. 优化算法和数据结构:可重构系统的优化算法和数据结构需要根据问题性质和数据特征进行优化设计,提高系统运算效率和处理速度。

4. 系统调试和测试:可重构系统的调试和测试需要进行全面、有效的测试和调试工作,包括系统级测试、模块测试和集成测试等。

ERP中动态可重构业务流系统的设计与实现

ERP中动态可重构业务流系统的设计与实现

只能按 照 E P软 件提供 的流 程来做 。这种做 法往往 给 中小企业造 成无法 接受 的冲击 , R 同时迫 使其抛 弃多 年形成 的适合 当前 发展 的流 程 , 实施效 果 自然 不能 使用 户满 意 。 国外 , 业往 往通过 E P系统来 固化若 在 企 R 干年形成 的 出色 生产管理 实践 。因此 个性 化的业务 流程重 组是 E P系统 能否普 及的关键 所在 。 R
。 Leabharlann 据 流 。上 述 系统 可 以描 述为 : Oa =F(a , )其 中 , 表示输 入 的数据 流 , a a O 表示 根据 相应业 务规 则处 理后 的数据 流 , F表 示 真实 反映 业 务规则 的处理过 程 。 12 数据流 的形成 机制 .

套完整 的 E RP系统 主要包 括数据 、 应用和 显示 3部分 。关 系模型 通过表 将业 务实 体 的信息保 存 ]
维普资讯
第4 期
郑 小建等 :R E P中动态可重构业务流系统的设计与 实现
销售 明细 的 I D号 。
1 2 1 三 级数据 过滤 系统 ..
根据 以上分析 可将 图 1的输 入通过 一个 表级过滤 系统 来实 现 , 图 2 如 所示 , 作用是根 据业务 规则和 其 实 体 关系原 则对 系统 中 的业务实体 和关 系进 行过 滤 , 到 I ( 得 t 主表 数据 流 )Id 从 表数据 流 ) Id 第 、t ( s  ̄ 及 t( t f
驱动 的 , 每个 节点 广 义上可 以 由图 1 示 , 文将 以 系统观 点 , 重研 究每 个 所 本 着 业 务 点 的输 入输 出关 系 , 而详 细 分析 数据 流 形 成 的机制 和过 程 , 进 在此 基 础

FPGA动态可重构技术原理及实现方法分析

FPGA动态可重构技术原理及实现方法分析

Analysis of the Fundamental and ImplementationMethod about Dynamic R ecofigurable FPGAQIN Xiang2Ju1,2,ZHU Ming2Cheng2,ZH ANG Tai2Yi2,3,WEI Zhong2Yi11.Eletronic&Information Dpt.XI’AN Institute o f Technology and Engineering Science,Xi’an710048,China;2.Collegeo fInformation Engineering o f Shenzhen Univer sity,Shenzhen516080,China;3.Eletronic&Information Dpt.XI’AN Jiaotong Univer sity,Xi’an710049,ChinaAbstract: Dynamic Recon fogurable Field Programmable G ate Array(DR2FPG A)can con figure its partial or total logic res ources at run time,and change its functions on system in high speed.This paper presents s ome studies of DR2 FPG A,including basic architecture,recon figuration fundamental,C AD tools and im plement methods.Application of DR2FPG A is useful for designing high2performance systems,and helps to save hardware res ources.K ey w ords: FPG A;static recon figuration;dynamic recon figuration;total recon figuration;partial recon figuration EEACC: 1265B;1130BFPG A动态可重构技术原理及实现方法分析覃祥菊1,2,朱明程2,张太镒1,3,魏忠义11.西安工程科技学院电子与信息工程系 ,西安 710048;2.深圳大学E DA中心,深圳516080;3.西安交通大学电信学院,西安 710049摘要:FPG A动态重构技术主要是指对于特定结构的FPG A芯片,在一定的控制逻辑的驱动下,对芯片的全部或部分逻辑资源实现在系统的高速的功能变换,从而实现硬件的时分复用,,节省逻辑资源。

一种可重构计算系统设计与实现

一种可重构计算系统设计与实现
o sg n e o f u a e s se i mo sr td. frde inig r c n g r bl y tm sde n tae i Ke y wor ds: Re o ig a l y t m ; FPGA ; So C c nf ur b e S se P
中 图法分 类号 :T 3 3 P9 文献标 识码 :A 文章 编号 :10 — 6 5 2 0 ) 10 5 — 3 0 1 39 ( 0 6 0 - 14 0
De i n a d I l me t to fa F sg n mp e n a i n o PGA s d o c n g r b e S se Ba e n Re o f u a l y t m i
tc u e f e o f u a l y t m ,h np e e t a x mp eo mb d e e lt o t l p l a in t r u h whc t o s e t r so c n i r b es s r g e t e r s n s n e a l f e e d d r a - mec n r p i t h o g ih a meh d i oa c o
LUO . ui一 Yih ’

LIRe .a , XI nf’ ONG hu c u S .h
( , u a r ica K yL brtr m eddC m uig& Ss m, u a n esy C a gh u a 10 2 C ia et f I— 1H n nPo nil e aoaoyo v fE bd e o pt n yt H n nU iri , h n saH n n4 0 8 , hn ;2 Dp o n e v t fr t n Hua o ec C lg 。 h n saH n n4 00 ,C ia omai , n nC mm r ol e C a gh u a 12 5 hn ) o e e

可重构制造系统

可重构制造系统

静态重构:系统经 过较长阶段运行后 进行重构,而在每 个运行阶段保持系 统构形不变。
动态重构:指系统 系统处于非平衡状 态,存在由扰动引 起的轻微混沌状态
2、 组织结构:允许企业以最恰当的方式组织和 管理生产经营活劢,快速和经济的向客户提供产 品和服务 3、业务过程:针对制造过程的可变性,对制造 系统业务的过程的功能性活劢及由相关活劢组成 的有机序列进行分析、分类、整理和重构,劢态 改变由系统设备布局、作业计划等确定的人员、 加工设备等的操作时序及物流路径,构造定义明 确的具有针对性的业务过程
3.4.2 RM的原理
1. 重构的概念
2. 制造系统的可重构性 3. RMS的定义与特性 4. RMS的组成与类型 5. RMS的支撑技术
2、RM的原理
系统 构形
系统构形是指系统在给定条 件下得一个确定的物理形态 或抽象概念模式
重构 的概 念
系统 重构
系统重构也称为重组或重配 置,是系统从一种构形向另 一种构形的转移。
4、产品开发 产品重构是指在设计初期由用户需求变化、材料 节约和环境保护等因素驱使而进行的涉及产品全生 命周期的重构。 产品可重构性包含三层意义:
a. 产品方案设计阶段按多种构形设计开发和管理产品 b. 产品结构详细设计阶段尽可能利用现有的零部件设计 c. 采用面向环境的设计技术,考虑产品再利用和环境保护 等因素,减少生态影响,对旧零件进行回收利用。
20
3、案例
阿里巴巴既有的组织架构仍然是釐字塔式的公司科层制。目前阿里巴巴 集团分为淘宝、一淘、天猫、聚划算、阿里国际业务、阿里小企业业务和阿 里于七大事业群,以及支付宝、阿里釐融两家独立子公司。 邵晓锋承认,淘宝和天猫的交易总额正在快速增长,但是卖家数量却到 了一个缓慢增长的阶段。固有的生态系统如果无法长出新的物种,对阿里来 说就是致命的。要想获得足够庞大的数据,阿里巴巴拥有的业务越丰富越好, “七剑”显然已不能满足需求。分拆“七剑”成为必然。 划分成25个事业部,实现了组织结构的重构使整个企业集团保持活力, 各个事业部相对独立、野蛮生长的特性突出了,在增强了灵活性的同时也提 高了事业部的竞争力,防止了资源和权利的过多集中到事业群的可能性,提 高了集团最高层的控制权。 扁平化的组织结构可以更好的整合资源、解决部门障碍问题,也同时让 公司面临巨大的风险 拭目以待!

基于模块的动态可重构系统设计

基于模块的动态可重构系统设计
一 16 3 8一
. 3 硬件系统结构与模块划分 1 将整个系统划分成两个大模块: 固定模块和重构模块。 固定模块放置在固定区域, 运行时不被重构, 包含了程序运行 的基本系统和所需的基本外设: 而重构模块放置在重构区域 中, 用以实现不同的硬件加速算法供用户选择。 G P F A资源划 分以及模块放置如图3 所示, 在图3 中区域A C 、 是固定区域,
3 可重构系统实例设计
根据上述流程, i 公司的场rx1 R X 2卫 0 在X l l x n e t ’I P O CV 3 型 号FG P A上设计一个基于模块的单芯片动态 自 重构实例,实 现过程如下:
模块设计是具体实现模块的功能。 每个模块作为独立的 工程, 相对顶层是“ 黑盒子”只暴露和其它模块的接口。 , 在逻 辑层次上, 必须是自 包含的模块, 所有的模块端口必须明确定
顶层设计
模块 设计
模块布局 1 0B约束
模块 内部 时序 约束


预 估
模块实现
模块实现
模块集成
模块集成
图 2 基于模块的动态重构系统设计流程
约束进行改动。 模块实现时只考虑模块内部的连接关系以 及 约束文件中规定的总线宏位置, 不受其它模块的影响。 . 2 模块集成 4 重构模块对应的部分比特流文件只能对重构区域进行配 置, 至少需要一个完整的模块组合首先被配置, 并在FG P A中 正常运行, 所有的全局的、 非可重构的逻辑被放置并且锁定, 重构模块才能正常运行去重构区域中。因此, 必须将各个单 独的模块按顶层设计合并起来形成一个完整的 FG P A设计, 生成完整地比特流文件。 在实现阶段各个模块的布局布线都 将会被保留, 保证每个模块的性能。
收稿日 2 7 2 期: 0 一 3 Em :0 01 @ 山 一u 例. 一a 52 1 允 川已 . l i 2 3 0 dc n 基金项目 :国家自 然科学基金项目( 530) 0 1 o 67 5 作者简介: 许骏 ( 8一 , 福建上 l 3 ) 男, 9 杭人, 研究生, 硕士 研究方向为 嵌入式系统设计: 晏渭川 ( 7一 , 湖北罗田 硕士 9 1 ) 男, 9 人, 研究生, 研 究方向为软硬协同设计和快速样机生成技术: 彭澄廉,男,教授,经过布局布线后的电路描述文件( i c u ds p n v i ie c - t c a er t t i i ND t ,C 进行改动。 n o ) 基于模块的设计方法是将模块化设计方 法拓展到重构系统的设计中, 多用于设计的系统较大, 每个模

智能制造中可重构制造系统的设计与实现研究

智能制造中可重构制造系统的设计与实现研究

智能制造中可重构制造系统的设计与实现研究随着信息技术的飞速发展和应用,智能制造广泛应用于各个领域中,成为工业化发展的重要方向。

而智能制造中的可重构制造系统的研究和设计则是其中非常重要的一方面。

可重构制造系统能够快速地适应生产工艺的变化,能够更加灵活、高效地生产产品,同时还能节省生产成本。

本文将介绍可重构制造系统的设计和实现研究的相关内容,希望能够引起大家的兴趣和关注。

一、可重构制造系统的概念可重构制造系统是指一种能够自适应变化的制造系统,具有灵活度高、可靠性强等特点。

这种系统能够智能地根据生产要求和生产环境的变化,自动地进行工艺调整和设备配置,以实现高效率的生产。

二、可重构制造系统的设计思路可重构制造系统的设计需要考虑很多因素,主要包括以下几个方面:1.生产流程的分析和优化:分析生产流程中存在的瓶颈和问题,优化生产流程,提高生产效率和品质。

2.设备选型和配置:针对生产要求和生产环境的变化,灵活地选择和配置生产设备,提高设备利用率。

3.软件算法的研发和应用:开发核心的算法和控制系统,实现对生产过程的实时监控和调整,提高生产效率和产品品质。

三、可重构制造系统的实现过程可重构制造系统的实现需要进行多方面的工作,主要包括以下几个方面:1.机械硬件的搭建:搭建基础的硬件架构,包括机械传动、控制系统和感应系统等。

2.软件算法的研发:研发基于机器视觉、神经网络和控制算法等的软件算法,实现对生产过程的实时监控和调整。

3.系统测试与优化:对系统进行全面的测试,优化系统表现,改进算法和设备配置,提高生产效果和生产品质。

四、可重构制造系统的应用前景及发展趋势随着智能制造技术的迅速发展,可重构制造系统在各个领域中得到了广泛的应用和推广。

目前,可重构制造系统主要应用于制造业智能制造领域中,未来还有很大的应用和发展空间。

其中,一些重点领域的应用具有更为广泛和深远的意义,例如汽车制造、航空制造、数控机床等。

总结:可重构制造系统是智能制造的重要构成之一,其设计和实现研究具有广泛的研究意义和应用前景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可重构系统原型设计及动态重构技术实现可重构计算具有应用灵活、性能高、功耗低、成本低等优势。

动态重构技术作为可重构计算的配置方法,具有配置方法灵活、耗时短、任务实时响应能力强等特点。

文章首先提出了可重构系统原型的设计思路,并着重分析了可重构计算单元、存储单元、可重构管理单元等关键模块的设计理念。

然后分析了动态配置技术的实现原理,并且基于可编程逻辑阵列,搭建了“嵌入式处理器+总线+可重构计算单元”的硬件系统,并实现了两种图像处理IP核的动态配置。

标签:可重构计算;系统原型;动态配置技术引言可重构系统一般由主处理器耦合一组可重构的硬件部件,处理器负责任务的调度,而可重构的硬件部件负责执行算法[1]。

可重构架构的研究主要集中在以下几个方面:不同粗细粒度的架构研究、处理单元结构研究、处理单元的互联方式研究、新型存储结构研究等。

可重构系统的重构方法主要包含两大类:静态重构技术、动态重构技术。

静态重构需要整个系统复位,往往需要断电重启;动态重构技术是在系统不断电的情况下,可以完成对指定计算资源、逻辑资源的模块级或电路级重构,具有功能实时切换、资源可复用等优势。

动态重构技术作为一种计算系统的新型配置设计思路,从传统的追求计算资源“大而全”,向追求资源的利用率转变。

与传统的静态配置或完全配置方法相比,动态重构技术无需对所有计算资源重构,可以有选择性的进行重构资源加载,一方面,能够保证系统在其他单元正常工作的同时,根据待处理任务需求及数据特点完成自适应配置,保证了对逻辑资源的时分复用;另一方面,能够大大缩短功能切换单元的配置时间,保证任务的无缝对接及实时处理。

文章组织结构如下:首先提出了可重构系统原型的设计思路,从可重构计算单元、存储单元、可重构控制单元等多个方面做了细化阐述;然后分析了动态配置技术的实现原理,并基于Xilinx开发平台,搭建了“嵌入式处理器+可重构计算单元”的验证系统,实现了粗化、细化两种边缘提取IP核的动态配置;最后对试验结果进行评估。

1 可重构计算系统架构设计方案可重构计算原型系统的体系架构采用RISC架构通用处理器(CPU)、可重构控制单元、可重构计算阵列、可重构I/O接口和存储系统等部分组成。

CPU与可重构计算阵列之间为并行处理关系。

从系统设计复杂度和灵活度考虑,两者采用总线结构耦合。

因此,在系统平台架构中,通用处理器、计算单元和接口单元之间采用总线连接方式。

其系统架构见图1。

系统变换形态流程如下:系统进行计算功能变换时,通用处理器向可重构控制单元发送重构命令,可重构控制单元管理、调度硬件资源,并上报系统工作状态;当系统资源准备就绪后,通用处理器控制可重构硬件读取硬件配置数据并加载到器件中,以变换可重构计算单元或接口单元的形态,统一变换系统中全局存储空间的划分、管理及访问控制,各计算模块共享内存区的映射关系图;同时,根据新的计算形态加载相应的软件和数据,最终完成整个系统形态变换流程。

功能切换时,只对可重构硬件的一部分进行重新配置,其他部分可继续执行任务。

动态部分重构可以减少配置数据,加快了计算形态变换速度,提高了系统的适应性和灵活性。

通用处理器运行操作系统,负责系统的控制、计算形态管理、计算资源管理和任务调度;处理那些控制比较复杂、不便映射到硬件上,且计算量较少的计算任务,如变长循环、分支控制、存储器读写等。

可重构硬件则用于处理计算量大、并行度高、任务相关度低的部分,执行程序中拥有规则的数据访问模式,控制简单的那部分“计算密集型”代码,主要由可重构控制单元、可重构计算单元、可重构I/O接口及片上高速总线组成。

其中计算单元及I/O接口可根据应用需求重构为不同的计算形态。

1.1 可重构系统计算单元模型设计可重构系统计算单元的基本思想要求将计算和存储两部分进行解耦合,因此采用了数据和指令存储物理分离的哈佛结构,将数据访问模块、指令组织与调度模块和指令执行模块分离。

同时,根据流处理模型中生产者消费者局部性的特点,将数据访问模块划分成软件可管理的多个存储层次,各自保持独立运行。

可重构系统计算单元主要有三个部分组成:控制单元、存储单元、可重构处理单元阵列。

控制单元。

执行算法时,控制单元对可重构系统计算单元进行总体控制,协调可重构处理单元阵列、配置存储器、本地存储器、数据分配单元、数据合并单元的运行,根据系统运行状态和各个单元内部控制信号的反馈信息,改变各个单元的状态,保证系统正确运行。

存储单元。

存储单元分为三部分:数据存储,寄存器堆以及配置存储。

数据存储包括本地存储器,数据分配单元以及数据合并单元。

本地存储器用于存储可重构处理单元阵列计算需要的输入数据和输出数据;数据分配单元用于从本地存储器或寄存器堆中读取数据;数据合并单元用于向本地存储器或寄存器堆写入计算单元的输出数据。

寄存器堆用于存储中间数据,并向阵列发送配置字。

可重构计算基础单元。

可重构计算单元是可重构阵列的核心部分,可以理解为粗粒度的最小计算单元。

为了能够执行更多类型的算法,需要支持尽量更多的功能。

例如,对于常用的计算密集型运算,需要支持FFT、FIR、DCT和点积等功能。

因此成熟的可重构系统中,应该包含足够多基础功能、不同粒度需求的可重构计算资源库,以便于更加灵活的资源组合。

1.2 可重构系统存储单元模型设计可重构计算系统的存储单元由CPU和可重构阵列共同访问操作。

因此,存储单元主要研究CPU和可重构计算单元对内存访问的协调与控制机制,存储单元的模型设计需要主要解决如下问题:避免内存访问冲突、解决多个处理器模块并行工作会降低主存的访问效率的问题、解决可重构计算单元面临的端口和速度的限制。

存储管理单元主要解决多个模块并行工作时会降低访存效率的问题:多个模块共享片外内存会引起访问冲突从而导致等待;访问片外内存的端口数量非常有限,不利于数据通路中的并行访问。

主要采取如下改进措施:(1)为可重构硬件平台增加内存管理单元,实现片外和片上内存的映射,保持数据一致性;(2)为内存访问提供多端口流水化处理或数据预读取;为应用提供定制化的缓存结构。

1.3 可重构管理单元模型设计可重构管理单元负责控制任务,它主要接收通用处理器指令,完成系统形态管理和资源管理;计算单元的软件加载、配置管理和数据交换等任务。

其主要完成的工作有:(1)实现全局存储空间的划分、管理及访问控制,解决数据访问冲突,阻止非法访问;将各模块传递的数据存储在统一的存储区,以并行方式协同完成计算任务;(2)接收通用处理器的指令,将共享存储系统中的操作系统及应用软件加载到计算单元;(3)对系统内部可重构硬件资源进行管理,确保相应可重构计算单元或I/O接口功能变换时,不影响系统正常运行功能;(4)用于实现对可重构计算单元的动态配置,可以根据应用任务需求修改计算单元架构和计算模块的功能,并将计算单元、I/O接口的总线转换为统一的内部互连总线,提高了对外连接的适应性。

2 基于可编程逻辑阵列的动态配置技术实现2.1 动态配置技术原理动态配置技术是实现可重构计算单元切换的关键技术,保证逻辑资源的时分复用,在优化资源配置的基础上实现对不同任务的响应。

动态配置技术支持的配置阶段及配置策略,直接决定了不同重构单元是否能够实现无缝切换,进而影响了任务实时响应能力。

目前成熟的动态配置技术需要提前编译待重构的逻辑资源、定义各硬件模块的接口和时序约束、明确各模块在可编程逻辑阵列上的实现区域及模块之间的物理连线。

动态配置技术主要包括三个阶段,即设计阶段、编译阶段、运行阶段[2]。

设计阶段,根据任务处理需求,需要设计不同计算任务对应的功能电路,每种计算任务可能对应一种功能电路,或者是若干个功能电路的组合。

在基于可编程逻辑阵列的逻辑设计中,电路设计采用硬件语言描述或者原理图描述的方法;顶层设计文件通过综合器生成网表文件,在布局/布线阶段,依旧可以对流处理器进行优化设计。

编译阶段,基于配置文件的生成工具,生成初始配置文件及若干动态配置文件;初始配置文件包含了非重构区域的系统或电路描述,每个动态配置文件对应一种计算任务。

动态配置文件经过重构文件生成器,生成最终可以动态加载的配置文件。

运行阶段,非重构区域的处理器或者控制电路,可以自行分析待处理数据的特点或依据顶层控制指令,完成配置文件的动态加载。

加载过程往往通过重构控制器及动态配置接口完成,重构配置器在重构数据库中选择相应计算任务对应的配置文件,通过动态配置接口将其加载到可重构平台中,并将可重构分区内的逻辑资源重构。

2.2 基于ICAP动态配置技术实现Xilinx公司提供支持动态配置技术的整套开发工具,包括用于动态配置的配置接口IP硬核及相应的加载配置函数。

开发者需要基于标准开发流程,搭建硬件平台并制作可重构计算单元的IP核;根据可重构部分的资源占用情况,在FPGA内部划分可重构区域资源的大小、位置及种类。

ICAP(Internal Config Access Port)是可重构资源的内部配置接口,可以挂在到内部总线上;硬件平台搭建完成之后,编译系统会为ICAP提供唯一寻址地址,作为从外部存储空间向内部可重构区域加载的数据入口和通道。

如图2所示,基于ICAP的动态配置技术主要包含如下步骤:创建处理器硬件系统、创建顶层设计、创建布局/布线工程、定义可重构分区、添加可重构模块、设计规则检测、自定义配置、生成比特流、生成启动文件。

创建处理器硬件系统及顶层设计后,需要对模块占用的资源进行预估,并根据预估结果创建顶层设计的约束文件。

定义可重构分区、添加可重构模块阶段,需要充分考虑布局布线的时序及资源要求。

图3为可重构系统的布局图,主要包括处理器、可重构分区、数据总线及其他非重构IP核等,处理器负责资源调度、可重构接口控制等;可重构分区用于实现流处理器的多形态变换;数据总线同时用作动态配置文件加载、各模块数据通信通道。

2.3 可重构计算系统平台搭建如图4所示,基于动态配置技术的可重构架构的验证系统包括上位机、可重构计算系统(主要由可编程逻辑阵列组成),两者之间通过通信总线连接。

主要包含以下模块:(1)可重构控制单元。

该单元包含:内嵌通用处理器PowerPC、Linux操作系统、PLB总线等,主要负责可重构单元的控制、数据传输、资源调度等。

(2)通信单元。

该单元主要包含:以太网接口及串口,用于图像传输及控制指令传输。

(3)内存管理单元。

该单元主要包含片内定制的乒乓存储单元,用于源图像及中间处理数据的缓存。

(4)可重构逻辑单元。

可重构控制单元根据待处理数据的信息特征,通过动态重构方式加载不同配置文件。

如可重构硬件模块1支持图像边缘的粗提取,可重构硬件模块2支持图像边缘的精细化提取。

上位机负责可重构配置单元的加载控制,能够根据待处理任务的数据特点和大小以及处理内容,选择最适应的可重构加载文件,并向可重构计算系统发出重构指令。

相关文档
最新文档