modelSim VHDL一些输入信号没有出现在对象窗口中

时间:2015-07-29 07:09:16

标签: vhdl modelsim

我正在研究vhdl上的turbo解码系统。系统没有输出预期的结果,所以我需要调试它。在我的解码器系统的架构中,我将如下实例化块组件:

inst_decoder : for i in 0 to MAX_BSIZE -1 generate

  signal llrs_valid_upper: std_logic ;
  signal llrs_in_upper : llrs_rec;
  signal llrs_valid_lower: std_logic;
  signal llrs_in_lower: llrs_rec;


begin


  -- get the corresponding llrs from the input_llr buffer, and set the llrs_valid to 1
  llrs_in_upper.system_llr <= input_llr(i); 
  llrs_in_upper.parity_llr <= input_llr(MAX_BSIZE+NUM_ENC_REGS+i);
  llrs_in_upper.extr_llr <= extr_upper_int(i);
  llrs_valid_upper <= input_llr_valid;

  inst_upper_algorithmic_block: component tcdec_algorithmic_block
    port map (
      clk => clk,
        rst => rst,
          en  => en_int,

          alpha_in => alpha_upper_int(i),
          beta_in => beta_upper_int(i+1),

          llrs_valid => llrs_valid_upper,
          llrs_in  => llrs_in_upper,

          init    => init,
          alpha_init => ALL_ZEROS,
          beta_init => ALL_ZEROS,

          extr_out  => extr_lower_int(de_il_table(i)),
          alpha_out => alpha_upper_int(i+1),
          beta_out => beta_upper_int(i)

    );

  llrs_in_lower.system_llr <= input_llr(il_table(i));
  llrs_in_lower.parity_llr <= input_llr(2*(MAX_BSIZE+NUM_ENC_REGS) + NUM_ENC_REGS + i);
  llrs_in_lower.extr_llr <= extr_lower_int(i);
  llrs_valid_lower <= input_llr_valid;

  inst_lower_algorithmic_block: component tcdec_algorithmic_block
    port map(
      clk => clk,
      rst => rst,
      en => en_int,

      alpha_in => alpha_lower_int(i),
      beta_in => beta_lower_int(i+1),

      llrs_valid => llrs_valid_lower,
      llrs_in => llrs_in_lower,

      init => init,
      alpha_init => ALL_ZEROS,
      beta_init => ALL_ZEROS,

      extr_out => extr_upper_int(il_table(i)),
      alpha_out => alpha_lower_int(i+1),
      beta_out => beta_lower_int(i)

    );  
end generate inst_decoder;

当试图调试设计时,每个块的一些输入信号没有出现,即第一个信号,llrs_in,llrs_valid ......

为了使它更奇怪,第一个块(对于i = 0,inst_upper_algorithmic_block)具有其所有输入,其余块则没有。

我尝试重新启动计算机,重新启动modelSim,关闭并打开项目毫无用处。

我尝试使用和不使用优化运行设计,得到了相同的结果。

感谢任何帮助:)

2 个答案:

答案 0 :(得分:0)

尝试使用-novopt -O0编译您的设计。 另外,我相信你可以通过Tcl命令手动将信号添加到波形中(需要测试,据我记得,这适用于对象列表中缺失的信号。):

add wave "sim:/<testbench_name>/inst_upper_algorithmic_block/clk"

ModelSim将添加信号或告诉您无法添加信号的原因。

但是因为事情“开始工作”,我相信你“修复”了你的设计(有时ModelSim不能帮助我们理解错误)。

答案 1 :(得分:0)

删除'模拟'目录 - &gt; close modelsim - &gt;重新打开并模拟。

它向我展示了缺失的信号。

相关问题