APP下载

基于System Generator的动态局部可重构设计方法

2011-08-10谷京朝

舰船电子对抗 2011年6期
关键词:静态重构局部

赵 鹏,谷京朝

(空军雷达学院,武汉430019)

0 引 言

FPGA可重构技术根据重构过程的行为差异分为静态重构和动态重构。其中动态重构又可根据重构实现的面积大小不同分为动态全局重构和动态局部重构2类。动态全局重构,是在重配置时对可重构FPGA器件进行全部的重新更换。而动态局部重构,重配置时只对重构硬件内部分资源进行操作,其余逻辑资源保持不变且继续工作,与重构过程无关联。

本文通过对比传统的DPR设计过程,以Xilinx公司提供的FPGA开发工具System Generator for DSP为系统设计基础,结合ISE、PlanAhead开发工具,在EAPR设计流程基础上提出一种改进的DPR设计方法,在一定程度上提高了DPR开发效率。

1 System Generator软件简介[5]

System Generator for DSP(SysGen)软件是由Xilinx公司开发的 MATLAB/Simulink环境下的一个工具箱,包括Xilinx集合和模型到硬件的转换软件。Simulink扩展了MATLAB工程应用描述范围,为建立动态系统模型提供了一个通用的环境。而SysGen则是一个可以扩展Simulink功能的软件,它为数字逻辑的DSP功能提供了准确的仿真。它还可以把Simulink的模型转换成硬件执行程序,转换后的硬件执行程序可以在Xilinx公司的FPGA中运行。在Simulink环境下,如果由Xilinx公司提供的模块组成的模型在Simulink的环境中正常运行,它将会以同样的方式在硬件中执行。如果由SysGen提供的模块可以和Simulink提供的模块任意组合使用,从而建立系统模型,虽然能达到功能仿真的目的,但是该系统无法在FPGA中运行。

SysGen作为数字信号处理高层系统设计与Xilinx FPGA实现的“桥梁”,在Simulink下完成算法的模型建立后可根据设计要求生成相应的工程文件。ISE可对SysGen生成的工程进行调用、仿真、综合,最后完成算法的硬件化,另外也可以由Sys-Gen直接生成位流文件,直接下载到FPGA。

与语言设计方法相比,使用SysGen主要有3个优势:

(1)图形化操作,简单易用;

(2)实现的算法能确保与仿真结果相符;

二氧化碳的排放主要来源于高碳天然气、燃煤电厂、水泥厂、钢铁厂、煤化工和炼化厂等。经过近年来的研究和示范,国内已形成高碳天然气、燃煤电厂和炼化厂排放源的捕集技术,建成了130多万吨的二氧化碳捕集能力,其中煤化工二氧化碳排放浓度高,捕集成本低。

(3)无需为仿真和实现建立不同的模型。

2 FPGA动态局部重构技术

针对FPGA动态局部重构,Xilinx公司主要提出过4种设计方法,即JBits动态重构设计方法、基于差异的局部重构方法、基于模块的局部重构方法和早期获取部分可重构(EAPR)[6]。EAPR设计方法作为Xilinx最新提出并且推荐使用的一种DPR设计方法,因其有重构区域灵活、布线简单、使用基于Slice的总线宏和布局易修改等优点,所以在可重构设计领域得到广泛的应用。EAPR实现步骤如图1所示。

图1 EAPR设计流程

(1)系统设计和系统仿真:通过系统仿真软件(LabView、Simulink等)对整个算法进行验证,检测算法是否满足设计要求。

(2)硬件描述语言(HDL)设计描述和综合:根据系统仿真成功后的算法模型,利用ISE软件进行HDL硬件描述语言的编写,包括顶层模块设计和综合、静态模块的设计与综合以及各重构模块的设计和综合;

(3)添加约束:定义用户控制文件(UCF),主要包括时序约束、区域约束、引脚约束;

(4)实现静态模块和重构模块:主要包括综合、映射和布局布线;

(5)装配:完成顶层模块与静态模块和动态模块的装配,使得各模块形成1个完整的系统。

(6)生成配置文件下载验证:最后生成初始化的比特流文件以及各个模块的局部重配置比特流文件,通过下载到相应FPGA目标板进行验证。

3 基于SysGen的动态局部重构设计

通过分析EAPR设计方法可发现,EAPR设计方法与传统DPR设计方法相比简单快捷,但从系统设计到硬件寄存器传输级(RTL)级硬件语言实现的过程依然复杂,作为系统仿真和硬件实现的桥梁,若能够将SysGen引入DPR设计将会大大提高设计效率。本着上述思路,基于SysGen的DPR实现方法的主体流程是以EAPR为基础,利用SysGen软件系统设计的优势,将EAPR设计流程(图1)中算法设计、系统仿真和HDL设计输入3个步骤进行整合,在SysGen软件环境下进行仿真验证和代码生成,减少设计过程中HDL语言的手动编写。

