¿Puedo crear un archivo verilog para simular y sintetizar?

1

Recientemente estuve leyendo un libro de estudio de Verilog. Finalmente me di cuenta de que un archivo Verilog puede no ser sintetizable, porque algunas declaraciones Verilog son solo para uso de simulación. Pero soy demasiado perezoso para crear un archivo para crear un módulo y otro para simularlo. ¿Puedo mezclar ambos en el mismo archivo, y si es así, cómo?

    
pregunta LaiJiong

1 respuesta

3

La mayoría de las herramientas de síntesis admiten pragmas. Por ejemplo, en el siguiente código, la puerta y no se considerarán para la síntesis.

// synthesis translate_off
    and2 (a, b, c[4]);
// synthesis translate_on

También se pueden usar macros predefinidas:

'ifdef synthesis
 parameter PARAM = 4;
'endif

Ambos de los anteriores son específicos de la herramienta, por lo que tendrás que ver qué macros predefinidas admite tu herramienta, o podrías definir una macro y usarla.

Si desea algo más robusto y no como herramienta específica, puede usar una declaración de generación condicional que divida bien la simulación y la síntesis:

generate
if (SYNTHESIS == 1)
ff_for_synthesis_here
else
ff_for_simulation_here
end generate
    
respondido por el stanri

Lea otras preguntas en las etiquetas