Vhdl 如何在文本文件中创建Tcl命令列表,然后在ISim中运行它?

Vhdl 如何在文本文件中创建Tcl命令列表,然后在ISim中运行它?,vhdl,xilinx,xilinx-ise,Vhdl,Xilinx,Xilinx Ise,似乎比每次单独输入要方便得多 我对这种联系非常不清楚: 示例代码: #Sample Script: restart run 20 ns dump run 20 ns dump quit 我只是想在模拟GUI的控制台窗口中输入Tcl命令来运行这些命令(在记事本++中输入,并在我的项目文件夹中保存为.Tcl文件)只需通过-tclbatch将Tcl文件作为参数传递给编译/融合测试台即可 -gui以gui模式打开测试台,iSim连接到测试台可执行文件 要查看测试台的所有支持选项,请使用-h运行测

似乎比每次单独输入要方便得多

我对这种联系非常不清楚:

示例代码:

#Sample Script:

restart
run 20 ns 
dump
run 20 ns
dump
quit

我只是想在模拟GUI的控制台窗口中输入Tcl命令来运行这些命令(在记事本++中输入,并在我的项目文件夹中保存为.Tcl文件)

只需通过
-tclbatch
将Tcl文件作为参数传递给编译/融合测试台即可

-gui
以gui模式打开测试台,iSim连接到测试台可执行文件

要查看测试台的所有支持选项,请使用
-h
运行测试台可执行文件

要在iSim中显示所有受支持的TCL命令,请使用
help
命令。我目前不知道iSim有任何loadfile/source/do指令

示例fifo\u cc\u got\u tb:

  • 所有需要的VHDL文件都列在fifo_cc_got_tb.prj文件中:

    vhdl poc "D:\git\PoC\tb\common\my_config_ML505.vhdl"
    vhdl poc "D:\git\PoC\tb\common\my_project.vhdl"
    vhdl unisim "C:\Xilinx\14.7\ISE_DS\ISE\vhdl\src\unisims\primitive\MUXCY.vhd"
    vhdl unisim "C:\Xilinx\14.7\ISE_DS\ISE\vhdl\src\unisims\primitive\XORCY.vhd"
    vhdl poc "D:\git\PoC\src\common\utils.vhdl"
    vhdl poc "D:\git\PoC\src\common\strings.vhdl"
    vhdl poc "D:\git\PoC\src\common\vectors.vhdl"
    vhdl poc "D:\git\PoC\src\common\board.vhdl"
    vhdl poc "D:\git\PoC\src\common\config.vhdl"
    vhdl poc "D:\git\PoC\src\common\physical.vhdl"
    vhdl poc "D:\git\PoC\tb\common\simulation.v93.vhdl"
    vhdl poc "D:\git\PoC\tb\common\simulation.v93.vhdl"
    vhdl poc "D:\git\PoC\src\mem\ocram\ocram.pkg.vhdl"
    vhdl poc "D:\git\PoC\src\mem\ocram\ocram_sdp.vhdl"
    vhdl poc "D:\git\PoC\src\fifo\fifo_cc_got.vhdl"
    vhdl test "D:\git\PoC\tb\fifo\fifo_cc_got_tb.vhdl"
    
    cd D:\git\PoC\temp\isim\
    C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\fuse.exe test.fifo_cc_got_tb --prj fifo_cc_got_tb.prj -o fifo_cc_got_tb.exe
    
    ISE ProjectNavigator为您收集此信息并将其保存在prj文件中

  • 执行fuse.exe以从给定prj文件编译测试台:

    cd D:\git\PoC\temp\isim\
    C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\fuse.exe test.fifo_cc_got_tb --prj fifo_cc_got_tb.prj -o fifo_cc_got_tb.exe
    
    也可以在ProjectNavigator控制台窗口中找到:

    Started : "Simulate Behavioral Model".
    
    Determining files marked for global include in the design...
    Running fuse...
    Command Line: fuse -intstyle ise -incremental -lib secureip -o D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe -prj D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_beh.prj PoC.sync_Strobe {}
    Running: C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\unwrapped\fuse.exe -intstyle ise -incremental -lib secureip -o D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe -prj D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_beh.prj PoC.sync_Strobe 
    
    ....
    Compiled 21 VHDL Units
    Built simulation executable D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe
    Fuse Memory Usage: 50240 KB
    Fuse CPU Usage: 529 ms
    Launching ISim simulation engine GUI...
    "D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe" -intstyle ise -gui -tclbatch isim.cmd  -wdb "D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.wdb"
    ISim simulation engine GUI launched successfully
    
  • 模拟是使用TCL脚本启动的

    .\fifo_cc_got_tb.exe -tclbatch ..\..\sim\iSim.gui.tcl -gui
    
    也可以在ProjectNavigators控制台窗口中看到:

    Started : "Simulate Behavioral Model".
    
    Determining files marked for global include in the design...
    Running fuse...
    Command Line: fuse -intstyle ise -incremental -lib secureip -o D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe -prj D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_beh.prj PoC.sync_Strobe {}
    Running: C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\unwrapped\fuse.exe -intstyle ise -incremental -lib secureip -o D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe -prj D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_beh.prj PoC.sync_Strobe 
    
    ....
    Compiled 21 VHDL Units
    Built simulation executable D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe
    Fuse Memory Usage: 50240 KB
    Fuse CPU Usage: 529 ms
    Launching ISim simulation engine GUI...
    "D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.exe" -intstyle ise -gui -tclbatch isim.cmd  -wdb "D:/git/GitHub/PicoBlaze-Examples/Projects/SoFPGA_Atlys_ISE/ise/sync_Strobe_isim_beh.wdb"
    ISim simulation engine GUI launched successfully
    
  • 这里是“模拟过程属性”对话框,用于设置用户定义的TCL脚本(红色选项)和用户定义的波形配置文件(*.wcfg)绿色选项(如果需要)


    请包括您迄今为止所做的尝试。有些人可能认为你当前的问题过于宽泛。此外,a可能有助于改进您的问题。*已编辑。但其实没什么大不了的。互联网和其他包含此链接()的Xilinx文档没有多大帮助。这听起来不错,但对于初学者来说,您是否可以进一步细分此链接?例如fuse是/做什么以及具体做什么?ISE模拟器(iSim)的模拟编译器称为fuse.exe。它将所有给定的vhdl和verilog文件编译为可执行文件(例如,如果您的测试台名称为fifo_tb,则为fifo_tb.exe)。应编译的文件列表保存在prj文件中(例如fifo_tb.prj)。启动模拟时,将启动可执行文件和iSim.exe(模拟器GUI)。两个进程都通过TCP会话进行通信。文件名是你的tcl脚本。你太棒了,谢谢!不过,为了清楚起见,如果我的测试台是“adder_tb.vhd”,而我的tcl文件是“testrun.tcl”。我将在中输入。\adder_tb.exe-tclbatch testrun.tcl-g以运行我的.tcl命令文件?否,控制台表示Windows控制台cmd.exe或powershell。或者,您可以在ISE项目导航器的iSim流程属性中配置用户定义的tcl脚本…再次丢失。。那么,您如何知道如何使用cmd.exe或powershell?如何在Windows7中访问这些?