Quartus® II 软件全面支持命令行和工具命令语言(Tcl)脚本设计流程。Quartus II 设计流程各个步骤(如综合、适配和时序分析)中的每个可执行部分都包括了进行一般设置和完成一般任务的选项。Tcl脚本应用程序接口(API)涵盖了从基本到高级的各种功能。Quartus II 脚本参考手册(PDF)提供包括了所有命令行选项和Tcl命令的全部参考。Quartus II设置文件参考手册(PDF)列出并描述了所有QSF设置。
命令行脚本
您能够以批文件、外挂脚本、生成文件和其他脚本的形式来使用Quartus II可执行命令行。例如,使用下面的命令来编译一个现有的工程:
quartus_sh --flow compile <project name>
关于命令行脚本的更多信息,请参考Quartus II 手册第二卷的命令行脚本 (PDF) 一章。
您还可以使用Quartus II 命令行和Tcl API帮助工具,得到完整的支持选项、描述和实例列表。要实现此目的,请在命令提示符下输入以下命令:
quartus_sh --qhelp
Tcl 脚本
使用Quartus II Tcl API实现下面的任务:
- 生成和管理工程
- 进行分配
- 编译设计
- 提取报告数据
- 进行时序分析
例如,下面的Tcl脚本在fir_filter演示设计中使用设计文件,该例子在 <qdesigns> 目录下。它生成一个工程,分配引脚,时钟和时序,并编译此设计。
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手册中的Tcl 脚本 (PDF) 一章。
您还可以使用Quartus II命令行和Tcl API帮助工具,得到完整的支持选项、描述和实例列表。要实现此目的,请在命令提示符下输入以下命令:
quartus_sh --qhelp
脚本设计实例
Altera提供Tcl设计实例,您可以学习、修改这些实例,并应用到自己的设计中。
脚本培训
观看在线培训课程,在Quartus II软件中尽快掌握脚本。
- 在线演示:观看Quartus II软件中Tcl和命令行脚本的简短演示。
- 命令行脚本:该课程涉及到Quartus II命令行可执行文件以及怎样在脚本和Makefiles中使用它们。课程还提供实例。
- 介绍Tcl脚本:这两次课程涉及到Tcl脚本基础,介绍了语言和基本操作,以及实例。
- Quartus II Tcl脚本基础:这两次课程介绍了Quartus II软件的Tcl脚本API。还涉及到怎样使用Tcl脚本来建立并编译工程,提取报告数据等。在参加这些课程之前,您应该知道怎样编写Tcl脚本。
