Altifigence Academy

13 / 24 · Concepto

Eventos de aceptación y estabilidad durante las detenciones

Asigna responsabilidades al productor y al receptor y conserva las cargas útiles detenidas.

Una transferencia requiere ambas señales en un flanco

Valid promete que el productor tiene una carga útil que ofrecer. Ready promete que el receptor puede aceptar una en el flanco actual. Un flanco ascendente con ambas señales a nivel alto transfiere exactamente una transacción. La carga útil incluye todos los campos acompañantes, como etiqueta, operación o dirección. Una señal valid mantenida a nivel alto puede significar un elemento detenido o una secuencia de elementos que se transfieren en flancos consecutivos con ready activado.

Cuando valid está a nivel alto y ready a nivel bajo, conserva estables valid y toda la carga útil. Nuestro contrato permite cancelar esa obligación solo mediante reinicio o un vaciado explícito. Si un productor espera a ready antes de activar valid y un receptor espera a valid antes de activar ready, ambos pueden esperar indefinidamente. Ofrece un elemento preparado independientemente de ready. Estos principios de negociación y estabilidad están documentados en la especificación AMBA AXI de Arm, sección A3. Este pequeño flujo no implementa la interfaz AXI completa.

FlancovalidreadyCarga útilTransferencia
010tag4,y9Ninguna
110tag4,y9Ninguna
211tag4,y9tag4 una vez
311tag5,y12tag5 una vez
401IrrelevanteNinguna

Tag4 debe permanecer sin cambios durante la detención. Después de su transferencia en el flanco 2, el productor puede presentar tag5. Ready por sí solo en el flanco 4 no crea una transacción. Contar solo valid puede perder entradas; leer solo datos puede duplicar salidas.

Estas reglas suponen un solo dominio de reloj. No resuelven los cruces entre dominios de reloj ni la metaestabilidad. Cuenta las entradas aceptadas y las salidas entregadas a partir de sus respectivas negociaciones. Sin reinicio, aceptadas menos entregadas debe ser igual al trabajo interno pendiente. Encola las etiquetas aceptadas y retíralas solo al entregar. Combina esa contabilidad con comprobaciones de la carga útil detenida para detectar pérdidas, duplicaciones y cambios de identidad incluso cuando los valores aritméticos coincidan por casualidad.

Inténtalo tú

Valid está a nivel alto en cuatro flancos de la tabla. ¿Cuántas transferencias ocurren y qué etiquetas se transfieren? ¿Qué regla se incumple si y cambia a 10 en el flanco 1?

Leer la explicación

Ocurren dos transferencias, las etiquetas 4 y 5 en los flancos 2 y 3. Cambiar y en el flanco 1 incumple la estabilidad de la carga útil para la transacción detenida en el flanco 0.

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