Altifigence Academy

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.

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

Qnext=(2Q+d) mod 2NQ_{next}=(2Q+d)\bmod2^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.

Sin enable se detiene todo el estado
Ver los datos de la forma de onda
Datos de la forma de onda: cada carácter es un intervalo; un punto conserva el estado anterior; p representa un ciclo de reloj.
SeñalForma de ondaValores del bus
flanco2345E0 → E1 → E2 → E3
enable101.
din10.1
q después2.34001 → 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.

Distinga entrada y almacenamiento durante una pausa

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.

PruebaResultado esperado
Entradas continuasOrden de bits y latencia válida fija correctos
enable=0 intermedioDatos y valid se conservan juntos
Reset intermedioSe elimina la validez de la trama anterior
Tramas consecutivasSe 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.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.