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
¿Fue útil?

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
scroll top