planahead 动态重构_实现动态部分重构 - 可重构计算理论 技术交流 开发工具的使用 - 与非博客 - 与非网...

3、实现局部重构

完成是为实现局部重构的前期准备工作后,将进入实现局部重构的过程,生成局部重构位流文件。此过程在Xilinx的局部重构平台--PlanAhead集成环境下实现。

PlanAhead是Xilinx的可选工具,是ISE工具链的补充,通常是设计者在同一FPGA上需要实现最高性能、持续改进提高速度且要求紧凑设计的一个解决方案。PlanAhead用于设计和分析XilinxFPGA上电路的工具,它基于层次布局的原理,在综合和布局布线(PAR)阶段之间使用,它使设计者能够更快速地分析、修改、约束和实现设计。本实验就在Xilinx推出PlanAhead的最新版本-PlanAhead9.2.5集成环境下实现,其界面如图2.40所示。下面介绍实现的局部重构的主要步骤。

图2.40 PlanAhead9.2.5界面

3.1创建PlanAhead工程

(1)创建工程

图2.41启动创建PlanAhead新工程导航

启动PlanAhead,点击File-〉New Project菜单,进入PlanAhead的工程导航,如图2.41所示,点击“Next”,进入工程名和位置输入对话框如图2.42所示,指定工程创建路径“d:\EAPR_Workshop\part1\PA_project”,输入工程名“project_led”。单击“Next”,进入设计输入选择对话框,如图2.43所示,选择马上输入,单击“Next”进入网表输入对话框。

图2.42创建新的PlanAhead对话框

图2.43 PlanAhead工程设计输入选项

(2)添加网表

图2.44添加网表

选中“d:\EAPR_Workshop\Lab\part1\netlists\top\top.ngc”作为网表文件.然后点击“Add”,设置目录“EAPR_Workshop/Lab/part1/netlist/static”和“EAPR_Workshop/Lab/part1/netlist/fast”、“EAPR_Workshop/Lab/part1/netlist/slow”等作为网表目录,网表设置如图2.44所示,单击“Next”进入指定器件型号对话框。

(3)指定器件型号

图2.45指定工程的器件

选择SelectPart…,在列表框中选择器件“xc2vp30-f896-7”,如图2.46所示。点击“OK”,单击“Next”进入下一步,添加约束文件。

(4)添加约束文件

约束文件在“EAPR_Workshop\Lab\part1\data\top.ucf”,约束文件应该如图2.467设置,单击“Open”。

图2.46添加约束文件

图2.47工程概述

单击“Next”进入工程概述对话框,如图2.47所示,单击“Finish”完成工程创建过程,进入PlanAhead集成环境。

3.2设置工程特性

图2.48工程局部重构特性设置

在PlanAhead集成环,单击“File-〉SetPRProject”菜单,将本工程特性设置成局部重构,如图2.48所示。

3.3定义重构实例

在集成环境的“Netlist View”网表视图中,选中局部重构模块“reconfig_moudle”,右击弹出菜单,点击“Draw Pblock”菜单,如图2.49所示。在右边的器件视图“Device View”中,按住鼠标左键拖动,画出一个大小适当的矩形框,此矩形框将来就是FPGA上的一个局部可重构区域PRR。完成矩形框后弹出对话框要求输入快名字,输入“pblock_ reconfig”,入图2.50所示单击“OK”,在“Physical Hierarchy”视图中“floorplan_1”的“root”下 可看到刚才输入物理块“pblock_reconfig”。在Netlist视图下,选中重构模块,右击弹出菜单如图2.51所示,单击“Set Reconfigurable…”,弹出设置可重构实例对话框“Set Partial Reconfigurable Instance”,如图2.52所示,输入模块名字“medium”,单击“Ok”。

图2.49为局部重构模块画矩形框菜单

图2.50输入名称

图2.51把矩形框特性设成可重构

图2.52设置可重构实例

3.4添加动态模块

图2.53添加可重构模块对话框

在PlanAhead的网表视图“Netlist”下选中动态模块,点击鼠标右键出现弹出菜单,点击“Add Reconfigurable Module...”,出现添加可重构模块导航对话框如图2.53所示。单击“Next”弹出动态模块命名对话框,如图2.54所示,输入“fast”,单击“Next”,弹出网表输入对话框如图2.55所示,在“Netlist file”框中选中“netlists\fast”目录下选中“reconfig_module.ngc”文件如图2.56所示。

图2.54为可重构模块命名

图2.55可重构模块网表输入对话框

图2.56为可重构模块选择网表文件

图2.57为网表添加约束文件

