Un Netlist es un archivo de texto puro que actúa como traductor entre el Esquemático (Eeschema) y el Editor de Placas (Pcbnew). Contiene dos listas fundamentales:
CTRL_VALVULA. Este cable conecta el Pin 1 de R1 con el Pin 5 de U1".Nota moderna: En versiones antiguas de KiCad debías exportar un archivo .net manualmente. En KiCad moderno (v6+), esto se hace con un solo botón: "Update PCB from Schematic" (F8). Aunque ocurre invisiblemente en la memoria RAM, el concepto del Netlist sigue siendo el motor subyacente.
Cuando presionas F8 (Update PCB) y pasas al editor de placas, todos tus componentes aparecerán amontonados en una esquina. Verás cientos de líneas blancas, delgadas y rectas cruzándose entre sí. Esas líneas se llaman Airwires (Hilos de aire) y conforman el Rat's Nest.
Un Airwire no es un cable físico; es una "liga elástica virtual" originada en el Netlist. Te recuerda: "Oye, en el esquemático dijiste que el Pin 5 de U1 va al Pin 1 de R1. Así que dibuja una pista de cobre aquí". A medida que dibujas el cobre real, los Airwires desaparecen. Tu objetivo como diseñador de PCB es eliminar todos los Airwires.
Ejercicio 1: En proyectos industriales grandes, el diseñador de Hardware y el ingeniero de Firmware a veces son personas distintas. Analicemos cómo la anatomía del archivo Netlist dicta directamente la estructura de tus archivos de cabecera en C para evitar que el Súper Bucle actúe sobre pines equivocados.
/*
* LA ANATOMÍA DEL NETLIST (Lo que generó KiCad):
*
* (net (code 42) (name "ALERTA_VISUAL_BJT")
* (node (ref U1) (pin 13)) --> Microcontrolador STM32, Pin 13
* (node (ref R5) (pin 1)) --> Resistencia de Base del Transistor
* )
*
* Si observas, el Netlist no dice "Puerto C, Pin 13", solo dice "Pin 13" del
* empaquetado físico (LQFP-64). El ingeniero de Hardware eligió ese pin porque
* físicamente quedaba más cerca del transistor en la placa para rutar el cobre.
*/
// ============================================================================
// ARCHIVO: bsp_hardware.h (Board Support Package)
// ============================================================================
#ifndef BSP_HARDWARE_H
#define BSP_HARDWARE_H
#include <stdint.h>
// El Firmware DEBE hacer "traducción" del Netlist físico al Silicon Interno
// El Pin físico 13 en un LQFP-64 corresponde lógicamente a PC13 en el STM32.
#define PUERTO_ALARMA_BJT GPIOC
#define PIN_ALARMA_BJT 13 // Físicamente ligado al Net "ALERTA_VISUAL_BJT"
// Macros de control directo Bare-Metal O(1)
#define ALARMA_ENCENDER() (PUERTO_ALARMA_BJT->BSRR = (1 << PIN_ALARMA_BJT))
#define ALARMA_APAGAR() (PUERTO_ALARMA_BJT->BSRR = (1 << (PIN_ALARMA_BJT + 16)))
#endif // BSP_HARDWARE_H
// ============================================================================
// ARCHIVO: main.c
// ============================================================================
#include "bsp_hardware.h"
int main(void) {
// Inicialización
// GPIO_Init_Salida(PUERTO_ALARMA_BJT, PIN_ALARMA_BJT);
while(1) {
// En el Día 65 hicimos esto.
// Ahora entendemos la cadena completa:
// CÓDIGO C -> GPIO_BSRR -> PIN FÍSICO 13 -> PISTA DE COBRE (Ruteada)
// -> RESISTENCIA 1K -> BASE DEL BJT -> TORRETA ESTROBOSCÓPICA DE 24V.
// ALARMA_ENCENDER();
}
return 0;
}
Objetivo del día: Sincronización del Diseño Físico con las Reglas Esquemáticas.
Al oprimir F8 en KiCad, has importado todo tu despachador a la placa virtual oscura de Pcbnew. Verás el STM32 de 64 pines, el módulo Wi-Fi ESP32, los transistores TO-252 del LDO y los MOSFETs de las válvulas. Verás miles de líneas cruzadas (el Nido de Ratas).
Este momento es crítico: el Netlist ha fijado las reglas. Si intentas dibujar una pista de cobre entre un pin de Tierra (GND) y la línea de 24V de potencia (VCC), Pcbnew no te dejará hacerlo. El DRC (Design Rules Checker) de la placa lee el Netlist en tiempo real y bloquea tu cursor para protegerte de causar un cortocircuito físico. Tu placa ya no es solo un dibujo; tiene leyes físicas y eléctricas inquebrantables embebidas en el software.
1. Al importar a PCB, notas que tu STM32 y tus conectores están amontonados. Decides que el Pin 5 ya no te sirve porque cruza toda la placa, y sería mejor usar el Pin 10. ¿Puedes simplemente borrar el Airwire en Pcbnew y dibujar una pista hacia el Pin 10?
Respuesta: ¡No! Pcbnew te bloqueará y te dará un error de DRC. El editor de placas es "esclavo" del Netlist. Si quieres cambiar el Pin 5 al Pin 10 (técnica conocida como Pin Swapping), debes cerrar Pcbnew, regresar a Eeschema, cambiar la conexión lógica ahí, volver a oprimir F8 para actualizar el Netlist, y entonces Pcbnew redibujará el Airwire hacia el Pin 10. Siempre manda el Esquemático.
2. ¿Qué significa el comando (node (ref "U1") (pin "5")) dentro de un bloque (net) en el archivo de texto Netlist?
Respuesta: Es la instrucción topológica. Le dice al software: "Agrega el Pad número 5 de la huella física llamada U1 a esta red eléctrica". Cualquier otro node listado dentro de ese mismo bloque net estará eléctricamente unido a él mediante un Airwire, obligándote a rutarlos juntos con cobre para que compartan exactamente el mismo voltaje.