Existe numerosos comentarios sobre estas páginas aquí en las líneas de “¿Por qué usó un microcontrolador, cuando podría haber usado fácilmente un temporizador de 555!” Y, sí, en algunos casos estamos de acuerdo con el sentimiento, pero cuando un comentario casual visto por el usuario de Hackaday.io [Tim Böscke] sugirió darle la vuelta y construir un microcontrolador de 555 temporizadores, el guante fue bien arrojado. Ahora vamos a ser claros, esta no es la primera vez que nos hemos encontrado con esta idea, hubo una construcción basada en Breadboard 555 hace diez años, pero esta es la primera vez que lo hemos visto hecho al aprovechar la síntesis de la fuente abierta dirigida a un PCB !
El primer elemento lógico era un convertidor fácil, construido atando los pasadores de apagado y umbral juntos.
Modelo LTSPICE de una puerta NAND implementada con 555 y diodos.
Desde allí se hizo una cuestión fácil de agregar algunas redes de resistencia a diodos a la entrada, para efectuar una puerta NAND2 y una puerta NOR2. El desarrollo se aceleró un poco modelando los circuitos lógicos en LTSPICE, para encontrar la mejor combinación de valores de pieza. A partir de estos elementos fáciles, todas las funciones aún más lógicas podrían implementarse. A continuación se necesitaba un elemento de memoria. Como la suerte lo tendría, el 555 tiene un flip flip RS como parte de su circuito, alimentado por entradas de comparación dual. Todo lo que se necesitaba era sesgar la entrada de Thrs en VDD / 2 y luego alimentar los datos a través de un transistor de paso, y ¡Hola Presto! Un pestillo reparable, aunque lento.
[Tim] ha creado previamente una CPU minimalista llamada MCPU, con una mera cuatro instrucciones, desarrollada para caber en un FPGA de 32 MacRocell, así que fue capaz de reutilizar ese diseño para este proyecto. La parte divertida fue aprovechar el PCBFLOW TOULSCHAIN [TIM] mantiene, lo que implementa un flujo de síntesis de YOSYS con un backend de lugar y ruta personalizado (PNR). Se produjo un archivo de libertad que describió los circuitos (Macrocells) [TIM] quería hacer uso de, luego un script de síntesis implementó el flujo utilizando YOSYS / GHDL para elaborar el diseño, mape en la tecnología definida anteriormente, y escriba una lista de netlist. La herramienta PNR podría usar. Ayudó a Yosys, también escribe un PDF del diseño, así como un Netlist de Spice. ¡Qué herramienta!
La herramienta PNR [TIM] creada para PCBFLOW se escribió en Python, y emite el formato XML que se puede usar Eagle. Su trabajo es colocar los macrocélulas (cuadrados deliberadamente hechos) buscando el circuito físico adecuado, incluidos todos los pasivos, que los abandonan en la PCB, agregando las interconexiones y luego optimizando el diseño utilizando un recocido simulado, optimizando para la longitud mínima de trace. Creemos que el resultado es bastante resbaladizo, y el método es algo que se puede reutilizar fácilmente para otros proyectos en el futuro.
Gracias [YGDES] ¡Para enviar esto!