在PlanAhead9.2.x下可以为每个动态模块添加各自的特别的约束文。由于本实验,对每个动态重构模块没有特别的要求,因此单击“Next”,跳过此步,则弹出添加可重构模块的摘要对话框,单击“Finish”完成一个动态模块网表的输入。重构上述步骤,分别命名“medium”、“slow”,把“netlists\medium”和“netlists\slow”目录下的“reconfig_module.ngc”加入。在添加可重构模块网表后,在PlanAhead集成环境下部的控制台“Console”和“I/O Ports”之后增加一活页“ExploreAheadRuns”,这页中的“floorplan_1”出现你所添加的动态可重构模,如图2.59所示。

图2.58可重构添加摘要对话框

图2.59用户添加的动态模块

3.5放置总线宏

图2.60放置总线宏

图2.61改变菜单模式为创建位置约束

总线宏是预先布线的宏 ,需要布局布线之前正确放置.在PlanAhead集成环境的网表视图NetlistView下选择BusMacro,改变菜单选择模式如跨在可重构区域边界,如图2.60所示。注意总线宏的方向,放在动态可重构区域的左边还是右边,要与顶层设计保持一致,否则设计规则检查时会出错。

3.6设计规者检查

在完成了PlanAhead工程网表的输入、正确放置了总线宏等后需要经过局部重构的设计规则检查,以保证实现的正确。Xilinx开发了一套针对局部重构的设计规则,以确保寄存器传输级的总线宏实例总线宏的正确例化和放置,也包括局部重构特定的其他规则。设计规则检查出错,则不可能成功生成局部重构的位流文件。单击PlanAhead的“Tools-〉RunDRC”菜单选项,如图2.72所示,弹出设计规则检查对话框,如图2.63所示,为了加快速度,只选择“PraitialReconfi”选项进行检查,确保控制台Console没有出现错误信息(红色的感叹号为错误信息,黄色的感叹号为警告信息,)。

图2.62运行设计规则检查

图2.63检查规则选择

3.7静态部分实现

图2.64静态部分实现菜单

通过设计规则检查后,就可进入实现局部重构的流程中了。在“ExploreAhead Runs”页面窗口下,选择“static”,点击右键,弹出菜单,入图2.64所示,单击“Launch Runs..”,则弹出运行对话框如图2.65所示,对话框列出你的计算机处理器数量和放置输出选项,可以采用缺省值(如果计算机CPU为双核则显示可用处理器数量为2,如果是单核的CPU则显示1),为了加快速度,充分利用多处理器技术,则在Number of Jobs选择可用的处理器数量。

图2.65静态部分运行选项

单击“OK”,静态部分就开始实现,在Monitor页对话框中,可以看到实现过程的输出信息。当进度条显示100%时表示静态部分正确实现,如果有错误则不能进行到100%。

图2.66静态部分实现过程

3.8动态模块实现

动态模块实现,可以在静态模块实现后多个动态模块同时选择实现,由计算机自动管理运行如图2.69,对于多核CPU可以选择多核运行如图2.68所示,该计算机为双核,故PlanAhead显示计算机有2个处理器,用户可以指定多个处理来实现。动态模块实现的过程与静态部分实现的过程类似。所有的模块实现后,各个模块的进度条显示100%,如图2.70所示。

图2.67实现动态模块

图2.68同时实现多个动态模块选择多核CPU同时运行

图2.69同时实现多个动态模块

图2.70全部实现

3.9生成位流文件

实现局部重构的最后一步是组装,就是合并静态模块和局部可重构模块,创建配置FPGA的位流文件。将创建好几种位流文件:整体位流文件(full bit file),当FPGA初始化时配置FPGA,局部位流文件(partial bit file)FPGA在整体位流文件配置后再下载到FPGA中。所有的.bit文件都在PlanAhead自动生成的“merge”文件夹中。组装过程完全自动运行。

在“ExploreAhead Runs”视图下选中“floorplan_1”,点击鼠标右键,在弹出菜单中点击“Run PR Assemble..”(如图2.71),弹出图2.72所示的对话框,根据设计者的需要,在每个可重构区域中选择一个可重构模块作为缺省模块,用于FPGA初始化时装载,即缺省模块被并入full.bit文件。在本例子中选择medium作为初始化模块。

图2.71组装菜单

图2.72组装过程为动态重构区域选择缺省模块

图2.73组装过程的输出对话框

选择好缺省可重构模块后,单击“OK”则进入组装过程,并弹出组装过程输出对话框,显示组装过程,如图2.73所示,这个过程运行时间相对长,大约需要5分钟,读者耐心等待。组装完成后弹出图2.74所示对话框。

图2.73组装过程进行阶段显示在对话框中

图2.74组装过程成功结束

图2.75 PlanAhead自动创建的目录结构

组装完成后局部可重构流程就完成了,PlanAhead自动创建目录结构如图2.75所示,生成的用于配置的所有.bit文件全部在“floorplan_1/merge”目录下,如图2.76所示。局部重构流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值