在摩尔定律的作用下,FPGA产品的门数量不断增加,性能与专门功能逐渐加强,使得FPGA在电子系统领域能够取代此前只有ASIC和ASSP才能发挥的作用。不过,说到底,FPGA必须要有适当的设计工具辅助,让设计人员充分发挥其作用,否则再好的产品也毫无意义。
毫无疑问,随着FPGA硅芯片的更新换代、推陈出新,FPGA工具在改进综合运行时间、编译时间以及布局布线算法方面取得重大进步的同时,实现了更低的功耗和更高的性能。不过,上述进步基本没有体现在嵌入式软件方面,而且DSP设计人员或系统架构工程师并不熟悉FPGA设计工作。尽管FPGA的性能和定制要优于MPU和ASSP,但许多设计团队由于不熟悉 FPGA设计,仍然选择MPU或ASSP。这种情况真的不该埋怨设计团队,毕竟MPU或ASSP的设计工作要简便快捷一些,而且学习新的设计技术需要时间,导致设计团队的设计周期延长。若想帮助FPGA用户获得成功,就必须实现设计工作的自动化,但又不能强行定义用户的设计流程。
从另一个角度来看,要想进一步推广FPGA,就需要在现有VHDL和Verilog设计人员的基础上进一步满足嵌入式软件以及DSP等其他设计领域的需求和设计方法要求。这些设计人员有自己的具体要求,需要不同的设计方法和语言。应构建一个适当的平台,使 FPGA厂商及其第三方生态合作伙伴能够在此基础上满足具体应用及市场的需求。
例如,随着最新Virtex-6与Spartan-6 FPGA系列产品的推出,赛灵思开始向客户推荐“目标设计平台”的理念。
目标设计平台在充分考虑到客户设计进程和成功需求的基础上集成了五大关键组件:FPGA器件、IP核、采用业界验证方法的设计环境、强大的参考设计和可扩展的开发板和套件。作为上述方案的一部分,我们还优化了工具,旨在为逻辑、嵌入式、DSP以及系统级设计等特定设计领域提供所需的各种工具和IP,确保提高设计团队的工作效率。逻辑设计人员自然要确保获得含有所有传统FPGA工具的完整RTL设计流程,以满足高级平面布置、在线验证以及渐增实施的需求。不过,FPGA厂商需要从其他各领域设计人员的切实需求出发,以便使嵌入式与DSP设计人员以及系统架构师能将设计工作的各方面联系在一起,高效地使用可编程逻辑。
FPGA 厂商多年来一直支持嵌入式和数字处理技术的发展,并目睹了市场的巨大变革。尤其是过去两年半以来,我们看到了平均有20%的嵌入式设计客户正在使用一个以上的处理器。过去,客户面临的挑战主要是如何自己独立完成设计工作,而现在,必须为客户提供可简化系统生成的更加自动化的设计流程,充分发挥多处理器的作用。
嵌入式设计人员需要一种新的设计方法,让他们能够快速配置硬件平台,并创建包括适当的库、自动生成的设备驱动程序及完整开发板支持套件的定制软件设计方案。这种高效环境能加速开发进程,节约开发时间,从而避免容易出错的手动操作。此外,设计人员还要能够创建自己的定制处理平台,将外部功能集成到FPGA中,从而降低系统成本。这可帮助他们在系统特性与尺寸间,以及软/硬件特性间实现最佳平衡,从而实现最高性价比。
下面就来谈谈DSP设计流程。为了帮助在FPGA中实施复杂算法的算法开发人员,我们要为设计人员提供高度自动化的流程,而且即便设计人员不熟悉硬件描述语言,也不影响设计工作。设计人员应当在整体系统开发流程早期阶段就能使用DSP设计环境来开发高级算法的硬件解决方案,或组装全套DSP 系统,便于生产。
DSP设计流程通常包括以下步骤:
● 用The MathWorks推出的业界标准工具配合赛灵思的System Generator与AccelDSP 综合工具开发并验证硬件模型。
● 生成HDL位和周期仿真精确的电路图,也就是说,其行为确保符合原始模型中的功能。
● 设计综合并生成比特流,用于 FPGA的编程。现在FPGA设计人员无须将DSP工程师或系统架构师的设计方案转变为HDL,从而避免了既耗时且容易出错的步骤。
在本模型中,设计人员可使用过滤器,过滤器的系数需要适应于即将通过系统的数据,因此我们可通过共享存储器向过滤器添加处理器组件。设计人员还能在系统生成器中调用软件开发套件,编写一些C代码,以便根据数据更新系数,并编辑整个模块,将其下载到开发板上进行实时调试,仍用 SimuLink或MATLAB测试基准实现硬件协同仿真。最后,如需要修改某些C 代码,设计人员可即时进行修改,且无须对设计方案进行再编译。
系统架构工程师的角色就是完成整个设计工作,根据设计方案的复杂程度,他们可能需要在嵌入式、DSP和 RTL等领域跨领域工作。这时,FPGA厂商就需要提供系统级和RTL级工具。
系统设计的理念需要集成不同领域的技术知识,在FPGA中更好地利用资源。随着应用对DSP功能的依赖程度越来越高,我们可让处理器充分利用加速器的作用,从而大幅提高性能。事实上,FPGA专用系统设计的一大优势就在于它能执行系统分区,控制软硬件实施的平衡。对许多用户来说,已经没必要对低级HDL语言进行算法优化。
FPGA为设计、实施和修改片上系统级硬件提供了高度的灵活性,在目前全球产业面临巨大压力的情况下,这种灵活性对设计人员尤为重要,而且正不断服务于更多的产业、公司和工程师。甚至在产品的设计阶段,电子系统的设计人员就面临着不断加剧的商业挑战和日益苛刻的产品要求,所以必须利用 FPGA来解决难题,否则就难以工作。FPGA厂商要与合作伙伴一道致力于提供新的设计方法,帮助客户跟上快速发展的业务和产品要求的步伐,不断实现进步。不仅要满足FPGA硅芯片的发展要求,还要满足相关工具发展的要求,从而提供更加以市场为导向的、用户更加友好的设计体验。