Todos los ejercicios
Medio
Corrige el error
5 pruebas
Contador arriba/abajo — dirección ignorada
Se pedía un contador up/down de 4 bits controlado por dir:
dir = '1'→ cuenta arriba:count <- count + 1.dir = '0'→ cuenta abajo:count <- count - 1.resetasíncrono activo en alto ponecounta 0.
Qué falla
El starter solo incrementa — dir no se usa. Con dir = '0' la cuenta sigue siendo 0 → 1 → 2 → … en lugar de envolver 0 → 15 → 14 → ….
Pista
Necesitas un if dir = '1' then count <= count + 1; else count <= count - 1; end if; dentro de la rama del flanco.
Caso de prueba visible
Tras reset, dir=0 — la cuenta va 0000 → 1111 → 1110 …
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
dir |
0 ns | 0 |
4 casos de prueba ocultos — resuélvelos para revelarlos.