FPGA正越来越多地用于成本敏感、功耗敏感的大批量应用。为了满足这些应用本身的挑战,特别是随着设计项目规模越来越大时,设计师们需要一个易于使用、灵活的设计环境来探索不同的设计实现,以达到其成本、功耗和性能指标。实际上,现在的设计软件已发展为能够满足他们的要求。新推出的Lattice Diamond设计软件环境,就是这种新型设计软件之一。
这款新的软件环境是从现有的软件工具基础上发展而来,包括了上一代设计软件中的实现引擎、I/O布局技术、IP重用技术、精确的功耗计算和SSO分析,以及硬件/软件系统设计软件。此外,Diamond软件从三个重要方面扩展了莱迪思设计工具已有的功能:设计探索、易用性以及改进的设计流程——为满足成本敏感、功耗敏感设计挑战的所有所需。
设计探索
设计探索的一个重要特点是添加了扩展的项目功能,包括增加了“实现”和“策略”。
·实现允许一个项目有多个版本的设计,便于设计探索。实现主要用于定义设计的结构。
·策略允许实现“方法”用于一个项目中的任意实现或在多个项目中共享。策略告诉软件工具,该如何运行或实现设计。
·设计项目允许在任何实现中使用混合的Verilog、VHDL、EDIF以及原理图源文件。
·约束、时序分析、功耗计算和硬件调试工具支持多种文件。文件可以选择并按需要设置为有效或无效,可以影响每个工具打开时的工作情况以及如何实现设计。
·Run Manager视图允许多个实现并行处理,以探索最佳的设计方案。Run Manager可以让设计师任意选择一个项目中的实现并比较结果。
关于实现
实现为一个项目定义了设计结构元素,包括源代码、约束文件以及任何调试插入。实现可以看作是创建设计必要的原始材料。在一个项目中使用多种实现的典型应用是尝试不同的结构,以确定哪个能产生最佳的结果。举一个简单的例子,设计的一个实现可能使用inferred存储器,另一个实现可能使用instantiated存储器。设计人员可以通过创建一个新的实现然后在新的实现中使用之前实现的源代码,从而有效地复制一个新实现。Diamond文件列表视图(图1),显示了“mixedcounter”设计的有效的实现。
图1——Diamond File List(文件列表)视图
关于策略
·策略基本上是实现的“指导”或“方法”。
·Lattice Diamond中有四个预定义的策略,用户可以为自己的设计创建自定义的策略。
·预定义的策略不能被编辑,但它们可以被复制,然后进行修改并保存为用户自定义的策略。
·用户自定义的策略,可以编辑、复制、设置为有效的策略或删除。
·一个项目中可以有很多个策略,但对于每个实现,一次只能有一个策略为有效状态,并且每个实现都必须有一个有效的策略。
图2显示了strategy(策略)对话框。选择左侧列表中的某一项,然后该项的所有可用选项都会显示出来并可以修改。
图2——Diamond Strategy(策略)对话框
Diamond中新的项目结构提供了几个主要优点。现在项目要简单得多,因为一种项目类型可以处理多种输入源文件类型,并允许管理多个约束、调试和分析文件。此外,通过实现和策略的使用,现在的一个项目的功能更加强大,实现了之前需要几个项目才能实现的功能。
{pagination}
易于使用
随着FPGA在新的市场和应用中的普及,设计人员可能不熟悉FPGA设计。因此,易用性变得比以往任何时候都重要。Diamond的用户界面结合了新的特性和定制功能,从而提供更好的易用性。现在Diamond中的所有工具,以“视图”方式打开,集成到一个通用的Diamond用户界面中,并可以在不同的窗口分开显示。可以使用新特性如Start Page和Reports视图,方便地获取信息。Diamond用户界面提供了几个主要特性。
·所有视图都通用的菜单和按钮位置
·用户界面的三个主要部分是工具、项目和输出
工具视图窗口提供了detach、attach、安排和按每张幻灯片视图分别查看工具的功能
项目视图窗口提供了detach、attach和安排视图的功能,如File list(文件列表)和Process视图
输出视图窗口提供了detach、attach和安排视图的功能,如输出、错误、警告和TCL控制台
·Start Page提供了直接的链接,用以打开项目、从之前的设计环境导入项目、在线帮助和软件更新
·Report视图为实现工具中的所有报告提供集中显示
图3——Diamond用户界面
Diamond用户界面还提供了新的视图,更便于实现具体任务。除了新的Start Page和Reports视图,一旦初始设置完成,新的ECO编辑器和编程器还允许直接编辑物理网表,以实现一些常见的功能,并更快速地对FPGA进行重新编程。
改进的设计流程
针对设计流程进行了三大主要改进:时序分析、仿真输出和Tcl脚本。
新的Timing Analysis视图提供了一个易于使用的图形化环境用于查看时序信息。选择一个约束可以查看时序路径、详细路径和路径图视图。新的Timing Analysis视图的重要优点是,时序约束可以更改并且无需更新实现,就可以分析重新运行。对于非常大型的设计而言,这可以节省大量的每次时序分析时间。
图4——时序分析视图
另一个改进是使用新的仿真向导,将设计导出到仿真器。仿真向导将引导用户经过几个必须的步骤,以所希望的格式,将设计导出到仿真器,如仿真RTL设计或门级时序设计。
Diamond软件为编写设计流程脚本添加了新的功能。针对Diamond的Tcl指令词典可用于项目、网表、HDL代码检查、功耗计算,以及硬件调试插入和分析。除了Diamond环境下的 Tcl控制台,一个单独的Tcl控制台应用允许脚本独立于全图形用户界面运行。最后,一旦正确的设置完成,Tcl脚本可以直接从DOS或其他指令窗口运行,如下面的例子所示。
例1——从DOS命令行运行Diamond Tcl脚本
set %LSC_INI_PATH%=
set %LSC_DIAMOND%=true
set %TCL_LIBRARY%=C:lsccdiamond1.0tcltklibtcl8.4
set %FOUNDRY%=C:lsccdiamond1.0ispFPGA
set %PATH%=%FOUNDRY%binnt;%PATH%
小结
FPGA目前正广泛应用于各种应用和任务,因此各种实现方法的探索功能是十分重要的。新一代的设计工具正致力于实现这样的功能,Lattice Diamond设计环境就是率先解决当代FPGA设计挑战的新型软件之一。Diamond具有设计探索、易用性、改进设计流程,以及众多其他的增强功能。结合了新的和增强的功能,使用户能够更快、更容易地完成设计,并获得更佳效果。
作者:Brian Caslis
Lattice高级软件产品规划工程师