Quartus Prime和Quartus II软件脚本支持

Quartus® Prime和Quartus II软件为命令行和工具命令语言(Tcl)脚本设计流程提供全面的脚本支持。软件设计流程每一阶段(例如,综合、适配和时序分析)单独的可执行文件包括了进行通用设置和执行一般任务的选项。Tcl脚本应用程序接口(API)包括了将基本功能转换为高级功能的命令。Quartus II脚本参考手册(PDF)提供了所有命令行选项和Tcl命令的完整参考。Quartus Prime设置文件参考手册(PDF)列出并描述了所有QSF设置。

命令行脚本

您可以在批处理文件、shell脚本、makefiles以及其他脚本中使用Quartus Prime或者Quartus II命令行可执行文件。例如,使用以下命令来编译一个现有工程:

quartus_sh --flow compile <project name>

关于命令行脚本的详细信息,请参考Quartus II手册第2卷的命令行脚本一章。

您也可以使用命令行和Tcl API Help工具获得所支持选项、描述和实例的完整列表。在命令行提示符下,输入以下命令,运行工具程序:

quartus_sh --qhelp

Tcl脚本

在以下任务中使用Tcl API:

  • 建立并管理工程
  • 进行分配
  • 编译设计
  • 提取出报告数据
  • 进行时序分析

例如,下面的Tcl脚本在<qdesigns>路径中,为fir_filter教程设计提供了设计文件。脚本建立了一个工程,进行引脚、时钟和时序分配,编译设计。

load_package flow

project_new fir_filter -revision filtref -overwrite

set_global_assignment -name FAMILY Cyclone

set_global_assignment -name DEVICE EP1C6F256C6

set_global_assignment -name BDF_FILE filtref.bdf

set_global_assignment -name TOP_LEVEL_ENTITY filtref

# You could make other pin assignments here

set_location_assignment -to clk Pin_G1

create_base_clock -fmax "100 MHz" -target clk clocka

create_relative_clock -base_clock clocka -divide 2 \

  -offset "500 ps" -target clkx2 clockb

set_multicycle_assignment -from clk -to clkx2 2

execute_flow -compile

project_close

关于Tcl脚本的详细信息,请参考Quartus II手册第2卷的Tcl脚本一章。

您也可以使用命令行和Tcl API Help工具获得Tcl API、描述和实例的完整列表。在命令行提示符下,输入以下命令,运行工具程序:

quartus_sh --qhelp

脚本设计实例

Altera提供Tcl设计实例,您可以学习、修改这些实例,并应用到自己的设计中。

脚本培训

观看在线培训课程,在Quartus Prime或者Quartus II软件中尽快掌握脚本。

  • 在线演示:观看Tcl和命令行脚本的简短演示。
  • 命令行脚本:该课程涉及到命令行可执行文件以及怎样在脚本和Makefiles中使用它们。课程还提供实例。
  • Tcl脚本入门:这两次课程涉及到Tcl脚本基础,介绍了语言和基本操作,以及实例。
  • 基本Tcl脚本:这两次课程介绍了Quartus Prime和Quartus II软件的Tcl脚本API。还涉及到怎样使用Tcl脚本来建立并编译工程,提取报告数据等。在参加这些课程之前,您应该知道怎样编写Tcl脚本。

Quartus II Tcl脚本基础之一,共两部分