我有一个行为模拟,它在模拟后将所有需要的信息存储在.txt文件中。我需要使用不同的参数运行这个模拟大约8000次,这些参数是在MATLAB中生成的。我想运行具有不同参数的TCL脚本。到目前为止我所拥有的:
从MATLAB我以批处理模式调用Vivado并使用以下参数:
system('C:/Xilinx/Vivado/2015.4/bin/vivado -mode batch -nojournal -nolog -notrace -source E:/Projects/Vivado/Test_Files/VivTCLstim.txt -tclargs 256 32 15 25790');
TCL脚本如下所示:
open_project E:/Projects/Vivado/THD/THD_VHDL.xpr
set_property top tb_THD [get_filesets sim_1]
set_property top_lib xil_defaultlib [get_filesets sim_1]
set_property generic N=[lindex $argv 0] [get_filesets sim_1]
set_property generic DWIDTH=[lindex $argv 1] [get_filesets sim_1]
set_property generic ITER =[lindex $argv 2] [get_filesets sim_1]
launch_simulation
run [lindex $argv 3] ns
close_sim
但是,似乎Vivado不会改变这些值。它始终运行模拟1000 ns(默认设置)并使用在.vhd文件中默认设置的通用参数。我也尝试通过GUI设置通用参数,如下所示http://www.xilinx.com/support/answers/64118.html(这是我从中得到TCL命令的地方),但模拟参数不会改变。可能是什么原因?是我的脚本以及在批处理模式下正确进行模拟的方法吗?
答案 0 :(得分:0)
您不需要通过Vivado运行模拟。 Vivado为模拟中的每个步骤提供了命令行工具:
可以跳过第一步,因为xelab也可以触发编译步骤。您只需要提供一个包含所有所需VHDL源文件的* .prj文件。
vhdl mylib my/source/file1.vhdl
vhdl mylib my/source/file2.vhdl
vhdl test my/source/testbench.vhdl
您可以为模拟和原因提供顶级泛型,您可以在批处理模式下为xsim提供自己的Tcl文件。我围绕这些工具编写了一个Python包装器来控制模拟运行中的所有步骤,并且工作正常:)。