Hallo! Ich habe hier eine schöne Aufgabe, die ich in VHDL machen soll. Kann mir jemand einen Tipp geben, wie ich dabei vorgehen soll. Ich weiß zwar wie ein Mittelwert berechnet wird, jedoch nicht genau wie es in VHDL gemacht wird. Der IP-Core FILT_IP stellt einen Hardware Beschleuniger dar, der über ein AXI4-Lite Slave-Interface Daten einer Größe von insgesamt 256 Bit vom Prozessor bekommt, über die der Mittelwert (bezogen auf jeweils 8 Bit) berechnet und anschließend per Slave-Register zurück gelesen werden soll. Der Hardware Beschleuniger arbeitet vollsynchron auf die steigende Taktflanke des Clock-Signals getriggert und macht Gebrauch von einem low-active Reset Signal, um das Ergebnis zurückzusetzen. Vervollständigen Sie das auf der nächsten Seite gegebene VHDL-Gerüst gemäß der beschriebenen Funktionalität.
:
Bearbeitet durch User
Smile N. schrieb: > Ich weiß > zwar wie ein Mittelwert berechnet wird, jedoch nicht genau wie es in > VHDL gemacht wird. Die Frage ist erstmal gar nicht, wie Du das in VHDL machst, sondern welche Hardware-Blöcke für den Algorithmus gebraucht werden. Das sind ganz offenbar: * eine Stufe zur Addition * eine Div-by-8 Stufe * ein Reset Den Ablauf der einzelnen Schritte steuert man mittels Finite State Machine (FSM). Bei der Addition ist noch die benötigte Wortbreite zu beachten. Dann hängt die zu wählende Implementierung noch von der max. zulässigen Ausführungsdauer (Anzahl Zyklen) ab. 8 Werte aufaddieren kann man immer in 7 aufeinanderfolgenden Einzelschritten - oder deutlich schneller mittels "Pipelining". (Wieviel Zeit Dir zur Verfügung steht, sagt Deine Anforderung nicht.)
Ich frage mich, wo hier die "Beschleunigung" sein soll. Eine derartige "IP" per AXI-Slave anzubinden, ist wohl das umständlichste was man sich ausdenken kann, um einlaufende Daten zu filtern. Das ist eine Massive Bremse. Und so, wie das oben rechts vorgestellt wird, geht das schon mal gar nicht. Es würde ein Block benötigt, der linksseitig ein AXI-lite-IF hat.
Typische bescheuerte Schulaufgabe. Die erste Seite ist nichtssagender Blah damit es beeindruckend aussieht. Die zweite Seite mit dem Gerüst, was er wirklich machen soll und irgendwo im Text versteckt noch ein paar Details. Ich vermute, er soll einfach 32 Bytes parallel entgegennehmen und den Mittelwert davon zurückliefern. Fertig. Ob man sowas je braucht ...
foobar schrieb: > Ob man sowas je > braucht ... Ja, um zu zeigen, wie man mit der CPU interagiert. Das ist wie die Geschichte, wo aus half adder und full addern ein größerer Addierer gebaut wird: steht in jedem Digitallehrbuch, aber wird in der Realität so nie gebraucht. Duke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.