没有合适的资源?快使用搜索试试~ 我知道了~
首页增量编译(数字逻辑综合)
资源详情
资源推荐
笔者在学习增量编译时,发现网上相关的资料大多偏向一个点而不系统全
面,且讲述方法一般默认对增量编译有一定了解。当然也可能是因为此功能不常
用的缘故 :)。同时笔者有做学习笔记的习惯,于是陆续花了两个月功夫,参考
了可以搜集到几乎所有资料,最终整理成文。
主要参考的权威资料如下,如果读者有兴趣,可以自行参阅。
01.采用 Quartus II 渐进式编译技术提高效能
02.Quartus II Incremental Compilation for Hierarchical and Team-Based Design
03.Best Practices for Incremental Compilation Partitions and Floorplan Assignments
04. Quartus II Design Series Optimization
05. Area, Timing, Power, and Compilation Time Optimization
06.QuartusII 在线帮助
这些资料都为 altera 官方资料,且他的成文方式是一位工程师写一段,造成
的结果是参考资料之间有大量的重复和顺序上的混乱,这个问题让我头痛了很
久。。。不过好在还是克服了。
笔者整理笔记的原则不是简单的翻译,而是追求系统、准确、通顺,故会截
取相当可观的英文原文。中文和英文的比例大致为 7:3。望想看全中文的朋友见
谅。
最后,由于我只是对增量编译进行了理论学习,虽然笔记最后有一个例子,
但这只是杯水车薪,极度缺乏相应的实践经验,希望有经验的工程师不惜赐教!
当然,也欢迎读者指出笔记的错误与欠缺!
2011.2.25 上海 foreveryoung
交流 QQ 群:123035845/91968656
笔者 QQ:298467204
目录:
1. 增量编译
1.1 综述
1.1.1 增量编译的定义及使用影响
1.1.2 适用增量编译的设计环境
1.1.3 设计流程介绍
1.2 LogicLock regions
1.2.1 LogicLock 域的基本概念
1.2.2 操作窗口
1.2.3 创建域
1.2.4 域的布局
1.3 Design partitions
1.3.1 分配 Design Partitions 的指导原则
1.3.1.1 design partitions 是逻辑分区
1.3.1.2 十一条指导原则
1.3.1.3 评估分区质量
1.3.2 为后续编译指定保存级别
1.3.2.1 创建分区
1.3.2.2 分区的网表类型
1.3.2.3 分区适配结果的保存级别
1.3.2.4 使分区自动重新综合的更改
1.3.3 从独立工程中导出分区
1.3.3.1 建立顶层设计与下层设计
1.3.3.2 输出设计分区
1.3.3.3 输入设计分区
1.3.4 基于团队的设计优化及第三方 IP 传递脚本
1.3.4.1 五种脚本(参考)
1.3.4.2 为下层设计添加 SDC 约束
1.3.5 Design Partition Planner
1.3.5.1 关于 Design Partition Planner
1.3.5.2 使用 Design Partition Planner
1.4 Design Floorplans
1.4.1 为什么创建 design floorplan
1.4.2 指导原则
1.4.3 使用 Logiclock 来创建 design floorplan
1.4.3.1 修改分区布局
1.4.3.2 使用 Early Timing Estimator
1.4.4 典型流程(参考)
1.5 设计流程
1.5.1 自上而下
1.5.2 自下而上
1.6 限制和局限性
1.7 实例解析
1.7.1 步骤 1: 查看顶层设计
1.7.2 步骤 2: 编译并导出工程 des
1.7.3 步骤 3: 把子设计导入顶层设计
1. 增量编译
本章讲述如何通过对设计的逻辑进行分区(design partitions),然后对分区
进行物理上的约束(logiclock)等步骤实现增量编译。
1.1
综述
1.1.1 增量编译的定义及使用影响
一个设计获得成功的关键是在 FPGA 设计和调试阶段能够迅速进行迭代。
设计人员希望缩短每一设计迭代的编译时间,能够有信心保持时序逼近结果以减
小完成设计所需要的设计迭代次数。为解决这些问题,FPGA 采用了 ASIC 设计
中成熟的增量设计和编译功能。这些功能包括支持设计重用、设计变化以及工程
顺序变化的自上而下方法,以及包括团队设计流程的自下而上设计方法。
一般设计可概括为两种设计:传统的“固定式”编译和增量编译。
传统上,层次设计在逻辑综合和适配(或者布局布线)之前被展开为单个网
表。每次修改设计后,都需要对设计重新编译。这样做的原因之一是通过处理整
个设计,编译器可以进行全局优化以提高资源利用率和时序性能。然而,对整个
设计进行编译会导致在微小的设计改动时也需要很长的编译时间。而且,设计人
员也不愿意看到一部分设计的改动会影响设计中其他部分的时序逼近。在小型设
计中,例如 CPLD 或者低密度 FPGA 设计,当简单的按键式编译很容易达到时
序要求时,设计人员能够成功地使用固定式编译流程。当编译时间和保留时序逼
近结果并不重要时,固定式设计是令人满意的。
而具有增量编译的编译流程如下:
对设计中的一部分进行修改并重新编译设计时,软件可以使用更新后的
HDL 代码和设置,或者重新使用并保留每一分区的编译结果。重点对某一分区
进行编译,同时没有变化的分区不进行重新编译,从而缩短了设计迭代时间;也
可以针对设计分区采用物理综合等优化方法,同时保持其他逻辑模块不动。每天
可以进行更多的设计迭代,更有效的达到时序逼近。增量设计流程还支持简单的
设计重用,让设计人员采用基于团队的设计方法在当今多地区设计环境中独立建
立并优化设计模块。建议在大型设计和高密度器件设计中采用增量编译,相对于
器件体系结构速率性能要求较高的设计也可以采用该方法。
以下图为例来简单说明增量编译的工作原理。
使用增量编译首先需要进行分区,如图中 C 模块没有手动分配分区,所以
和模块 A 一起在默认的 Top 分区内。而 B、D、E 模块处于分区 B(分区名字默
认和模块名相同),F 模块处于分区 F。当模块 E 更改后,编译器只修改分区 B,
而保持其余分区不变。
需要注意的是,即使不使用 design partitions,QuartusII 也具有增量编译的功
能,比如 Smart Compilation,incremental debugging 和 Rapid Recompile。
比如在使用 Smart Compilation 时,如果源文件没改动,下一次编译跳过
Analysis and Synthesis 步骤。可以在 Settings —> Compilation Process Setting 里可
以使能 Smart Compilation。
如果上次编译后设计基本没有修改可以使用 Rapid Recompile 特性来重用最
近一次的编译结果。即本特性适用于小的、独立的修改。可以在 Settings —>
Incremental Compilation 里使能。
尽管使用 design partitions 会带来上述好处,但另一方面,他也会对逻辑优
化产生一定影响,如下图:
为了防止跨边界的优化,软件综合每个分区时不使用其他分区的任何信息。
在 flat compilation(对应增量编译)中,软件使用未连接的信号(unconnected
signals)、常量(constants)、翻转(inversions)和其他的设计信息来实现优化。
当使用分区时,这些类型的优化对于分区边界上的引脚(partition I/O ports)不
起作用,即好的设计不应依靠这些类型的优化。
如果两个分区有同样的父分区(注,原文为 immediate parent partition,应该
是指没有嵌套或多级的父子分区关系),可以使用 Merge 命令把两者合并为一个
分区以实现原分区之间 IO 互连的优化。
当所有分区放在一起,作为一个整体进行优化时,适配器能对跨分区路径进
行布局优化,但是,不能对其进行物理综合等逻辑优化。但当分区是在独立的工
程中适配或者分区使用上一次编译结果时,适配器不能完全对跨分区路径进行布
局优化。即良好的设计分区布局应相对独立,因为其跨分区路径不是关键时序路
径。
使用设计分区或者创建一个 floorplan(使用 Logiclock)可能会对时序优化
有所影响。虽然不是所有的设计都会遇到这问题,但是如果设计的不使用增量编
译的版本(flat version)刚满足时序约束或几乎用尽器件资源,在增量编译的版
本中使用分区或 floorplan 设置后可能会遇到问题,如下:
在最后,总结使用增量编译可能会带来的正负影响:
剩余73页未读,继续阅读
earthquake666
- 粉丝: 2
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功