RT-Ebene Datenpfad Verständnisfrage

Neue Frage »

Auf diesen Beitrag antworten »
deppensido RT-Ebene Datenpfad Verständnisfrage

hallo,

der Datenpfad im Anhang berechnet die Fakultät einer Zahl, wobei 0! = 1 gilt. Das Problem ist, dass ich die Logik des Datenpfades nicht folgen kann. Nur soviel dass der Subtrahierer eine Schleife realisiert und a, b multipliziert werden. Wie muss man logisch bei sowas vorgehen um den Datenpfad zu realisieren? Und wie kann man bei einem vorgegeben Datenpfad erkennen, was dieser tut?

Vielen Dank im voraus.

PS: Sorry, dass ich momentan so viele Fragen poste, aber am 01.08 ist schon meine Klausur
 
Auf diesen Beitrag antworten »
eulerscheZahl

Viel Glück und vor allem Erfolg bei deiner Klausur!

Grobe Funktionsweise: b zählt von n runter auf 1, in a steht das Produkt von n, n-1, n-2, ... b+1. Dann wird a mit b multipliziert, b dekrementiert.
Was mir auch nicht klar ist: wie funktioniert der Abbruch? Oder setzt select_b die 0 immer auf 1, sodass nicht abgebrochen wird?

Ich habe dir ein paar Eingänge ergänzt und auf den rechten 3 Bildchen die Fakultät von 3 berechnet.

Edit: ach ja, die allgemeine Vorgehensweise: Wo ist der Eingang und was passiert mit ihm (Leitungen verfolgen).
Hier: es gibt einen Dateneingang, der führt auf select_b (dessen Funktionsweise ich leider nicht in Gänze verstanden habe), das gibt den Dateneingang weiter an Multiplizierer und Subtrahierer. Der Subtrahierer zieht 1 ab und gibt das Ergebnis zurück auf select_b. Hier gibt es also eine Schleife, in der heruntergezählt wird.
Der Multiplizierer hat noch einen 2. Eingang, der von select_a auf 1 gesetzt wird. Das Produkt wird dann auf select_a geführt.
Auf diesen Beitrag antworten »
deppensido

hallo,

erstmal danke für die Erläuterung. Es ist nun einiges klarer.
Im Anhang sind die Funktionsweisen der Kontrollpunkte beschrieben.
Bei den Blöcken, an den select_a, select_b ist, handelt es sich um Multiplexer.

Grüße
Auf diesen Beitrag antworten »
eulerscheZahl

Dann vermisse ich da etwas, um die Multiplikation mit 0 zu verhindern, etwa einen weiteren Multiplexer am Ausgang von b, der entweder b oder 1 ausgibt (z.B. durch Komparator als Steuereingang).
 
Auf diesen Beitrag antworten »
deppensido

dem Automaten zufolge (Anhang), wird das Ergebnis ausgegeben (en-outbus), wenn b=0 oder b=1 gilt. Würde das nicht die Multiplikation mit 0 verhindern? Vielleicht muss man im Datenpfad selber nicht alle Möglichkeiten abfangen und macht das dann erst im Automatenentwurf.

Grüße
Auf diesen Beitrag antworten »
eulerscheZahl

Jetzt ist es klar (auch die Abbruchbedingung), keine weiteren Einwände mehr.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »