MST · IA para ingeniería · Preparación MPW
Guía MPW: registros, entornos y ofertas
Tres ejercicios reproducibles para encontrar un bloqueo, registrar incógnitas y preparar la siguiente revisión técnica.
Los ejemplos son de MST, bajo licencia MIT, sin diseños de clientes ni PDK de fundición. Se conservan los identificadores técnicos y el texto original de los registros.
Revisión de registros de verificación
Empiece por un formato compatible y distinga el primer error de los avisos repetidos. La longitud del mensaje no identifica la causa.
Pasos del ejercicio
- Abra la revisión de registros, mantenga el formato de texto etiquetado y cargue el ejemplo.
- Hay cuatro hallazgos en tres grupos. PSM-0038 aparece dos veces; el primer error está en la línea 4. Consulte los mensajes originales.
- Cambie a KLayout y recargue el ejemplo: tres registros en dos categorías, con coordenadas originales en micrómetros dentro de su celda.
- Descargue el informe y abra markers.lyrdb en el navegador de marcadores de KLayout. En un caso real, contraste con el diseño y la ejecución originales.
- Pruebe un fragmento con solo INFO, texto desconocido y XML truncado. Ninguno se declara verificación aprobada.
Resultado esperado
El ejemplo tiene 4 hallazgos etiquetados o 3 registros KLayout / 3 marcadores ponderados. El recuento no es un total de defectos tras exenciones. Se conservan etiquetas y comentarios sin aprobar exenciones.

Reproducir localmente
El script usa KLayout 0.30.12 para crear una base con marcadores sintéticos; no ejecuta reglas de fundición. Use un entorno virtual aislado y verifique con verify.py.
python3 -m venv .venv .venv/bin/python -m pip install -r requirements.txt .venv/bin/python generate_markers.py .venv/bin/python verify.py
Fuentes y versiones compatibles
Comparación del entorno PDK
Compartir el nombre del nodo no basta. Compare variante PDK, huella del manifiesto de origen, versiones y presencia de modelos antes de comparar ejecuciones.
Pasos del ejercicio
- Cargue el ejemplo. El manifiesto izquierdo es la referencia y el derecho describe otro entorno; ambos son sintéticos.
- Revise las diferencias de revisión PDK y KLayout, el modelo ausente y ngspice desconocido. Desconocido no significa ausente ni compatible.
- Sustituya la entrada derecha por observed-match.json. Los campos coinciden, pero eso no demuestra una simulación ejecutada.
- Recoja evidencia en el mismo entorno que ejecuta sus herramientas EDA. El colector solo lee el directorio elegido y versiones; no instala ni modifica PDK.
- Obtenga requisitos aprobados del responsable. Corrija el entorno, recoja de nuevo la evidencia y ejecute el diseño de referencia aprobado siguiendo las instrucciones oficiales de la herramienta.
Resultado esperado
El ejemplo da 2 diferencias, 1 archivo ausente, 1 versión desconocida y 2 coincidencias; el alineado da 6 coincidencias. pdk_revision es el SHA-256 de SOURCES, no un nombre de proceso inferido.

Reproducir localmente
Ejecute el colector con Python 3.9 o posterior en el entorno EDA y seleccione el directorio SKY130 real. Herramientas o SOURCES ausentes producen null. La presencia del modelo no prueba su carga. Siga la documentación de PDK_ROOT y versiones de su versión de OpenLane.
python3 collect_environment.py --pdk-dir /path/to/sky130A > observed.json python3 verify.py
Fuentes y versiones compatibles
Comparación del alcance de ofertas MPW
Un precio por área menor puede costar más con un mínimo facturable mayor. Separe la forma física de la muestra del alcance de prueba.
Pasos del ejercicio
- Cargue el ejemplo ficticio: 4 mm² y 20 muestras encapsuladas por oferta, con identificadores de encapsulado y prueba iguales.
- A factura 10 mm² a 100 USD/mm²; B factura 4 mm² a 200 USD/mm². La fabricación cuesta 1.000 frente a 800 USD.
- La prueba de A está vacía: solo se muestra el subtotal conocido de 1.550 USD, sin inventar un total ni clasificarlo frente a B.
- Introduzca 100 en la prueba de A: los totales de categorías son 1.650 y 1.260 USD; A − B es 390 USD.
- Cambie moneda, encapsulado, cobertura de prueba o cantidad en B. No se muestra la diferencia hasta alinear de nuevo el alcance.
Resultado esperado
A: max(4,10) × 100 + 200 + 300 + 100 + 50 = 1.650 USD. B: max(4,4) × 200 + 0 + 300 + 100 + 60 = 1.260 USD. Pruebas o exclusiones distintas aún pueden impedir una comparación de compra.

Reproducir localmente
verify.py usa Decimal de Python para comprobar los totales independientemente; el navegador usa enteros escalados exactos. Ninguno proporciona precios de proveedores ni supone un tipo de cambio.
python3 verify.py