根据配置值初始化 class

Initialize class depending on config value

我想了解如何根据值初始化 Module。所以我有一个 config.extend 值,它将决定 core 是否实例化 CoreExtendedCore 模块。

但是我收到错误 "value := is not a member of Sodor.core"。

val extend = 1

val core = Module(new Core(data_address))

if(extend==1){
   core := Module(new ExtendedCore(data_address))
}

根据语句初始化模块的正确方法是什么,就像在这种情况下? 谢谢。

:=是Chisel中的连接运算符。它用于连接电线和寄存器。您真正想要做的是在精化时有条件地实例化不同的模块(即使用 Scala 构造 而不是 Chisel 构造)。

尝试以下操作:

val extend = 1

val core = if (extend == 1) Module(new ExtendedCore(data_address))
           else Module(new Core(data_address))