En "IEEE Std 1800-2012 SystemVerilog", pág. 668, encuentro esto:
module mh11(output integer x); // output var integer x
Me pregunto por qué es predeterminado 'var' pero no 'net'? ¿Qué regla lo define o solo es la regla?
En "IEEE Std 1800-2012 SystemVerilog", pág. 668, encuentro esto:
module mh11(output integer x); // output var integer x
Me pregunto por qué es predeterminado 'var' pero no 'net'? ¿Qué regla lo define o solo es la regla?
La regla está en la página anterior
Si se omite el tipo de puerto : - Para puertos de salida , el tipo de puerto predeterminado depende de la forma en que el tipo de datos está especificado: - Si el tipo de datos se omite o se declara con el Sintaxis implit_data_type, el tipo de puerto se establecerá de manera predeterminada en una red de Tipo de red por defecto. - Si el tipo de datos es declarado con el explícito Sintaxis de tipo de datos , el tipo de puerto se establecerá de forma predeterminada en variable .
Estas reglas implícitas son ridículamente complejas para guardar algunas pulsaciones de teclas. Eres mucho más seguro de ser explícito.
Lea otras preguntas en las etiquetas fpga system-verilog