532628838
圣骑士
圣骑士
  • 注册日期2011-06-10
  • 发帖数98
  • QQ
  • 火币517枚
  • 粉丝77
  • 关注39
阅读:3359回复:0

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

楼主#
更多 发布于:2011-08-01 16:37
 使用Altera公司PLD器件的朋友对Quartus II的GUI界面操作已经很熟悉了,对于这个集成开发环境的强大功能也有了体会。可是不知大家有没有这样的经历,在自己机器上编译得很好的工程,到了别的机器上就编译不过去了,更危险的是编译通过了,下载后却有问题。
     这种问题在使用版本控制工具(如CVS)管理代码和工程文件的过程中也很普遍:由于文件缺失或者文件路径的改变造成编译失败,或者由于配置文件的缺失造成编译结果不可重现。这些错误是使用版本控制工具的大忌,也是造成版本失控的一个因素。
    也许最简单的办法是:只提供设计代码,由使用者重新建立工程和设置。这是方法之一,但是一个效率很低、可重现性较差的方法。一个复杂的设计对配置有多少要求,重用这个设计的人就有多少个容易出错的地方,这些错误组合起来就会极大地降低工作效率。
     我在实践中总结了一些建立可移植、可重现的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的其它功能也有对应的命令行命令,大家可以根据自己的需要添加到批处理文件中。
     至于如何调用配置文件,可以在生成配置用的.tcl文件后,在命令行中执行quartus_sh -t xx.tcl,就会自动把所需的配置内容添加到.qsf文件中。可以把这条命令添加到上述批处理文件的第一行,就可以调用配置文件并执行全编译了。
     需要补充的一点是,Quartus II还提供了一套TCL命令,可以用来执行GUI的大部分功能。这套命令结合标准的TCL语言,还可以执行更为详尽和个性化的操作。
太多的功能,很有可能误操作),即使操作者不会使用Quartus II,也能得到编译结果。

喜欢0 评分0
游客

返回顶部