Lo primero que hay que separar son las señales que son salidas del circuito que se pide diseñar y las que son entradas.
- ask es una salida, o sea que la manejás vos
- ready es una entrada, o sea que la maneja alguien desde afuera (otro sistema)
Estas dos señales manejan una señalización (o handshake) para pasarse los datos en X sin que haya solapamientos, es decir sin perder datos y sin leer el mismo 2 veces.
El circuito que tenés que diseñar "pide" que le manden un nuevo dato poniendo ask=1 durante 1 Tclk.
El sistema externo te "contesta" que efectivamente puso los datos en X con ready=1 durante 1Tclk.
Recién ahí podés leer los datos en la entrada X, que vas a tener que comparar con las dos leídas anteriores X(t-1) y X(t-2).
Vas a tener que usar 2 memorias para guardar los datos "viejos", y mantenerlas actualizadas.
El problema se puede resolver pensando que está en régimen, sin importar los resultados de las 2 primeras comparaciones (ya que al principio no hay datos "viejos" almacenados).
Probá a ver si con esto te sale y cualquier cosa volvé a preguntar.