我正在尝试编写一个 makefile 来编译和模拟一些 vhdl 代码。
有没有办法从 linux/windows 命令行创建项目?
如果您打开该工具并运行“project new”,这很简单,但没有从命令行执行此操作的文档。
我不知道如何直接从命令行使用项目命令。但我还有另一种方法可以做到这一点。如果您熟悉命令行,您可能已经知道了。
无论如何,您可以编写一个包含项目命令的 .do 文件,然后使用 vsim -c -do filename.do 来执行它。
例如,我的 filename.do 包含“project new . pro_name”
我的建议是不要使用项目,它们会妨碍。
正如 Rakend 已经提到的,只需使用简单的 .do 文件,如果您想做一些额外的事情,您可以使用完整的 Tcl 解释器。
如果您想使用 makefile,请手动编译代码,然后运行 vmake 为您创建 Makefile。然而,vcom/vlog 速度很快,所以 .do 就足够了。
祝你好运,
汉斯。
正如用户 maximus 已经提到的,可以在
.do
文件中编写一个简单的 tcl 脚本,其中包含项目命令,例如:
if { [file exists project_name.mpf] } {
puts "Project 'project_name' already exists opening"
project open project_name
}其他{ 提出“创建新项目'project_name'” # 创建一个新项目
project new . project_name rtl_work
project addfile rtl/uart_rx.v
project addfile rtl/uart_tx.v
project addfile rtl/uart_tb.v
project compile all
}
或者可以直接从 cmdline 调用代码:
$(MODELSIM_DIR)/vsim -c \
-do "project new . project_name rtl_work; project addfile rtl/uart_tb.v; project compile all; run -all; exit;"