2017-01-18 2 views
0

Je voudrais savoir comment il est possible d'initialiser un Module, en fonction d'une valeur. J'ai donc une valeur config.extend qui décidera si le core va instancier le module Core ou ExtendedCore.Initialiser la classe en fonction de la valeur de configuration

Cependant, je reçois l'erreur "valeur: = n'est pas membre de Sodor.core". Quelle est la bonne façon d'initialiser un module en fonction de la déclaration, comme dans ce cas? Merci.

Répondre

2

:= est l'opérateur de connexion dans Chisel. Il est utilisé pour connecter les fils et les registres. Ce que vous voulez vraiment faire, c'est conditionnellement instancier différents modules au moment de l'élaboration (c'est-à-dire avec les constructions Scala et non Constructions de ciseaux).

les opérations suivantes:

val extend = 1 

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