原创 增量编译之Design Partition

2011-9-27 16:03 4706 24 27 分类: FPGA/CPLD

         增量编译的概念很早就听说过,但一直没深入研究。在QuartusII中支持增量编译这一选项,如果使能这个选项,编译器会根据上一次的编译的编译结果进行优化,达到缩短编译时间的目的。

QuartusII中默认的编译方式不是增量编译,而是一种固定式编译,每次重新编译会执行全编译,不会利用前次编译结果,这样花费的时间比较长;而如果需要使能增量编译,则首先需要对设计进行分区,通过Design Partitions工具将一个大的设计分成若干个分区,编译是针对分区分别进行Analysis&SynthesisFitter,每个分区可以的到各自的网表。下面以一个示例讲解一下实现增量编译的流程:

1. 首先在QuartusII中创建工程,加入代码,进行Analysis&Synthesis,可以得到设计代码的层次结构,如图1所示。

1

         2. 打开Design Partitions工具(Assignments à Design Partitions Window),双击“new”创建新的设计分区,可以根据代码的层次结构创建对应的分区,如图2(a)所示,选择所有的层次结构,如图2(b)所示为创建完成的分区。

                                     (a)                                                                                     (b)

2

         3. Design Partition Window中有Netlist Type,这个选项指定增量编译使用前次编译结果的网表类型。如图3所示,双击可以得到下拉选项:Source FilePost-Synthesis(默认)Post-FitEmpty

3

Source File:在源代码未修改的情况下,不会重新Analysis,利用前次Analysis结果只进行SynthesisFitter

Post-Synthesis:在源代码未修改的情况下,利用前次Synthesis结果只进行Fitter

Post-Fit:在源代码未修改的情况下,保留前次Fitter结果进行编译,此选项最大程度上减少了编译时间;

Empty:如果只划分了分区,并未对改分区设计代码,可以将这个分区Netlist Type设置成Empty,编译时将忽略此分区。

对上诉几个选项分别进行了实验,图4是未设置Design Partions,即固定式编译的结果;图5Source File的编译结果;图6Post-Synthesis的编译结果;图7Post-Fit的编译结果。

4

5

6

7

         可以发现Post-Fit的编译时间最短,只需255秒,相比于固定式编译,编译时间减少了58%

         另外,固定式编译其实通过设置也可以实现增量编译,在SettingsIncremental Compilation中,使能Rapid Compilation选项,如图8所示,此选项类似于在Fitter时重用Netlist TypeSource File或者Post-Synthesis实现增量编译。

8

文章评论3条评论)

登录后参与讨论

用户417617 2013-3-21 11:20

增量编译一般是Design Partition和Logiclock结合使用,能再讲讲后者及二者的结合使用么

用户1000403 2012-10-10 17:31

看不到图片?!

用户1237979 2011-10-18 10:54

mark
相关推荐阅读
Hoki 2017-01-11 17:35
LX9开发板呼吸灯实现
对LX9开发板硬件评测后,从这一节开始真正进入FPGA开发的世界。很多开发板的例程中必有跑马灯实验,老跑马也没意思,咱来把新潮的,整一个呼吸灯。 呼吸灯最初是出现在apple公司的笔记本产品中,当合上...
Hoki 2017-01-11 16:47
LX9的microblaze配置
虽然XC6SLX9芯片资源比较少,但是嵌一个microblaze还是搓搓有余的,这一节就来评测一下在XC6SLX9上microblaze的配置。 有两种方法配置microblaze,一是在ISE软件中...
Hoki 2017-01-11 16:32
zynq评测
Zynq芯片是业界第一款在FPGA中集成ARM核的芯片,由FPGA的发明者xilinx公司推出的。Zynq严格来说不能以FPGA来定义它,因为其是以处理器为中心的平台,能够在单芯片上提供软、硬件和 I...
Hoki 2017-01-11 16:19
u-boot
Zyny芯片启动加载分为3步: 1. 芯片上电启动,首先读取BootROM中的程序,初始化一些必要的外设,然后根据专用引脚电平判断该从何处启动first stage Bootloader(FSBL),...
Hoki 2017-01-11 16:09
基于zynq的交叉编译平台
Zynq芯片的最大特点是其集成了双ARM Cortex-A9处理器,因此zynq的应用基本是以这个ARM核为核心,再配合FPGA逻辑作为协处理器,几乎能实现所有较复杂的应用。并且在ARM上可以跑操作系...
Hoki 2017-01-11 15:54
u-boot image生成
这节介绍一下如何生成u-boot image文件,在SDK软件中点击Xilinx Tools→Create Boot Image工具即可生成,但是生成image文件需要首先集齐3个文件:u-boot....
我要评论
3
24
关闭 站长推荐上一条 /2 下一条