Todos los ejercicios
Difícil
Completa el hueco
5 pruebas
Paso de actualización CRC-8 — completa el hueco
Un registro CRC-8 serial está casi completo. Te damos
listos: el registro de 8 bits r, la constante polinomio
POLY = x"07", el reset asíncrono y la salida crc <= r;.
Dentro del proceso ya está declarada la variable fb : STD_LOGIC.
Tu tarea es escribir el paso de un bit del CRC que se ejecuta
en cada flanco ascendente del reloj.
Especificación
- Calcula el bit de realimentación:
fb := r(7) xor din; - Si
fb = '1', desplazara la izquierda (inserta'0'en
el LSB) y haz XOR conPOLY. Si no, sólo desplaza:if fb = '1' then r <= (r(6 downto 0) & '0') xor POLY; else r <= r(6 downto 0) & '0'; end if;
Dónde escribir
Sólo las líneas entre -- BEGIN_EDIT y -- END_EDIT se
evalúan. El reset, el registro y la asignación de salida están
bloqueados.
Caso de prueba visible
Reset 25 ns y luego din=1 — el CRC empieza a evolucionar
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
din |
0 ns | 1 |
4 casos de prueba ocultos — resuélvelos para revelarlos.