Este artículo relata la experiencia de un desarrollador al construir una CPU personalizada (WCPU-1) a partir de un diseño previamente simulado en Logisim-Evolution. El objetivo era validar el diseño y el cableado antes de crear una placa de circuito impreso (PCB) definitiva. La construcción física resultó ser mucho más desafiante de lo esperado, revelando una serie de problemas que las simulaciones no pudieron predecir.
Inicialmente, el plan era utilizar principalmente tecnología de montaje superficial (SMT), pero debido a la necesidad de prototipado y la dificultad de usar SMT en protoboards, se optó por una combinación de protoboards y PCBs personalizadas. Se encargaron tres PCBs: una para programar EEPROMs (con un protocolo serial personalizado implementado con Arduino y Python), una placa genérica de registros (utilizando un flip-flop 74HC377 y un transceptor 74HC245 para compartir bus), y una placa de control para los microcode ROMs.
La placa de programación de EEPROMs, aunque funcional, se vio limitada por la conexión de los pines de control a través de registros de desplazamiento, lo que ralentizó el proceso de escritura. La placa de registros resultó ser un éxito, aunque el autor sugiere usar el 74HC574 en futuras iteraciones para simplificar el diseño. La placa de control, sin embargo, presentó numerosos problemas: errores de envío, inversión de pines (CE), falta de condensadores de desacoplamiento, pines de habilitación de salida y escritura flotantes, y la desafiante tarea de instalar 36 LEDs al revés. A pesar de estos contratiempos, la placa finalmente funcionó.
La experiencia resaltó la importancia de considerar aspectos prácticos que no se simulan fácilmente, como la calidad de los flancos de reloj (que requirió un Schmitt Inverter para mejorar) y la necesidad de tener componentes DIP disponibles para facilitar el prototipado. El autor también comparte sus experiencias con PCBWay, incluyendo problemas de envío y calidad. En resumen, el proyecto fue una valiosa lección sobre las diferencias entre la simulación y la realidad en la construcción de hardware, enfatizando la importancia de la paciencia, la resolución de problemas y la disposición a aprender de los errores.
