Tcl VHDL配置能否具有它的泛型';他自己的?

Tcl VHDL配置能否具有它的泛型';他自己的?,tcl,vhdl,modelsim,Tcl,Vhdl,Modelsim,我想做什么: 我想将当前日期和时间传递给VHDL测试台,以便创建更好的报告文件名 问题: 从我的模拟TCL脚本调用的顶级VHDL文件是一个配置,我不知道如何将Generict传递给它。TCL脚本中有趣的部分如下所示: set reportfilename "report_$testcase_id" append reportfilename [clock format [clock seconds] -format _%Y-%m-%d_%H:%M] vsim -t 10fs -gG_TC_REP

我想做什么:

我想将当前日期和时间传递给VHDL测试台,以便创建更好的报告文件名

问题:

从我的模拟TCL脚本调用的顶级VHDL文件是一个配置,我不知道如何将Generict传递给它。TCL脚本中有趣的部分如下所示:

set reportfilename "report_$testcase_id"
append reportfilename [clock format [clock seconds] -format _%Y-%m-%d_%H:%M]
vsim -t 10fs -gG_TC_REPORTFILE=$reportfilename -novopt work.CFG_TB_TOP_tc0027 - wlf result_$testcase_id.wlf  
生成的VSIM调用如下所示:

# vsim -t 10fs -wlf result_tc0027.wlf -novopt -gG_TC_REPORTFILE=report_tc0027_2014-03-05_13:22 work.CFG_TB_TOP_tc0027 
问题在于G_TC_REPORTFILE不是CFG_TB_TOP_tc0027.vhd的泛型,而是在CFG_TB_TOP_tc0027.vhd中配置的模块之一

CFG_TB_TOP_tc0027.vhd的相关部分:

configuration CFG_TB_TOP_tc0027 of TB_TOP_CFG is
   for testcaseexecution
      for TB_TOP_E_INST : TB_TOP_E
         -------------------------------------------------------------
         -- Testbench configuration
         -------------------------------------------------------------

         use entity work.TB_TOP_E(TB_TOP_sim)
            generic map (
               G_TC_STIMULUSFILE => "./testcases/tc0027.txt",  -- 
               G_TC_REPORTFILE   => "./results/report_tc0027.txt",
               G_TB_VNR          => "V_03.10",
               G_TC_NR           => 27);    -- 

         for TB_TOP_A_sim
如何将值从TCL文件传递到TB_TOP_E实体的通用G_TC_报告文件?我可以在CFG文件中添加一个泛型,或者我可以指定TCL文件中的泛型用于哪个实体?最好的情况是,我不必编辑vhdl文件,只需编辑TCL脚本


模拟器是ModelSim SE 10.0b,我使用的是VHDL 2008。

我自己刚刚找到了答案:

您确实可以指定要覆盖的泛型的路径。我更改了TCL文件,如下所示:

set reportfilename "./results/report_$testcase_id"
append reportfilename [clock format [clock seconds] -format _%Y-%m-%d_%H-%M.txt]
vsim -t 10fs -GTB_TOP_CFG/TB_TOP_E_INST/G_TC_REPORTFILE=$reportfilename -novopt work.CFG_TB_TOP_tc0027 -wlf result_$testcase_id.wlf
它将生成以下VSIM调用:

# vsim -t 10fs -wlf result_tc0027.wlf -novopt -GTB_TOP_CFG/TB_TOP_E_INST/G_TC_REPORTFILE=./results/report_tc0027_2014-03-05_14-06.txt work.CFG_TB_TOP_tc0027 
除了添加路径TB\u TOP\u CFG/TP\u TOP\u E\u INST/之外,我还必须从时间戳中删除
,因为modelsim/vhdl没有处理它