Todos los ejercicios
Medio
Corrige el error
5 pruebas
Contador de 4 bits — bug en el reset asíncrono
El bloque pretende ser un contador de 4 bits con reset asíncrono activo en alto.
Especificación
- En
rising_edge(clk):count <- count + 1. - Cuando
reset = '1':countpasa inmediatamente a"0000", sin esperar al reloj. qreflejacount.
Qué falla
Si pulsas reset entre dos flancos de reloj, la cuenta no se borra de inmediato: solo lo hace en el siguiente flanco. El cuerpo del proceso está bien; el error está una línea más arriba.
Pista
Para que el reset sea verdaderamente asíncrono, debe aparecer en la lista de sensibilidad del proceso junto al reloj.
Caso de prueba visible
Reset 25 ns y luego cuenta libre
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
4 casos de prueba ocultos — resuélvelos para revelarlos.