3.1 System Generator系统级建模

首先针对动态局部重构系统设计,对各重构系统进行模块化设计分类时,由于局部重构系统中包含静态模块和动态模块,所以并不是所有的模块划分方式都能适合DPR设计,必须选择使各个重构系统具有公共部分的系统模型。如图2所示,在该例中两重构系统分别实现的是加法和乘法运算,其系统模型对动态部分和静态部分有严格的区分,并且2个系统中的静态部分结构保持一致。

然后,在Simulink提供的图形化环境对系统进行建模。SysGen作为1个工具箱包含在Simulink中,包括Xilinx BlockSet、Xilinx Reference BlockSet和Xilinx XtremeDSP Kit 3个库,利用这3个库可方便搭建出系统模型。需注意在SysGen环境下数据必须是定点运算,所以作为整个系统的开始和结束都要使用Gateway模块,它承接了双精度和定点运算的转换,并且只有在Gateway之间的Xilinx模块才能被转化为硬件实现。另外,与Simulink仿真不同的是,SysGen系统仿真必须包含System Generator模块,它给定整个系统控制和仿真的参数,并应用于系统工程到硬件实现的转化。

最后,动态局部重构技术将N个分系统取其公用部分作为静态模块,非公用部分作为动态模块,所以在系统论证时需对每个系统分别进行仿真验证,检查结果是否符合规则,确保后续重构设计正确。

图2 局部重构系统的模型架设

3.2 拆分系统模块

各重构系统经过仿真后,需将各重构系统拆分为子系统,主要原因有:

(1)据软件使用规定,SysGen只能对拥有完整输入输出的系统进行代码生成;

(2)拆分子系统后,静态模块代码只需生成1次,其余重构系统只生成动态模块。

如图3所示,将各系统模型按照静态部分和动态部分进行拆分,需对各子系统端口重新定义,即添加Gateway模块,并通过System Generator模块实现静态和动态模块的超高级定义语言(VHDL)/Verilog代码生成。当所有重构系统都已拆分转化完毕,留作等候ISE调用。

图3 拆分系统模块

3.3 实现动态局部重构

据EAPR设计规则,首先在ISE环境下完成顶层文件的设计,主要包括对静态、动态模块和总线宏的连接定义以及时钟控制等;然后再分别创建新模块并相应地调用动态或静态源代码。需要注意在ISE调用SysGen生成的代码时,除了顶层文件外其余子文件不能在“Xilinx Specific Options”中选择Add I/O Buffers。

另外,在顶层文件对全局系统进行连接定义时,需要注意静态区域与动态区域连接必须有总线宏,并且总线宏的数据宽度取决于N个系统中连接位宽的最大值。经过综合后生成网表文件,建立等待PlanAhead工程调用的结构文档[6]。

PlanAhead软件可以帮助设计者有效克服在进行大型复杂FPGA时遇到的时序问题、复杂时钟和大型输出问题。

在PlanAhead环境下主要进行划分区域、放置总线宏、设计规则检查(DRC)、静态模块实现、动态模块实现等工作,通过PR Assemble完成动态模块和静态模块的整合,最后将生成的位流文件进行下载上板检测。

4 结束语

与传统DPR设计流程相比,EAPR受到的设计规则限制较少,极大地提高了设计的灵活性。基于SysGen的动态局部可重构设计是一种改进的EAPR设计流程,该方案利用SysGen软件可以快捷地对系统仿真向硬件设计语言(HDL)进行转换,有效减少开发人员对RTL级硬件语言的手动编写。该方法简单易行,能够较好地应用于软件无线电等设计中,具有广阔的应用前景。

[1]覃祥菊,朱明程,张太镒.FPGA动态可重构技术原理及实现方法分析[J].电子器件,2004(6):277-282.

[2]Xilinx Inc.ISR and Xilinx Roll Out Ready-to-Wear SDR[EB/OL].www.fpgajournal.com.2006-06-23.

[3]Manuel G.Gericota,Gustavo R.Alves.DRAFT an online fault detection method for dynamic and partially reconfigurable FPGAs[A].Proceedings of the 7th International on-line Testing Workshop[C].IEEE,2001:34-36.

[4]Xilinx Inc.Xilinx Honored for Enabling Technology in the ALICE Experiment at CERN,Programmable Logic Design Line[EB/OL].http://www.pldesignline.com/news/207101017,2008-08-09.

[5]纪志成,高春能.FPGA数字信号处理设计教程[M].西安:西安电子科技大学出版社,2008:33-43.

[6]Xilinx Inc.Early Access Partial Reconfiguration User Guide[EB/OL].http://www.xilinx.com/,2006.

猜你喜欢

静态重构局部
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
爨体兰亭集序(局部)
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
高盐肥胖心肌重构防治有新策略
凡·高《夜晚露天咖啡座》局部[荷兰]
北京的重构与再造
丁学军作品
局部遮光器