[icarus verilog]
¿Hay alguna bandera / pragma que pueda ayudarme a detectar nombres de variables falsos en una definición de módulo?
Considere el siguiente fragmento de código ...
module binary_decoder_2to4
(
input wire enable,
input wire[1:0] a,
output wire[3:0] y
);
assign y[0] = en & ~a[1] & ~a[0];
assign y[1] = en & ~a[1] & a[0];
assign y[2] = en & a[1] & ~a[0];
assign y[3] = en & a[1] & a[0];
endmodule
Como puede ver, cambié el nombre del puerto en
a enable
pero olvidé actualizar el cuerpo del módulo. Desde un fondo de programación, esperaría que el compilador (iverilog) al menos emita una advertencia. En su lugar, el compilador genera felizmente un archivo de simulación con el valor de en
establecido en z
.