Estoy bastante seguro de que he hecho algo como esto en C antes, donde tengo una variedad de opciones, pero solo una será verdadera en la compilación, y también me gustaría hacerlo para los simuladores de Verilog. Aunque no he encontrado nada al respecto. Esto es lo que me gustaría hacer:
define en la línea de comandos uno de los FLASH_IS _ ??? nombres para la corrida actual
en el archivo testbench:
'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
...