desktop

Duda sobre eventos en Verilog

Buenas gente, tengo la siguiente duda, ¿cómo hago para declarar un proceso "always" que esté pendiente de un cambio de estado en una variable/señal?

Ejemplo simple (puede haber errores de sintaxis, porque no estoy muy ducho en el tema):

Código:
module Test(a, b, c);

input a, b;
output reg c;

always @(a, b)
begin
    c<=a&b;
end

endmodule

Se que eso lo puedo hacer directamente con un "assign", pero el resultado en si no es lo que me preocupa, sino que en la simulación (con su respectivo test bench) el proceso always se "ejecuta" c/vez que hay un cambio de estado en "a" o "b", pero en circuito real eso no sucede (o en ciertos códigos que uso el always de esa forma, no parece ser utilizado). Sin embargo, los procesos "always" que usan los flancos (sean ascendentes o descendentes) como lista sensible, funcionan sin inconvenientes.

Estoy utilizando una fpga Intel MAX10 (altera), modelo 10M04SCE144C8G.

Saludos.
 
Hola,

Generalmente se usan asignaciones "non blocking" para lógica combinatoria, o sea, c = a & b. Pero me resulta raro que no te funcione en la compilación.
 
Gracias por la respuesta.

Si, es raro, al simular usando señales de prueba funciona sin problemas, pero al momento de funcionar en el hard, nunca se lanza el evento. Tal vez es algo propio de esa FPGA que se me pasó en su momento.
 
Atrás
Arriba