Todos los ejercicios
Difícil
Completa el hueco
5 pruebas
Muestreo a mitad de bit del UART — completa el hueco
En un receptor UART con sobremuestreo 16×, la decisión de bit
ocurre en el centro de la ventana de bit — es decir, cuando
el contador de muestreo vale 8. El flanco de reloj, el reset
asíncrono y el puerto de salida sample_now ya están cableados.
Tu tarea es escribir el comparador que genere el strobe de
muestra a partir del bit_count en curso.
Especificación
bit_countesSTD_LOGIC_VECTOR(3 downto 0)con el índice de
sobremuestreo 0..15.- Pon
sample_now <= '1'exactamente cuandobit_count = "1000"(8). - Pon
sample_now <= '0'en cualquier otro valor. - El bloque está dentro del
rising_edge(clk), así que la
decisión se ve un ciclo después.
Pista
if unsigned(bit_count) = "1000" then
sample_now <= '1';
else
sample_now <= '0';
end if;
Dónde escribir
Sólo las líneas entre -- BEGIN_EDIT y -- END_EDIT se
evalúan.
Caso de prueba visible
Recorrer bit_count 0..15 — sample_now pulsa en 8
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
bit_count |
0 ns | 0000 |
bit_count |
100 ns | 0001 |
bit_count |
200 ns | 0010 |
bit_count |
300 ns | 0011 |
bit_count |
400 ns | 0100 |
bit_count |
500 ns | 0101 |
bit_count |
600 ns | 0110 |
bit_count |
700 ns | 0111 |
bit_count |
800 ns | 1000 |
bit_count |
900 ns | 1001 |
bit_count |
1000 ns | 1010 |
bit_count |
1100 ns | 1011 |
4 casos de prueba ocultos — resuélvelos para revelarlos.