代码之家  ›  专栏  ›  技术社区  ›  Mrchacha

根据配置值初始化类

  •  0
  • Mrchacha  · 技术社区  · 8 年前

    我想了解如何初始化 Module ,取决于值。所以我有一个 config.extend 值,该值将决定 core 将实例化 Core ExtendedCore 单元

    但是,我得到了错误“value:=不是Sodor.core的成员”。

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

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

    1 回复  |  直到 8 年前
        1
  •  2
  •   Jack Koenig    8 年前

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

    请尝试以下操作:

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