es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En Chisel, ¿cómo generar varios módulos con diferentes parámetros?

Tengo un módulo monit que tiene un parámetro threshold, luego quiero generar varios módulos monit en el envoltorio con diferentes thresholds. Pero cuando uso

val monits = Seq.fill(8)(Module(new monit(32)))

para crear 8 módulos monit, todos tienen el mismo threshold. ¿Cómo puedo entregar diferentes parámetros de threshold?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para generar múltiples instancias de un módulo con diferentes valores de parámetros, es necesario modificar la forma en que se instancia el módulo. En el código actual, Seq.fill(8)(Module(new monit(32))) instancia 8 instancias del módulo monit con un umbral de 32.

    Para generar instancias del módulo monit con diferentes valores de umbral, necesitamos modificar la lógica de instanciación para pasar diferentes valores de umbral a cada instancia.

    Una forma de hacerlo es utilizando un bucle for y creando instancias del módulo con diferentes valores de umbral. Aquí tienes un ejemplo de código:

    val thresholdValues = Seq(32, 64, 128, 256, 512, 1024, 2048, 4096)
    val monits = Seq.tabulate(8)(i => Module(new monit(thresholdValues(i))))
    

    En este ejemplo de código, primero definimos una secuencia de valores de umbral (thresholdValues). Luego, utilizamos la función Seq.tabulate para generar 8 instancias del módulo monit. La función tabulate toma dos argumentos: el número de instancias a generar (8 en este caso) y una función que toma un índice (i) y devuelve la instancia del módulo. Utilizamos el índice i para buscar el valor de umbral correspondiente en la secuencia thresholdValues y pasarlo al constructor del módulo monit. De esta manera, cada instancia del módulo monit tendrá un valor de umbral diferente.

Comments are closed.