Tengo un reloj rápido y un interruptor llamado "listo". Cuando se gira el interruptor (listo va ALTO), me gustaría que la salida pcEn produzca un pulso que dura solo un ciclo de reloj. pcEn solo emitirá otro pulso la próxima vez que esté listo HIGH otra vez.
El siguiente código simula correctamente, pero desafortunadamente no es sintetizable. Tenga en cuenta que el espacio es una consideración importante, por lo que me preguntaba si es posible implementarlo sin usar una máquina de estados (que utiliza muchos elementos lógicos).
module control
(
output logic pcEn,
input clock, ready
);
always_ff @(negedge clock)
pcEn <= 1'b0;
always_ff @(posedge ready)
pcEn <= 1'b1;
endmodule