42 / 63 · Concepto
Verificación del desplazamiento y alineación de datos con valid
Detecte fallos ocultos por patrones simétricos y desajustes de un ciclo en valid.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
Elija secuencias que revelen errores
Desplazar solo 0000 o 1111 oculta inversiones de dirección. Use patrones asimétricos como 1000 o un único 1 para seguir cada posición. Usar siempre estado inicial cero también puede ocultar fallos de inicialización o conservación.
Con un registroRegistro Circuito que almacena varios bits de estado. Los registros síncronos de este curso capturan la entrada especificada en el flanco de reloj. Más información de tres bits, inicio 000 y entradas 1,0,0, resulta 001→010→100. En sentido contrario sería 100→010→001: se distinguen desde el primer flanco.
Revise la referencia en otra representación
Compare este modelo numérico con las seleccionesSelección de bits Operación que extrae un intervalo contiguo de un vector. El intervalo determina el ancho y el orden de los bits del resultado. Más información y concatenaciones RTL en cada flanco válido. Para N=3 pueden enumerarse ocho estados y dos entradas: 16 transiciones. Añada aparte las combinaciones de reset y enable.
Cada columna registra un flanco ascendenteFlanco ascendente Instante en que el reloj pasa de 0 a 1. Se distingue del nivel alto, que abarca todo el intervalo con CLK=1. Más información, con entrada anterior y estado «después» actualizado, sin representar propagación físicaRetardo de propagación Tiempo desde un cambio de entrada hasta que la salida se estabiliza en el valor correcto. La equivalencia lógica y el comportamiento temporal son propiedades distintas. Más información. Desde q=000, el segundo flanco tiene enable=0 y conserva 001 aunque cambie din. Cuente por separado flancos y aceptaciones.
Ver los datos de la forma de onda
| Señal | Forma de onda | Valores del bus |
|---|---|---|
| flanco | 2345 | E0 → E1 → E2 → E3 |
| enable | 101. | |
| din | 10.1 | |
| q después | 2.34 | 001 → 010 → 101 |
Reproduzca la onda: un flanco con din=1 da 001; otro con enable=0, din=0 lo conserva. Reactive enable y aplique din=0,1: resultan 010,101. El modelo solo trata los registros de datos; analice además que valid también debe detenerse con el mismo enable.
El reset síncrono tiene prioridad sobre enable. Con enable=0, se conserva el valor almacenado. q=000; q_next = (2q + din) mod 8
Valid forma parte del camino de datos
Si datos y valid no se detienen o avanzan juntos, el receptor consume muestras incorrectas. Que los bits de salida sean correctos no demuestra la corrección de la interfaz.
| Prueba | Resultado esperado |
|---|---|
| Entradas continuas | Orden de bits y latencia válida fija correctos |
| enable=0 intermedio | Datos y valid se conservan juntos |
| Reset intermedio | Se elimina la validez de la trama anterior |
| Tramas consecutivas | Se distingue el final anterior del nuevo comienzo |
Registre el número de aceptación para no confundirlo con el ciclo físico. Un contraejemplo mínimo que incluya la frontera de trama resulta más útil que releer repetidamente una onda larga.
Inténtalo tú
Los datos solo avanzan con enable=1, pero valid avanza cada reloj. ¿Qué estímulo revela fácilmente el fallo?
Leer la explicación
Inserte un flanco de pausa enable=0 entre dos datos distintos. valid llegará antes o acompañará otro dato. Compare con una referencia que aplique la misma condición de aceptación a datos y metadatos.