jueves, 1 de julio de 2010

Cambiando el valor de un 'generic' en simulación con ModelSim

Como es sabido el valor asignado a un generic en VHLD o a un parameter in Verilog es un valor constante, establecido durante al tiempo de elaboración, y por ende no de puede cambiar durante la simulación del sistema. En caso de querer llevar a cabo simulación con diferentes valores de generics, existen dos opciones cuando se usa ModelSim:
- Uso de configuraciones. Una para cada valor deseado del generic.
- Uso de opciones del comandando vsim. Las opciones -g y -G (ModelSim es sensible a la diferencia entre minúsculas y mayúsculas) permiten asignar los valores deseados a los generics correspondientes.

Opción -g
: asigna valores a los generics que no tienen un valor explícito. Sintáxis:
-g<nombre>=<valor> (observe que no hay espacios)

Ejemplos:
vsim -gwidth=16 . . . . . (asigna el valor 16 al generic width)

Para un generic de una instancia específica se debe usar el path jerárquico correspondiente:
vsim -g/top/counter/u1/max_cnt=53 . . .

Para múltiples generic se deben usar múltiples -g opciones:
vsim -g/top/counter/u1/max_cnt=53 -g/top/counter/u2/max_cnt=7 -gaddr_bus_width=32 . .

Opción -G: es similar a la opción -g pero SOBRESCRIBIRÁ los valores explícitos de los generics/parameters asignados oportunamente ya sea en la entidad/módulo o en la instanciación (generic map).

No hay comentarios:

Publicar un comentario