如何将 val 名称保留在 withClock() 或 withClockAndReset() 范围内

How to keep val names under withClock() or withClockAndReset() scopes

withClock()withClockAndReset() 范围内的 Val 名称往往会在生成的 Verilog 文件中丢失其编码名称。

到目前为止,为了保持原始名称,我使用了 suggestName() 函数来强制使用原始名称。

但是我想知道是否有更聪明的方法呢?有没有办法强制所有 val 保留他们的名字而不在每个 val 声明中添加 suggestName()

正如 Kamyar 在他的评论中提到的,您应该使用 @chiselName

import chisel3._
import chisel3.experimental.chiselName

@chiselName
class MyModule extends Module {
  ...
  withClock(otherClock) {
    val importantReg = Reg(...) // <- this will now get a name
  }
}

@chiselName 的工作方式是它会自动为每个 val 添加一个 .suggestName