2016-04-20 83 views
1

我有一個行爲模擬,它將所有需要的信息存儲在一個.txt文件中。我需要使用MATLAB中生成的不同參數運行該仿真大約8000次以上。我想運行具有不同參數的TCL腳本。我至今: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

您不需要通過Vivado運行仿真。 Vivado具有命令行工具用於在模擬的每個步驟:

  • VHDL源文件編譯=> xvhcomp
  • 闡述=> 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包裝來控制模擬運行中的所有步驟,並且它工作正常:)。