In dieser Frage wird eine Zuordnung zwischen EBCDIC und einer Obermenge von ISO-8859-1 definiert.
Ihre Aufgabe besteht darin, ein Netzwerk von NAND-Gattern mit zwei Eingängen aufzubauen, das acht Eingänge A1, A2, A4, ..., A128
für ein EBCDIC-Zeichen und acht Ausgänge B1, B2, B4, ..., B128
für das entsprechende "ISO-8859-1" -Zeichen gemäß dieser Zuordnung verwendet.
Zur Vereinfachung können Sie in Ihrem Diagramm UND-, ODER-, NICHT- und XOR-Gatter mit den folgenden entsprechenden Bewertungen verwenden:
NOT: 1
AND: 2
OR: 3
XOR: 4
Jede dieser Bewertungen entspricht der Anzahl der NAND-Gatter, die zum Aufbau des entsprechenden Gatters erforderlich sind.
Die Logikschaltung, die die wenigsten NAND-Gatter verwendet, um alle oben genannten Anforderungen korrekt zu implementieren, gewinnt.
quelle
309 NANDs
Eine wirklich geringe Lösung für die Anzahl der NANDs, aber ich kann noch tiefer gehen. Man muss nur irgendwann irgendwo anhalten, und 309 scheint dafür gut zu sein. (Ich habe später tatsächlich 308 NANDs erreicht, bin dann aber auf eine Art Barriere gestoßen.)
Diesmal kein mit Bleistift gezeichnetes Bild der Schaltung. Vielleicht später, wenn ich eines Tages zu diesem Problem zurückkehre und in dem immer dichter werdenden Dickicht falscher Schaltkreise auf eine Unterkante stoße.
Die Schaltung wird in offensichtlichem Verilog-Code dargestellt, der mit eingeschlossenem Test betriebsbereit ist.
Verilog-Code:
quelle