17 / 20 · Concepto
Marcadores de referencia e invariantes
Comprueba términos, etiquetas, flancos y transferencias de salida además de la matriz final.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
Separa dos referencias
Usa una referencia matemática directa para calcular sumas anchas con bucles i/j/k independientes. Usa un modelo temporal separado para desplazar A a la derecha y B hacia abajo. Copiar el auxiliar de índices del RTL al modelo de referencia arriesga reproducir el mismo error. Empieza con ejemplos fijos calculados a mano y después amplía a entradas aleatorias reproducibles.
Usa el trabajo y las coordenadas globales de salida como claves del marcador de resultados. Compara cada valor recibido y marca su clave como recibida. Una clave repetida es un duplicado, una inesperada es un error de dirección y una clave esperada no recibida es una ausencia. Los resultados cero también requieren entrega. Las coordenadas de relleno fuera de intervalo nunca deben almacenarse.
Comprueba invariantes dentro de la matriz
Cada PE debe consumir exactamente [0,1,...,K−1]. Los operandos válidos emparejados necesitan etiquetas job y k iguales. Count permanece entre cero y K. Un flanco pausado conserva operandos, valid, etiquetas, acumulador y contador. Clear deja el contador y el acumulador a cero, sin tokens válidos. Un resultado bloqueado conserva data y job mientras valid sigue activado.
| Capa | Ejemplo de fallo | Fallo probable |
|---|---|---|
| Aritmética | 23 en lugar de 19 | Índice, signo o anchura |
| Términos | [0,1,1] | Token duplicado |
| Temporización | PE final terminado en E2 | Finalización temprana |
| Pausa | El contador cambia durante la pausa | Retención parcial del estado |
| Salida | Clave recibida dos veces | Control de negociación |
En el ejemplo 2×2, el PE final contiene dieciocho después de E2 y cincuenta después de E3. Un error de global-done en E2 debe fallar tanto en las comprobaciones numéricas como temporales. En cambio, duplicar y omitir productos de igual valor puede conservar la suma final; seguir los términos detecta esa coincidencia.
Guarda semillas aleatorias, matrices, dimensiones, anchuras y posiciones de pausa. Registra el primer PE, término y flanco físico discordantes. Los errores deliberados de etiquetas deben fallar visiblemente, no desaparecer en silencio.
Observa el estado después de E_t de forma coherente. La ejecución de referencia Node, la compilación RTL, la simulación RTL, la síntesis, el cierre temporal, la ejecución de un proyecto DDS y las pruebas en placa acreditan hechos distintos. Los programas Node suministrados validan modelos aritméticos y de planificación. Las futuras pruebas RTL pueden reutilizar los datos, pero deben conservar sus propias versiones de herramientas, comandos y registros.
Inténtalo tú
Construye entradas en las que comprobar solo la suma final no detecte un término duplicado y uno omitido.
Leer la explicación
Una fila A [1,1] y una columna B [5,5] suman correctamente diez. Consumir [0,0] también suma diez, pero duplica k0 y omite k1. Exigir tanto el valor como la lista exacta de términos [0,1] detecta el error.