modelSim VHDL某些输入信号未出现在对象窗口中

modelSim VHDL某些输入信号未出现在对象窗口中,vhdl,modelsim,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_

我在用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;
inst_解码器:为0中的i生成最大尺寸-1
信号llrs_有效_上限:标准_逻辑;
信号llrs\U在上:llrs\U rec;
信号llrs\U有效\U低:标准\U逻辑;
信号llrs_in_lower:llrs_rec;
开始
--从输入llr缓冲区获取相应的llr,并将llr\u valid设置为1
llrs_in_upper.system_llr alpha_upper_int(i),
beta_in=>beta_upper_int(i+1),
llrs\U valid=>llrs\U valid\U上限,
llrs\U in=>llrs\U in\U上部,
init=>init,
alpha_init=>所有零,
beta_init=>所有零,
extr_out=>extr_lower_int(表(i)),
alpha_out=>alpha_upper_int(i+1),
beta\u out=>beta\u upper\u int(i)
);
llr_in_lower.system_llr alpha_lower_int(i),
beta_in=>beta_lower_int(i+1),
llrs\u valid=>llrs\u valid\u lower,
llrs_in=>llrs_in_lower,
init=>init,
alpha_init=>所有零,
beta_init=>所有零,
extr_out=>extr_upper_int(il_表(i)),
alpha_out=>alpha_lower_int(i+1),
beta\u out=>beta\u lower\u int(i)
);  
终端生成指令解码器;
当试图调试设计时,每个模块的一些输入信号没有出现,即rst信号、llrs_输入、llrs_有效

更奇怪的是,第一个块(对于i=0,inst_upper_algorithmic_块)有所有的输入,其余的没有

我尝试重新启动计算机,重新启动modelSim,关闭和打开项目,但没有任何用处

我也试着运行有优化和没有优化的设计,得到了相同的结果


感谢您的帮助:)

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

addwave”sim://inst_upper_algorithmic_block/clk"
ModelSim将添加信号或告诉您无法添加信号的原因


但既然事情“开始起作用”,我相信你“修复”了你的设计(有时ModelSim不能帮助我们理解问题所在)。

删除“模拟”目录->关闭ModelSim->重新打开并模拟


它为我显示了丢失的信号。

您可以添加一个屏幕截图和modelsim版本号吗?请确保您在没有优化的情况下进行模拟:-启动模拟时在命令行上单击novopt,或者在通过GUI时取消选中optimization。可能只是rst和其他信号在您的测试台上有一个常量值,因此它们会被优化,因此无法在模拟中显示。好吧,那么突然一切都恢复正常,我现在可以看到所有的输入了!我已经有这个问题两天了,但只有当我在stackoverflow上发布这个问题时,它才被自己解决了:p正如我已经提到的,我尝试了无优化选项,但它不起作用。
add wave "sim:/<testbench_name>/inst_upper_algorithmic_block/clk"