Todos los ejercicios
Difícil
Corrige el error
5 pruebas
UART — corrige el muestreo del bit de start
Esta FSM mínima de recepción UART tiene cuatro estados: IDLE,
START, DATA, STOP (codificados como 00, 01, 10, 11
en state). Con el código actual, la FSM sale de START a mitad
del periodo de bit y el resto de la trama se muestrea en el lugar
equivocado.
Especificación
clkde 50 MHz,BIT_PERIOD = 10ciclos por bit.- En
IDLE: un flanco bajante enrx(rx = '0') lleva la FSM a
STARTinmediatamente, al inicio del periodo de bit. STARTyDATAduran exactamenteBIT_PERIODciclos.STOPdura un ciclo y vuelve aIDLE.
Pista
Si la constante del periodo de bit vale la mitad de lo correcto,
la FSM muestrea el centro de cada bit en lugar del inicio.
Recalcula la constante a partir de la frecuencia y el baud rate.
Caso de prueba visible
Línea idle baja a 0 — fase START debe durar 10 ciclos
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
rx |
0 ns | 1 |
rx |
200 ns | 0 |
4 casos de prueba ocultos — resuélvelos para revelarlos.