Halbaddierer: Verzögerung des Takts möglich?

CyborgBeta

Commander
Registriert
Jan. 2021
Beiträge
2.872
Nabend,

weiß jemand, wie hier eine Verzögerung des Takts möglich ist? Die 2 Clocks (links) liefern immer 1 TPS. Aber sie sollen 1T liefern und danach soll 3T gewartet werden, damit man die LED-Abfolge leichter erkennen kann. Mit welchen Komponenten ginge das?

1728940338106.gif
 
Also du willst dass der Addierer nur in 1 von 4 Takten etwas macht?
Dann musst du bis 4 zählen und der Takt ist nur aktiv machen wenn es gerade 4 ist.

Das sollte, wenn ich die Frage richtig verstanden habe, eine Lösung sein.
Da ich nicht weiß ob das hier Hausaufgabe oder für privat ist lass ich die Antwort auch mal so etwas offen stehen. Die Einzelteile zusammen zu bauen ist ja sowieso der Spaß. :)
 
  • Gefällt mir
Reaktionen: CyborgBeta
Danke. 😅 Das ist eigentlich, mehr oder weniger, ein Spiel, welches man auch bei Steam kaufen kann - weniger eine Hausaufgabe... Ich kann morgen mal die Komponenten alle aufzählen, die ich verwenden kann, nun schlafe ich schon. Aber, von 0 bis 3 zählen, klingt plausibel!
 
Habs herausgefunden. Neben der Clock (die im Übrigen auch konfigurierbar ist ...) gibt es auch einen Timer, der zum Beispiel 1 Sekunde an und aus ist ... muss das nur noch irgendwie mit 1/4 herausfinden?

1728955285853.png
 
Ok, wenn es nur ein Spiel ist:

Ein Zähler (Counter) ist eigentlich nur ein Addierer, den du auf sich selbst zurück koppelst mit festem Eingang 1 (Wert).
Kommt nun nur noch drauf an ob du einen Bus (mehrere Bits) oder nur 1 Bit hast).
 
  • Gefällt mir
Reaktionen: CyborgBeta
Ok, wie müsste der Addierer aufgebaut werden? Und einen Bus gibt es auch.

1728977461471.png


1728977575845.png


Die Clock sendet zum Beispiel 1 TPS. Ich kann aber auch eine zweite Clock nehmen, die 4 TPS hat (ticks per second).
Ergänzung ()

Eine Frage noch ... Hier ist die Clock (rot, ganz links) auf 4 TPS eingestellt:

1728978961282.gif


Das ist schon das, was ich wollte ...

Aber, wenn man sich die Abfolge der LEDs (oben und mittig) anschaut, dann leuchtet erst die Eingabe, danach auch das Ergebnis, und dann geht erst die Eingabe aus und danach das Ergebnis (das Ergebnis ist also noch länger an).

Wie bekomme ich es hin, dass die Eingabe und Ergebnis gleichzeitig ausgehen, also dass die Eingabe etwas länger leuchtet? Mit einem Buffer?
 
Zuletzt bearbeitet:
Bei dem Spiel erkenne ich leider nix. ;)

Ein Zähler der bis 4 zählt und nur in einem Takt auslöst sollte jedenfalls so aussehen:

Die Clock hab ich jetzt mal weggelassen bei den Eingängen. Der erste Addierer ist effektiv ein Halbaddierer, da Carry immer auf 0 liegt.

Keine Garantie dass alles stimmt, ich mach nicht jeden Tag Logikbilder. ;)

1729026656882.png
 
  • Gefällt mir
Reaktionen: dasBaum_CH und CyborgBeta
Hab es hinbekommen, es war sogar eigentlich recht simpel ...

Hier der 2-Bit-Adder mit Xor und And:

1729057711788.gif
 
Wenn dir Logik bauen Spaß macht kannst du dir übrigens auch ein FPGA Dev Board besorgen.
Das Gatternetz, zum Programmieren, erstellen kann man auf verschiedene Weisen, es gibt auch Möglichkeiten das per Blockdiagramm zu machen, also im Prinzip so wie in deinem Spiel.

Also das ist gar nicht so weit von echter Hardware weg. :)
 
  • Gefällt mir
Reaktionen: CyborgBeta
Ich bin noch dabei, einen Bus zu verstehen (space optimization) 😅

Aber ja, später brauche ich das für eine Klausur ... Strom, Kabel, Coulomb (Amperesekunde), Volt-/Ampere-Meter, Buffer, Transistor, A-/D-Wandler und Assemblerprogrammierung 😬 (also bare metal)

Mal schauen, ob mir das dabei helfen könnte. Hatte Physik abgewählt, und das rächt sich nun.
 
Ein Bus ist einfach ein Signal was aus mehreren Leitungen/Bits besteht.

Wenn deine Zahl 8 Bits hat, dann ist es einfach nur nervig wenn du jetzt 8 Leitungen Z0-Z7 zeichnest, die fasst man dann einfach zusammen.

So viel Physik brauchst du am Ende auch nicht wirklich und Logik ist reine Mathe/Elektrotechnik.
Am Ende kannst du dir auch alles wie eine Autobahn oder Wasserleitung vorstellen:

Potentiale sind Stauseen.
Strom ist Wassermenge
Spannung (Potentialdifferenz) ist Wasserdruck in der Leitung.

Und wenn man etwas bewegen muss (Kapazitäten umladen) dann kostet das Arbeit und erzeugt Verluste. :)

Wenn du Logikgrundlagen machen willst, schau dir mal Karnaugh Diagramm an und wie man Schaltungen so vereinfacht. Und davor natürlich Logiktabellen.
 
  • Gefällt mir
Reaktionen: CyborgBeta
Zurück
Oben