Quiero definir un parámetro en Verilog de tal manera que varios módulos puedan usarlo.
Cada módulo se implementa en un archivo diferente.
¿Se puede hacer o debo (re) definir este parámetro en cada módulo?
Quiero definir un parámetro en Verilog de tal manera que varios módulos puedan usarlo.
Cada módulo se implementa en un archivo diferente.
¿Se puede hacer o debo (re) definir este parámetro en cada módulo?
Si desea compartir un parámetro entre un conjunto limitado de módulos dentro de su diseño ovarall, puede definir el parámetro en un módulo adjunto, y luego pasarlo a los módulos que lo necesitan usando la siguiente sintaxis de creación de instancias:
parameter PARAM = value;
module_name #(.PARAM(PARAM)) instance_name ( ... );
Cada uno de los módulos de nivel inferior también debe declarar el parámetro y, opcionalmente, también pueden asignarle un valor predeterminado (que se anulará con el valor pasado durante la instalación).
¿Qué hay de colocar el parámetro en un archivo separado y luego 'incluir este archivo en cualquier archivo que quiera tener el parámetro definido? Eso le da un punto único de actualización en caso de que desee cambiar el valor más adelante.
Supongo que no solo quieres que sea global, sino que también puedes usar 'definir'.
Lea otras preguntas en las etiquetas verilog