Altera Spectra-Q引擎
扫描二维码
随时随地手机看文章
FPGA和SoC在下一代功能上实现了跨越式发展。这包括数百万个逻辑单元、复杂的接口协议,以及PowerPlay技术、嵌入式硬核模块和硬核知识产权(IP)模块等特性,包括了数字信号处理器(DSP)和微处理器。设计人员需要新的软件工具来帮助缩短设计总时间,降低下一代可编程器件的风险和成本,同时大幅度提高设计效能,促进产品及时面市。传统上,FPGA设计工具重点关注的是缩短编译时间。这方面虽然很重要,但是还不足以解决今后十年面临的产品及时面市难题。
§ Spectra-Q™是进一步提高设计效能的另一种新措施——减少设计迭代次数,而且还大幅度缩短了绝对编译时间。Spectra-Q是一种新引擎,具有:一组新的综合、布局、布线和时序分析算法。这些算法使用分层数据库和现代计算平台,将编译时间缩短了8倍。
§ 一种新的分层数据库支持保留任意阶段的设计实现——从综合到布线。由于采用了“编译一次”IP和设计模块方法,因此,极大的减少了设计迭代。
§ 统一的编译器技术支持不同的设计输入工具。这些设计输入工具支持包括OpenCL、C/C++等在内的多种设计语言。由于提供了多种设计输入工具,因此,设计人员可以采用他们习惯的语言或者设计环境以更高的效率进行FPGA设计。
更短的编译时间
Spectra-Q引擎将设计迭代时间缩短了8倍。之所以如此是因为采用了新的分层数据库以及数据库基础上功能强大的算法。Spectra-Q从三种不同的角度来处理编译时间问题——一组改进后更快的综合、布局、布线和时序新算法,这将编译时间缩短了2倍,渐进式优化新流程,编译总时间缩短了2倍,最后,分布式编译,使用了先进的多核处理器和计算机群或者云技术,进一步缩短了2倍。
更快的算法
Spectra-Q引擎改进了综合、布局、布线和时序算法,使用了多核工作站,编译时间缩短了2倍。重新编写了每一编译器级,使其更快、更灵活。例如:
§ 新的综合引擎增强了语言支持,综合编译时间缩短了2倍。
§ 新的布局流程采用了混合布局方法——结合了最初基于数学方程的分析布局,以及精细粒度布局的仿真退火方法。这一混合布局方法逻辑占用率高,提高了结果的总体质量以及结果的可预测性,能够设计扩展到5M逻辑单元以上。
§ Spectra-Q更新了布线算法,现在包括了全局布线以及传统的细节布线。这一布线器改善了拥塞设计的结果,确保了算法能够调整适应规模较大的器件。
§ 最后,更新后的时序算法高度并行,利用了多核CPU,设计支持16个CPU,甚至更多。这些高度并行的时序算法进一步加速了2倍。
渐进式优化
除了以上的算法改进之外,Spectra-Q引擎还支持您运行颗粒式编译,减少甚至避免了完全重新设计编译。如果您需要再次运行编译的某些阶段——综合、布局、布线或者时序,您只需要对这部分进行编译即可,而不用进行完整的编译,编译流程更加颗粒化,这样,您可以在每一阶段逐步优化您的设计。对编译过程精细的控制是通过停止编译器,对设计精细调整,逐步运行编译阶段来实现的。这些渐进式优化方法将编译时间平均缩短了2倍。
对于非关键通路上很小的设计改动(改动<5%),Spectra-Q支持您保留其余未改动设计的布局、布线和时序不变。例如,Spectra-Q引擎支持快速重新编译特性,重新使用综合和布局布线信息,流畅的处理很小的渐进式设计改动。快速重新编译特性使得预综合HDL修改的编译速度提高了3倍,后适配Signaltap™ II逻辑分析器修改的编译速度提高了4倍。
分布式编译
让我们看一下越来越复杂,规模越来越大的FPGA应用,只有分布式计算才能解决这些难题。Spectra-Q引擎的分层式数据库支持对一项设计高效的进行分布式编译。分布式编译支持您对设计进行划分,在服务器群的多台计算机上对每一分区进行并行编译,极大的缩短了编译总时间。
减少了设计迭代
新的Spectra-Q引擎所含有的工具和功能减少了I/O设计、调试和时序收敛过程的设计迭代次数。Spectra-Q引擎包括了分层数据库,IP一旦编译好之后,就可以完全保留不变,从而减少了设计迭代。减少设计迭代次数有助于产品更迅速面市。
BluePrint将迭代减少了10倍
Spectra-Q引擎的顶层是业界第一款名为BluePrint平台设计者的工具,支持您探查体系结构,以更高的效率分配接口。过去,您不得不等待一次全面编译,只有适配器检查完成后,才能显示复杂的错误消息,指出非法分配出现在哪里。BluePrint平台设计者支持您探查器件外设体系结构,高效的分配接口。它实时进行适配以及合法检查,防止了非法引脚分配,避免了复杂的错误消息,也不需要等待全编译,I/O设计速度提高了10倍。工具还含有时钟规划功能,极大的减少了时序收敛所需要的设计迭代次数。
BluePrint支持将芯片平面布局(或者封装视图中)中的全部接口(例如:DDR4*72接口)拖放至合法位置,很快就可以计算完成。BluePrint实时进行适配以及合法检查,对引脚分配进行指导。图形化的合法布局避免了复杂的错误消息,也不需要等待全编译,显著加速了I/O设计。
分层设计将迭代减少了3倍
数百万个逻辑单元(LE)的设计提供了相当于数千万个ASIC逻辑门。如此复杂的设计受益于分层方法。一个典型自上而下设计流程会涉及到将设计划分成3至10个模块,每一模块采用相关的时序约束进行物理布局规划。在以前的方法中,IP一旦编译之后,编译器使用布局布线分配网表来放置IP——经常会修改这种布局信息以满足逻辑单元其他的布局要求,进行一次修改就需要一次完整的重新编译。采用Spectra-Q分层数据库,每一分区现在完全可以保留详细的布局和后布线信息。当分区被集成到顶层后,新数据库不需要重新编译。在顶层集成期间或者由于寄存器传送级(RTL)变化导致其他分区需要重新编译时,完全保留了每一分区的时序。Spectra-Q分层设计流程将全编译迭代减少了3倍。[!--empirenews.page--]
更快的设计输入
Spectra-Q引擎提供了统一的编译器技术,可以快速应用多种设计输入方法。还为硬件、软件和数字信号处理(DSP)设计人员提供了快速跟踪设计输入功能。流程的第一步是把设计转译成公共的中间格式,然后是优化步骤,为Quartus II软件生成HDL。通过多个设计输入方法,设计人员采用自己喜欢的语言,更高效的针对FPGA进行设计。设计人员可以选择在他们习惯的开发环境(或者IDE——集成开发环境)中进行开发。
§ 基于C或者C++——Spectra-Q引擎设计支持Altera为高级综合提供的A++新编译器,从C或者C++语言中建立IP内核,通过快速体系结构探查、开发和仿真大幅度提高了效能。
§ 基于C (开放计算语言(OpenCL™))——软件开发人员可以使用熟悉的基于C的设计流程和面向OpenCL的Altera SDK。SDK支持的软件开发流程抽象出传统的FPGA硬件流程。
§ 基于模型——DSP Builder工具支持基于模型的设计流程,直接在MathWorks Simulink软件中,从您的DSP算法中生成HDL。
除了上面的这些特性,Spectra-Q还包括了新的HDL综合引擎,支持所有标准HDL语言,包括SystemVerilog和VHDL-2008。
结论
Quartus II Spectra-Q引擎为您最复杂的设计提供了功能强大的平台。新工具在设计规划和实施的所有阶段都提供了更多的控制功能和预测功能。Spectra-Q不仅减少了编译次数,而且还减少了设计迭代的总次数,因此成功的解决了效能问题。