ESL综合解决方案提高DSP的设计效率,推动ASICS与FPGA器件发展(图)
扫描二维码
随时随地手机看文章
电子产品中数字信号处理(DSP)芯片的使用率正急剧增加。现场可编程门阵列(FPGA)可支持数百万个门,并以DSP为中心,这种特性使其性能比标准的DSP芯片有了大幅提升。此外,FPGA还可进行中小型批量生产,能支持非常强大的原型设计与验证技术,以实现DSP算法的实时仿真。但为FPGA和ASIC创建可移植性算法IP也面临着诸多挑战与要求。
本文将介绍如何通过ESL综合技术大幅缩短在FPGA或ASIC上实现算法所需的时间,并简化相关工作。
FPGA和ASIC之间RTL移植所面临的挑战
尽管RTL支持逻辑级的移植性,但却不支持架构层移植。如果将同一RTL在不同的目标器件上实现,会导致结果不够理想;在不同目标器件中,综合结果可能在功能上正确,但却根本没有优化。
如何选择算法架构取决于一个基本问题,即满足算法的采样率和吞吐能力要求,需要进行多少流水线、并行和串行优化处理。此外,FIR、FFT、正弦、余弦、除法等基本的DSP功能根据目标技术的不同,有着不同的优化实现要求。比如,FIR滤波器的直接形式与转置形式(transposed form)就是一个很好的例子,一种适用于特定的FPGA器件,而另一种则更适用于ASIC技术。
根据FPGA和ASIC的不同要求,我们往往需要不同的架构。众所周知,FPGA器件倾向于以寄存器为中心,而许多ASIC到FPGA移植指南也建议增加流水线设计,对所有端口进行寄存,并将组合逻辑分解为较小的部分。这样的设计在ASIC上实现就会增加面积,但这是满足FPGA时序要求所必需的。
如果以ASIC为目标,我们往往需要完全相反的做法。这时我们建议将寄存器最小化,以尽可能减小占用面积与功耗。我们可以采用时分复用和资源共享的办法来提高时钟速度,从而最小化乘法器及其他浪费资源的操作。消费类及无线产品市场领域中的近期设计趋势就是仔细平衡上述做法的结果。
ASIC RTL和FPGA RTL之间不可避免的差别之一在于存储器的使用。就FPGA而言,器件内置了标准存储器。根据FPGA工具流程和厂商的不同,我们需要特定的编码风格来描述存储阵列和存储器。高质量FPGA综合工具会自动将RTL代码映射到存储器上实现。不过,在ASIC领域中,IP和制造库厂商(fab library vendor)的存储器选项多种多样,用户要根据具体的配置选择和编辑存储器,并在RTL设计中进行例化。
许多文章和资料都介绍了在 FPGA 和 ASIC 之间转移 IP 的编码风格及移植技术问题。在不同器件类型之间移植实施方案,需要进行大量的编码与验证工作,并拥有精湛的的专业技术。
如果首先用FPGA进行原型设计,再移植为ASIC设计,那么还要面临更多的挑战。在需要实时刺激和实际速度验证的情况下,就会出现上述问题。为了满足上述要求,我们应当保证仿真模型之间的位和采样准确度,特别是FPGA实现和ASIC模型不能出问题。这要求我们做大量工作,尤其是实现方案不同或经常变化时更应如此。此外,我们还必须手动修改、比较和调试测试工具。
ESL 综合解决方案
ESL 综合解决方案能提供强大的性,有助于解决上述诸多问题。
● 使用电子系统层级 (ESL) 模型,支持高级架构与硬件抽象;
● 根据用户定义的采样率进行自动优化;
● 用户选择目标技术;
● 为多速率设计提供原生支持。
图1 从统一 ESL 模型快速实现设计方案
利用上述特性,DSP 综合引擎可根据用户定义的约束条件在了解目标的基础上进行整个系统优化,对不同的 RTL进行综合。这些为优化架构和特定编码风格而定的RTL 随后可进入标准化的逻辑综合流程。
利用ESL综合技术,我们可以在一个高度抽象的层面完成设计工作,这不仅提高了可移植性,缩短了开发时间,而且还提高了工程设计的工作效率。除了保持RTL级的IP之外,我们还能在算法模型层保持IP,从而提高可移植性以及算法开发人员的工作效率。
如图1所示,DSP综合技术使用户能通过统一的算法模型快速生成并实现多种不同实施方案。FPGA可使用完全并行的流水线架构,也可像ASIC一样采用占用面积更小的串联架构。此外,不同实施方案能自动保持位和采样的准确度,并通过标准化的RTL仿真工具实现完整的验证路径。与此形成对比的是,参数化的原理图输入法,和那些需要用户在了解面积、延迟特性之前就确定具体架构的RTL方法,其移植到新的实施目标时往往需要进行大量的修改。
表1 针对Virtex-4 FPGA的自动折叠优化综合对滤波器吞吐能力和硬件共享的影响
用DSP 综合技术进行算法实施
支持DSP综合和自动优化架构的工具(如 Synplicity的Synplify DSP工具)能提供设计优势,从而有助于在 FPGA和ASIC上顺利实现设计。在DSP综合步骤之前,用户不必定义目标器件并做出架构优化选择。DSP综合引擎随后可从算法模型开始综合RTL优化实施方案。
我们特别要注意时序优化(Retiming)和折叠(Folding)选项。时序优化选项使我们能修改架构以使用流水线形式和其他技术来达到理想的性能目标,但会造成输出时延。折叠选项使设计方案能共享硬件,但会降低吞吐能力(即要在资源利用率和最大采样率之间进行平衡取舍)。
表2 串行化和硬件共享使65-tap FIR滤波器的实施方案占用面积缩减了一半
* 表示面积单位的量度为2.8平方纳米,这大约是双输入NAND门的大小。
** 乘法器用逻辑(门)实施。
*** 提取的存储器为双端口。
架构实现
自动DSP综合引擎的优势在于,它能快速实现多种架构和目标技术。这种设计空间实现过程有助于显著优化解决方案,特别是在我们需要考虑在多种 FPGA 和 ASIC技术上实现DSP算法时会特别有用。
以下我们给出一个时序优化和折叠优化范例,看看这两个选项如何在速度与占位面积间做出重要的取舍。首先,我们在Virtex-4 FPGA中生成4个10 MHz 64-tap FIR滤波器:其中1个作为基准,另外3个采用不同的折叠因数(folding factors),用来在不同程度上缩减面积占用。我们用Synplify DSP RTL的逻辑综合技术来生成结果如表1所示。
表2中给出了对于相同设计的 ASIC 实现方案的类似分析数据。我们从中可以看出在采用90纳米技术情况下,完全并行与完全串行两种极端实施方案相对比的面积差值。
我们从表2中可以明显看出,在更低的采样率且允许共享硬件的情况下,DSP综合技术能自动缩减面积占用。此外,强大的ESL功能则能通过利用更高的时钟频率更方便地在各种技术上实现。同时,由于我们可在统一的算法模型基础上开展工作,因此无须改变模型 或重新验证模型。
结论
上述简单 FIR 范例反映出,DSP 综合技术有助于我们快速高效地根据相关性能与占用面积的准确仿真进行架构权衡。这样,用户就有了实现多种架构的可能性,其中包括定点设计考虑事项等重要实施细节,同时还能高效获取有用的性价比数据。这样,我们就能在高级算法基础上实现最佳 FPGA 与 ASIC 实施方案,同时尽可能缩短设计时间。
EDA 行业似乎正向着实现初期 ESL 设计优势的方向发展,既要发挥针对硬件原型设计的集成式设计流程的优势,又要充分利用发货系统。