QuartusII命令行操作--如何建立可移植的工程

来源:互联网 发布:2015美国服务贸易数据 编辑:程序博客网 时间:2024/03/29 23:02

    也许最简单的办法是:只提供设计代码,由使用者重新建立工程和设置。这是方法之一,但是一个效率很低、可重现性较差的方法。一个复杂的设计对配置有多少要求,重用这个设计的人就有多少个容易出错的地方,这些错误组合起来就会极大地降低工作效率。


     我在实践中总结了一些建立可移植、可重现的Quartus II工程的方法,与大家分享,希望对大家的工作有所帮助。
     原则一:修改配置文件中的绝对路径名,采用相对路径名指定编译所需的文件(.v、.vhd)。
     原则二:上传或备份配置文件(.tcl),具体的方法请参考我的上一篇文章。
     原则三:选择合适的工程相关文件上传或备份,具体方法请参考我的另一篇文章。
     原则四:编写编译脚本(.bat或.tcl),自动调用配置文件(.tcl)进行编译。

     下面,主要针对第四个原则进行说明。
     Quartus II的主要编译过程是:分析和综合(Analysis & Synthesis)、布局布线(Fitter)、汇编(Assembler)、时序分析(Timing Analyzer)。这四个步骤在GUI界面中的Processing下都有对应的工具栏按钮,可以分别执行,也可以通过全编译(Compilation)按钮一次完成。
     相应地,在Quartus II的命令行命令中,上述四个步骤也有对应的命令,分别是:quartus_map、quartus_fit、quartus_asm、quartus_tan。
     只要依次执行上述命令(命令参数要正确),就可以实现全编译的功能。


     如何获取正确的命令参数呢?
     如果有耐心并且希望深入了解每条命令的功能的话,可以在windows命令行中输入上述命令名并回车,然后根据提示察看help内容,例如输入:quartus_map -h。
     如果希望尽快得到可用的命令参数,可以在GUI界面中执行一次全编译,编译成功以后,在编译报告(Compilation Report)界面中察看Flow Log项,就可以看到对应全编译各个层次的命令及命令参数了。把Flow Log中的命令拷贝出来,粘贴到一个批处理文件(.bat)中,就可以在命令行执行全编译了(注意要和.qpf放在同一个目录下)。


     在命令行执行全编译的好处有两点:一是编译速度加快(内存占用比GUI少);二是编译过程可重现(GUI界面提供了太多的功能,很有可能误操作),即使操作者不会使用Quartus II,也能得到编译结果。
    
     上面只是Quartus II命令行工具在全编译过程中的用法,Quartus II的其它功能也有对应的命令行命令,大家可以根据自己的需要添加到批处理文件中。

     至于如何调用配置文件,可以在生成配置用的.tcl文件后,在命令行中执行quartus_sh -t xx.tcl,就会自动把所需的配置内容添加到.qsf文件中。可以把这条命令添加到上述批处理文件的第一行,就可以调用配置文件并执行全编译了。

     需要补充的一点是,Quartus II还提供了一套TCL命令,可以用来执行GUI的大部分功能。这套命令结合标准的TCL语言,还可以执行更为详尽和个性化的操作。

 

     提供一个链接,这篇文档给出了Quartus II命令行操作的详细说明:Quartus II Scripting Reference Manual

 
原创粉丝点击