Declaraciones portuarias sin dirección verilog
-
21-12-2019 - |
Pregunta
Entonces, este es 1/4 de los archivos o modelo de comportamiento que tengo, pero sigo recibiendo este error en el archivo.¿Estoy haciendo esto correctamente en verilog?Estoy recibiendo un:
"Las declaraciones de puerto sin dirección solo se admiten en System Verilog.Debes compilar con el indicador -sverilog para habilitar la compatibilidad con esta función".
module NSG_function
(
input x, [1:0] q, // current_state,
output [1:0] d // next_state
);
assign d[1] = ~x&q[0]&q[1] | x&~q[0]&q[1] | x&q[0]&~q[1];
assign d[0] = ~x | ~q[0]&q[1];
endmodule
Solución
Tu problema es con la entrada. q
.
Aunque lo pones en la misma línea que input x,
, dado que declara q como una matriz, necesita su propia declaración de entrada.
module NSG_function
(
input x,
input [1:0] q, // current_state
output [1:0] d // next_state
);
assign d[1] = ~x&q[0]&q[1] | x&~q[0]&q[1] | x&q[0]&~q[1];
assign d[0] = ~x | ~q[0]&q[1];
endmodule
Otros consejos
Es probable que necesite especificar GeneracDicetAnGode para cada señal:
input x,
input [1:0] q, // current_state,
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow