5

我正在尝试从命令行在 Linux (Kubuntu 12.04 LTS) 上使用 Quartus II 13.0 (Free Web Package) 从 Verilog RTL 生成 Verilog 技术网表。我需要一个项目来比较不同工具生成的数千个 Verilog 文件的综合结果。所以使用GUI并不是一个真正的选择..

例如,对于 Xilinx Vivado,我可以使用以下 TCL 命令来做到这一点:

read_verilog input.v
synth_design -part xc7k70t -top top_module
write_verilog output.v

我使用过的大多数 ASIC 工具都提供了类似的接口。

使用 Xilinx XST 会稍微复杂一些:

1.) 生成 work.xst 文件:

run -ifn work.prj ..some..more..options..

2.) work.prj 文件的生成:

verilog work "input.v"

3.)运行合成:

xst -ifn work.xst

4.)从verilog二进制生成verilog网表:

netgen -w -ofmt verilog work.ngc output

但是对于 Quartus II,我根本找不到任何关于如何使用命令行工具的文档。我能找到的只是图形 IDE 界面的文档。也许我只是在寻找错误的地方?

因此,在我开始使用 strace 和类似工具戳 Quartus II IDE 之前:是否有人从命令行使用 Quartus II 并能指出我正确的方向?

4

4 回答 4

5

它隐藏得很好——Quartus-II 手册版本 13.0,第 2-10 页(或搜索 ASSIGNMENT_FILES)——生成一个示例 Makefile。它似乎有点腐烂 - 我已经删除了 ASSIGNMENT_FILES 的东西,并且标记是多余的(您可以检查日志文件),但这是一个开始,基本结构有效。

于 2013-07-03T09:53:17.173 回答
4

例如,以下 shell 脚本binary_ops_00000000从设计文件中合成模块binary_ops_00000000.v

PATH=$PATH:/opt/altera/13.0/quartus/bin
quartus_map binary_ops_00000000 --source=binary_ops_00000000.v --family="Cyclone III" 
quartus_fit binary_ops_00000000
quartus_eda binary_ops_00000000 --formal_verification --tool=conformal
cp -v fv/conformal/binary_ops_00000000.vo output.v

quartus_eda支持多种不同模式(请参阅quartus_eda --help=tool表格)。为 Conformal LEC 生成的 Verilog 看起来很适合我的目的。

我建议在其他空目录中运行此命令,因为它们会生成一堆文件,并且在某些情况下,如果找到以前运行的文件(具有不同设置),则会打印错误消息。

于 2013-07-03T12:34:52.990 回答
3

您可以在intel.com上找到有用的 Quartus II Tcl 示例页面。

于 2013-07-17T13:21:39.467 回答
2

您还可以使用以下内容获取所有命令行参数和 Tcl 函数的帮助

quartus_sh --qhelp
于 2014-09-16T04:21:43.473 回答