¿Por qué usan NULL en el código VHDL?

De vez en cuando veo diferentes ejemplos de código que tienen cadenas "... else Null" en declaraciones if y es algo que no entiendo. He aprendido y me atengo a la idea de que la mejor manera de modelar nada es escribir sin código. Pero, ¿hay alguna diferencia en estos enfoques? si no, ¿por qué la gente escribe este "otro nulo"?

¿Estás hablando específicamente de estructuras if-then-else o también de cambiar casos con when others => null; ?
Proporcione uno o más ejemplos de código concretos que le gustaría explicar. Null se puede usar de varias maneras diferentes en VHDL.
Básicamente control de calidad. else null;significa I didn't just forget this bit, there really is nothing to do here;_ Como VHDL tiende a usarse en aplicaciones de alta integridad y algunos clientes insisten en revisar críticamente cada línea de código, realmente es la forma más simple y económica de hacer el trabajo.
Además de la buena respuesta sobre el control de calidad, es posible que pueda colocar un punto de interrupción en esa línea en un simulador VHDL.
(Se puede etiquetar una declaración nula, consulte la respuesta que hace referencia a 10.14 en el estándar. Sin embargo, ni los puntos de interrupción ni la interactividad del usuario del simulador están definidos en IEEE Std 1076-2008).

Respuestas (1)

Como dijo @BrianDrummond... De IEEE 1076:

10.14 Sentencia nula

Una instrucción nula no realiza ninguna acción.

null_statement ::= [etiqueta:] nulo ;

La ejecución de la declaración nula no tiene otro efecto que pasar a la siguiente declaración.

NOTA: la declaración nula se puede usar para especificar explícitamente que no se debe realizar ninguna acción cuando ciertas condiciones son verdaderas, aunque nunca es obligatoria para este (o cualquier otro) propósito. Esto es particularmente útil junto con la declaración de caso, en la que todos los valores posibles de la expresión de caso serán cubiertos por opciones; para ciertas opciones, puede ser que no se requiera ninguna acción