【问题标题】:Showing Chisel signals in VCD在 VCD 中显示凿子信号
【发布时间】:2015-12-12 07:47:56
【问题描述】:

我正在使用 RISC-V Rocket 芯片。我添加了一些我自己的信号和逻辑,并希望查看 Rocket 芯片中现有信号的值,这些值尚未显示在 VCD 波形中。如何将这些信号转储到 VCD 文件中?

【问题讨论】:

  • 您是说您的设计中有没有出现在 vcd 波形中的信号?您使用的是 C++ 后端吗?
  • 是的,vcd 波形中没有显示信号。也就是说,我不熟悉 C++ 后端。
  • 这些信号是连线还是合成结果的一部分?
  • 你能解释一下你所说的部分合成结果是什么意思吗?
  • 我的意思是最终出现在凿子发出的verilog中。如果在 chisel 中使用 scala 变量,则不一定会发出它。为了被发射,它需要在设计中提供一个功能(例如一根电线)。

标签: riscv chisel rocket


【解决方案1】:

Chisel 中的信号不会出现在 vcd 波形中的原因有很多。

首先,您的设计没有使用信号。如果没有人读取test 信号,则val test = inst(13) 之类的东西将被修剪并且不会发出。我相信 Chisel 可能有一个 debug(test) 构造来强制它存在,但我不确定。

其次,信号可能会在细化过程中被重命名并显示为不同的信号。像val a = b 这样的东西可能意味着b 不会出现在波形中,但a 会出现。

第三,通常不在最高范围内的 Chisel 信号不会显示。例如,在 when() 语句中本地定义的信号。

四,默认情况下不显示记忆。它们通常太大而无法倾倒。如果您确实确定自己的记忆不是太大,您可以将名为 --vcdMem 的标志传递给 Chisel。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    相关资源
    最近更新 更多