【问题标题】:Initialize class depending on config value根据配置值初始化类
【发布时间】:2017-01-18 13:09:50
【问题描述】:

我想了解如何根据值初始化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))
}

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

【问题讨论】:

    标签: scala if-statement module initializer chisel


    【解决方案1】:

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

    尝试以下方法:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 2012-06-20
      • 2012-01-30
      • 2020-02-07
      • 1970-01-01
      • 2015-01-15
      相关资源
      最近更新 更多