ChipDesign ISE 11 设计工具视点
0赞ChipDesign ISE 11 设计工具视点
让“您”居于FPGA的用户专用 设计环境中
作者:Tom Feist
赛灵思 ISE 设计套件高级营销总监
作为一个负责FPGA 企业市场营销团队工作的人,我不得不说,由于在工艺技术方面的显著成就以及硅芯片设计领域的独创性,FPGA 正不断实现其支持片上系统设计的承诺。随着每一代新产品的推出,FPGA 在系统中具有越来来越多的功能,可作为协处理器、DSP 引擎以及通信平台等,在某些应用领域甚至还可用作完整的片上系统。
因此,在摩尔定律的作用下,FPGA 产业的门数量不断增加,性能与专门功能逐渐加强,使得 FPGA 在电子系统领域能够取代此前只有 ASIC 和 ASSP 才能发挥的作用。不过,说到底,FPGA 这种出色的硅芯片必须要有适当的设计工具辅佐,让设计人员充分发挥 FPGA 的作用,否则再好的产品也毫无意义。
毫无疑问,随着 FPGA 硅芯片的更新换代、推陈出新,FPGA 工具在改进综合运行时间、编译时间以及布局布线算法方面取得重大进步的同时,实现了更低的功耗和更高的性能。不过,上述进步基本没有体现在嵌入式软件方面,而且DSP 设计人员或系统架构师并不熟悉 FPGA 设计工作。尽管FPGA的性能和定制要优于MPU和ASSP,但许多设计团队由于不熟悉 FPGA 设计,因此只好选择 MPU 或ASSP,这种情况真的不该埋怨设计团队,毕竟 MPU 或 ASSP 的设计工作要简便快捷一些,而且学习新的设计技术需要时间,导致设计团队的设计周期延长。若想帮助 FPGA 用户获得成功,FPGA 厂商必须实现设计工作的自动化,但又不能强行定义用户的设计流程。因此,我们必须满足不同设计领域的不同要求。
从另一个角度来看,如果 FPGA 厂商要想进一步推广 FPGA,就需要在现有 VHDL 和Verilog(逻辑)设计人员的基础上进一步满足嵌入式软件以及 DSP 等其它设计领域的需求和设计方法要求。这些设计人员有自己的具体要求,需要不同的设计方法和语言。我们应构建一个适当的平台,使 FPGA 厂商及其第三方生态合作伙伴能够在此基础上满足具体应用及市场的需求。
今年 2月,随着最新Virtex-6 与 Spartan-6 FPGA 系列产品的推出,赛灵思开始向客户推荐“目标设计平台”的理念。过去,我们一直为设计人员提供开发板、硅芯片、工具、IP 以及参考设计,不过多年来,我们清楚地认识到,我们需要一个更加有效、规范的方式来为设计人员提供一个开展设计工作的平台。客户需要的是更加完整、可扩展性更强、产品化程度更高的解决方案,而“目标设计平台”正是我们根据上述要求制定完成的。
目标设计平台在充分考虑到客户设计进程和成功需求的基础上集成了五大关键组件:1)FPGA 器件;2)IP 核;3)采用业界验证方法的设计环境;4)强大的参考设计;5)可扩展的开发板和套件。作为上述方案的一部分,我们还优化了工具,旨在为逻辑、嵌入式、DSP 以及系统级设计等特定设计领域提供所需的各种工具和 IP,确保提高设计团队的工作效率。逻辑设计人员自然要确保获得含有所有传统 FPGA 工具的完整 RTL 设计流程,以满足高级平面布置、在线验证以及渐增实施的需求。不过,FPGA 厂商需要从其它各领域设计人员的切实需求出发,以便使嵌入式与 DSP 设计人员以及系统架构师能将设计工作的各方面联系在一起,高效地使用可编程逻辑。
FPGA 厂商多年来一直支持嵌入式和数字处理技术的发展。随着我们在该市场领域的发展,我们目睹了市场的巨大变革。尤其是过去两年半以来,我们看到了平均有 20% 的嵌入式设计客户正在使用一个以上的处理器。过去,客户面临的挑战主要是如何自己独立完成设计工作,而现在,我们必须为客户提供可简化系统生成的更加自动化的设计流程,充分发挥多处理器的作用。
嵌入式设计人员需要一种新的设计方法,让他们能够快速配置硬件平台,并创建包括适当的库、自动生成的设备驱动程序及完整开发板支持套件的定制软件设计方案。这种高效环境能加速开发进程,节约开发时间,从而避免容易出错的手动操作。此外,设计人员还要能够创建自己的定制处理平台,将外部功能集成到 FPGA 中,从而降低系统成本。这可帮助他们在系统特性与尺寸间,以及软/硬件特性间实现最佳平衡,从而实现最高性价比。
下面,我们就来谈谈 DSP 设计流程。为了帮助在 FPGA 中实施复杂算法的算法开发人员,我们要为设计人员提供高度自动化的流程,而且即便设计人员不熟悉硬件描述语言,也不影响设计工作。设计人员应当在整体系统开发流程早期阶段就能使用 DSP 设计环境来开发高级算法的硬件解决方案,或组装全套 DSP 系统,便于生产。
比方说,一名 DSP 设计人员用 The MathWorks 推出的 Simulink 开始基于模型的设计工作。首先,他用一系列模块开始工作,这些模块代表着其所用算法的高级数据流程。接下来,他要在 FPGA 中实施设计方案。他在 Simulink 环境中启用工具,用厂商提供的 DSP IP 生成构建下一阶段模型的模块,并用 Simulink 或 MATLAB 实施并验证,完成基准测试。
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 硅芯片的发展要求,还要满足相关工具发展的要求,从而提供更加以市场为导向的、用户更加友好的设计体验。