2017-01-18 11 views
0

値に応じてModuleを初期化する方法を知りたいと思います。だからcoreCoreまたはExtendedCoreモジュールをインスタンス化するかどうかを決定するconfig.extendの値があります。設定値に応じてクラスを初期化する

しかし、私は "value:= Sodor.coreのメンバーではありません"というエラーが表示されています。

val extend = 1 

val core = Module(new Core(data_address)) 

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

この場合のように、ステートメントに応じてモジュールを初期化する適切な方法は何ですか?おかげさまで

答えて

2

:=はChiselの接続演算子です。これは、ワイヤとレジスタの接続に使用されます。あなたが本当にやりたいことは、精緻化時に条件付きで異なるモジュールをインスタンス化することです(つまりScalaのコンストラクトではなく、 Chiselのコンストラクト)。

次のことを試してみてください。

val extend = 1 

val core = if (extend == 1) Module(new ExtendedCore(data_address)) 
      else Module(new Core(data_address)) 
関連する問題