【技术分享】详解迭代开发FPGA的思想,FPGA增量编译使用教程

2019-04-10 13:18:39 来源:elecfans
标签:

 

1. 迭代闭环思维

还记得小时候我们学习骑自行车的场景吗?一种是:亲自尝试模仿去骑,摔跤后总结下然后再尝试去骑,一遍又一遍的摔跤再尝试,然后越骑越好;另外一种是:在别人的指导下,按照别人的套路去练习,也越骑越好。


虽然这2种方式都学会了骑自行车,但差别还是很大的,前者是自我模仿思考的迭代闭环的学习方法,是小孩子常用的方法,比如小孩子学说话、走路等,这种方法的好处是学会了还能举一反三,不好的地方就是花掉的时间失败成本会更高;后者是套路式的学习方法,按照套路武功秘籍练好各式各招就会了,是年龄大的人常用的方法,这种方法的好处是学习的成本低,不好的地方是思考反馈会越来越少。

 

其实,现在我们仔细想下:小孩子为什么喜欢问为什么,因为小孩子是自我模仿思考的迭代闭环的学习方法;反而越大的人却越来越讨厌问为什么,因为大人更喜欢套路式学习方法,喜欢玩套路。

 

 

在这里,希望长大的我们,学习能多一些迭代闭环的思想方法,这样会因为我们迭代闭环的次数越多,学习就会越来越系统,也越学越快,越学越简单。就好比FPGA的设计一样,迭代次数越多,设计会越来越好。

 

FPGA设计的特点是需要不断不断的迭代各个设计流程来达到最终的设计,同时迭代的成本大,它比单片机开发更注重迭代的开发思想。所以,设计的前期一定要从系统的角度考虑好系统的方案,然后在系统这个方案中不断的迭代,不然后期发现由于系统方案的问题就得不偿失了,好的系统架构就是成功一大半了。其中,在FPGA设计中可以通过增量编译来加快我们的开发。

 

2. FPGA增量编译

FPGA增量编译可以理解为:当设计流程90%左右的设计是一样的话,就可以利用上次的结果来加速设计,当然如果设计中大部分不一样的话,利用增量编译就得不偿失。下面我们看看vivado中的增量编译:

 

 

使用增量编译时,可查看ug904文档,里面有详细介绍,主要利用Vivado的dcp类型的文件,dcp文件是Design Check Point文件,即一些中间节点文件,保存各个阶段的结果,为复用提供了方便。使用增量编译有2种方式:

 

在项目模式下:

1) 通过右键点击新实现方案运行 impl_2 ,并从弹出的菜单中选择设置增量编译;

2) 浏览增量编译检查点参考DCP文件并点击确认;

3) 继续运行实现方案,会明显发现编译时间缩短。

 

 

 

在非项目模式下:

在opt_design后运行以下命令:
%read_checkpoint -incremental reference_routed.dcp

 

上图的编译时间发现:增量编译后,可以大大减少编译时间,工程越大后的效果越明显。注意:

1) 当参考设计和当前设计的相似度大于95%的,最适合用增量编译技术,但相似度低于75%时,工具会建议关闭增量编译;

2) 有些时候,虽然是很小的RTL改动,也会造成网表的巨大差异,比如:改变HDL中的端口,增加总线的参数等,这个时候其实不适合用增量编译的。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
物联网发展迎来新的活力,作为FPGA业界的佼佼者,赛灵思的表现会是如何?

近些年来,物联网的发展为工业和医疗领域带来了新的活力。由此,也催生了工业物联网(IIoT)和医疗物联网(HcIoT)的创新。这些新兴领域的崛起,为FPGA的发展提供了机会。作为FPGA业界的佼佼者,赛灵思在工业物联网和医疗物联网领域上的表现如何?

AI应用扩张,FPGA的市场规模未来四年有望达52亿美元?

过去几年,FPGA的CAGR大约一直保持在8-10%左右,随着该类器件在AI应用中的扩张,未来5年其CAGR增长将高达38.4%!根据市场调研公司Semico Research的预测,人工智能应用中FPGA的市场规模将在未来4年内增长3倍,达到52亿美元。

MachXO3D FPGA和sensAI 2.0同时发布,莱迪思用FPGA诠释AIoT
MachXO3D FPGA和sensAI 2.0同时发布,莱迪思用FPGA诠释AIoT

“FPGA的应用设计是从FPGA本身的灵活性出发的,只是刚好AI能够在乘法器和加法器上跑运算,因此FPGA的SoC和ASIC属于健康竞争的关系,更多时候是优势互补,通过性能搭配实现双赢。”

Spectral Edge在台北国际电脑展展示突破性FPGA图像信号处理器

位于英国剑桥的数码图像处理IP公司Spectral Edge已被Talents@Taipei机构认证为创新型初创公司,并获邀参加台北国际电脑展(Computex Taipei)(全球性计划的一部分),在台湾推动国际商务关系发展。

Achronix推出突破性的FPGA系列产品,以面向高带宽数据加速应用的灵活性而将性能提升到全新高度

基于现场可编程门阵列(FPGA)的硬件加速器件和高性能嵌入式FPGA(eFPGA)半导体知识产权(IP)领导性企业Achronix半导体公司(Achronix Semiconductor Corporation)今日宣布:推出创新性的、全新的FPGA系列产品,以满足人工智能/机器学习(AI/ML)和高带宽数据加速应用日益增长的需求.

更多资讯
预测2021年50%GDP为数字化,做FPGA的出路在哪?

数字化转型进入加速期,需要高效且灵活应变的系统,异构计算将大行其道,而FPGA堪当重任。

莱迪思新版sensAI实现10倍的性能提升,助力网络边缘低功耗、智能IoT设备

莱迪思半导体公司(NASDAQ: LSCC),低功耗、可编程器件的领先供应商,今日宣布其屡获殊荣的Lattice sensAITM解决方案的性能和设计流程将获得大幅增强。莱迪思sensAI提供了全面的硬件和软件解决方案,能为网络边缘的智能设备实现低功耗(1 mW-1 W)、实时在线的人工智能(AI)。

莱迪思全新MachX03D FPGA 搭配硬件可信根极大提升安全性

2019年5月20日——莱迪思半导体公司(NASDAQ:LSCC),低功耗可编程器件的领先供应商,今日宣布推出MachXO3D FPGA,用于在各类应用中保障系统安全。不安全的系统会导致数据和设计盗窃、产品克隆和过度构建以及设备篡改或劫持等问题。

实现自主可控,紫光同创FPGA芯片开始供客户试用

5月16日,紫光国微在投资者交流活动中表示,公司子公司紫光同创的FPGA芯片目前已经有几个系列的产品完成了开发,正在提供给客户试用,出货量还较小。

为什么要给程序瘦身?可执行程序代码瘦身有哪些方法?

随着应用程序的功能越来越多,实现越来越复杂,第三方库的引入,UI体验的优化等众多因素程序中的代码量成倍的增长,从而导致应用程序包的体积越来越大。当程序体积变大后不仅会出现编译流程变慢,而且还会出现运行性能问题,会增加应用下载时长和消耗用户的移动网络流量等等。因此在这些众多的问题下需要对应用进行瘦身处理。

电路方案