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.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
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.
| Flanco | valid | ready | Carga útil | Transferencia |
|---|---|---|---|---|
| 0 | 1 | 0 | tag4,y9 | Ninguna |
| 1 | 1 | 0 | tag4,y9 | Ninguna |
| 2 | 1 | 1 | tag4,y9 | tag4 una vez |
| 3 | 1 | 1 | tag5,y12 | tag5 una vez |
| 4 | 0 | 1 | Irrelevante | Ninguna |
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.