TCL批处理模式下的行为模拟

时间:2016-04-20 11:28:43

标签: tcl simulation vivado

我有一个行为模拟,它在模拟后将所有需要的信息存储在.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命令的地方),但模拟参数不会改变。可能是什么原因?是我的脚本以及在批处理模式下正确进行模拟的方法吗?

1 个答案:

答案 0 :(得分:0)

您不需要通过Vivado运行模拟。 Vivado为模拟中的每个步骤提供了命令行工具:

  • VHDL源文件编译=> xvhcomp
  • elaboration => xelab和
  • 模拟运行=> XSIM

可以跳过第一步,因为xelab也可以触发编译步骤。您只需要提供一个包含所有所需VHDL源文件的* .prj文件。

vhdl mylib my/source/file1.vhdl
vhdl mylib my/source/file2.vhdl
vhdl test  my/source/testbench.vhdl

您可以为模拟和原因提供顶级泛型,您可以在批处理模式下为xsim提供自己的Tcl文件。我围绕这些工具编写了一个Python包装器来控制模拟运行中的所有步骤,并且工作正常:)。