5 votos

puede verilog do `si se ha definido(ALGO) ... `elsif definido(SOMETHING_ELSE) ... `endif?

Estoy bastante seguro de que he hecho algo como esto en C antes de donde tengo una variedad de opciones, pero sólo una será verdadera en la compilación, y me gustaría hacerlo para Verilog sims. No he encontrado nada acerca de ella, aunque. He aquí lo que me gustaría hacer:

definir en la línea de comandos uno de los FLASH_IS_??? nombres para la ejecución de las

en testbench archivo de hacer:

`if defined(FLASH_IS_1MB)
    `define FLASH_TEA              19000000000 //19s max for 1MB erase cycle
`elsif defined(FLASH_IS_512KB)
    `define FLASH_TEA              12000000000 //12s max for 512KB erase cycle
`elsif defined(FLASH_IS_256KB)
    `define FLASH_TEA               6000000000 //6s max for 256KB erase cycle
`elsif defined(FLASH_IS_128KB)
    `define FLASH_TEA               4000000000 //4s max for 128KB erase cycle
`endif

...

#`FLASH_TEA; //wait for erase time

...

2voto

Alex Angas Puntos 20408

Esto funciona:

`ifdef FLASH_IS_1MB 
    `define FLASH_TEA              19000000000 //19s max for 1MB erase cycle
`elsif FLASH_IS_512KB
    `define FLASH_TEA              12000000000 //12s max for 512KB erase cycle
`elsif FLASH_IS_256KB
    `define FLASH_TEA               6000000000 //6s max for 256KB erase cycle
`elsif FLASH_IS_128KB
    `define FLASH_TEA               4000000000 //4s max for 128KB erase cycle
`endif

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X