Implementieren einer CPU mit 555 Timer und Logic Synthesis

Es gibt zahlreiche Kommentare auf diesen Seiten in den Zeilen von “Warum haben Sie einen Mikrocontroller verwendet, wenn Sie einfach einen 555-Timer verwenden können!” Und ja, wir stimmen in einigen Fällen mit dem Gefühl überein, aber wenn eine zufällige Kommentar von Hackaday.IO des Benutzers angeht Nun, lass uns klar sein, das ist nicht das erste Mal, dass wir auf diese Idee stoßen, es gab vor zehn Jahren ein Breadboard 555 basierender Build, aber dies ist das erste Mal, dass wir es gesehen haben, indem wir es getan haben, indem wir die Open-Source-Synthese mit einer Leiterplatte genutzt haben Schnitte

Das erste Logikelement war ein einfacher Wechselrichter, der durch Bindung der Ab- und Threshold-Pins zusammengebaut wurde.

LTSPICE-Modell eines NAND-Gates mit 555 und Dioden implementiert
Von dort war es ein leichter Angelegenheit, ein paar Diodenwiderstandsnetzwerke an den Eingang hinzuzufügen, ein NAND2-Gate und ein Nor2-Gate zu bewirken. Die Entwicklung wurde ein wenig beschleunigt, indem die Logikschaltungen in LTSPICE modelliert werden, um die beste Kombination von Teilwerten zu finden. Von diesen einfachen Elementen könnten alle noch mehr Logikfunktionen implementiert werden. Als nächstes wurde ein Speicherelement benötigt. Da das Glück es haben würde, hat der 555 einen RS-Flip-Flop als Teil seiner Schaltung, der von Dual-Komparator-Eingängen gespeist wird. Alles, was benötigt wurde, war, den Thre-Eingang bei VDD / 2 vorzunehmen und dann die Daten durch einen Passtransistor zu füttern, und Hallo Presto! Eine gewünschte, wenn auch langsame Verriegelung.

[TIM] hat zuvor eine minimalistische CPU namens McPu erstellt, mit nur vier Anweisungen, die für ein 32-Makrozell-FPGA entwickelt wurden, so dass das Design dieses Projekts für dieses Projekt wiederverwenden konnte. Der lustige Teil bestand darin, den PCBFLOW-Toolkindel [TIM] zu nutzen, der sich beibehält, was einen Yosys-Synthesestrom mit einem benutzerdefinierten Ort und einem PNR-Backend (PNR) implementiert. Es wurde eine Liberty-Datei beschrieben, in der die Schaltkreise beschrieben werden. PNR-Tool könnte verwenden. Hilfsbereitlich schreibt Yosys auch ein PDF des Designs sowie eine Gewürznetze. Was für ein Werkzeug!

Das für den PCBFlow erstellte PNR-Tool [TIM] wurde in Python geschrieben und gibt das XML-Format aus, das Eagle verwenden kann. Seine Aufgabe besteht darin, die Makrozellierungen (absichtlich hergestelltes Quadrat) zu platzieren, indem sie den geeigneten physischen Kreislauf aufnimmt, einschließlich aller Passive, in die Leiterplatte fallen und die Verbindungsverbindungen hinzufügen und dann das Layout mit dem simulierten Glühen optimieren, optimieren, um eine minimale Spurenlänge zu optimieren. Wir glauben, dass das Ergebnis ziemlich glatt ist, und die Methode ist etwas, das in Zukunft leicht für andere Projekte wiederverwendet werden kann.

Danke [ygdes] zum Senden dieses in!

Leave a Reply

Your email address will not be published. Required fields are marked *