Hallo alle Zusammen, kann mir jemand weiter helfen wie ich für ein Addition Aufgabe mit übertrag einen VHDL Codee für die Aufgabe. Die im Anhang ist lösen kann.. Danke im vorras Lg
Ja ähm ... was kannst Du denn schon? Wie die binäre Addition funktioniert ist Dir bekannt? Hier kann man schön 1Bit Volladdierer verwenden.
danke für deine Rückmeldung, lang ist es her, dass ich mit VHDL gearbeitet habe.. eine Musterlösung wäre genau das Richtige für die Aufgabe..das ich mich anhand dieser es mir selbst erklärend beibringen kann.. für jegliche Hilfe bin ich dankbar lg
Also Musterlösung habe ich nicht, aber wenn man nach VHDL und Moore sucht findet man doch erstaunlich viel, sogar Code, z. B. hier: https://www.altera.com/support/support-resources/design-examples/design-software/vhdl/vhd-state-machine.html
Man könnte die gestellte Aufgabe lösen, indem man eine FSM macht, die 1.-5 die Bitreihenfolge "einsammelt" und "hinsortiert", dann 2. die Addition mit einem "üblichen" Addierer macht und 3. die Bitreihenfolge wieder "umdreht". Aufgabe vollumfänglich gelöst. Gewünscht ist aber (auch wenn es aus der Aufgabenbeschreibung nicht hervorgeht) vermutlich ein Automat, mit dem der Vektor bitweise druchgenudelt und die Addition mitsamt Übertrag bitweise durchlaufen wird. Prinzipiell fehlen mir in der Aufgabe aber sämtliche Synchronisationsmechanismen zur Aussenwelt: wann beginnt die Übertragung, wann ist ein Ergebnis gültig? Gustl B. schrieb: > Hier kann man schön 1Bit Volladdierer verwenden. Und der Witz: es reicht 1 einziger Volladdierer, weil ja eine FSM verwendet werden muss... Mir ist nicht ganz klar, warum ich für einen Addierer einen Automaten brauche. Ein Addierer ist generell ein kombinatorisches Konstrukt. Also ist das mal wieder so ein unnötiges akademisches Spielzeug, das nur zum unnötigen Hirnverwinden taugt...
Lothar M. schrieb: > Prinzipiell fehlen mir in der Aufgabe aber sämtliche > Synchronisationsmechanismen zur Aussenwelt: wann beginnt die > Übertragung, wann ist ein Ergebnis gültig? Ende ist wenn zweimal Null reinkommt glaube ich. Lothar M. schrieb: > Und der Witz: es reicht 1 einziger Volladdierer, weil ja eine FSM > verwendet werden muss... Stimmt. Wobei ... wieso eine FSM wenn man einfach in jedem Takt addieren könnte? Die Aufgabe ist eher schlecht. Ich hatte für sowas einen binären Multiplizierer als Aufgabe gestellt der nur mit Additionen und Schiebeoperationen gelöst werden darf und natürlich auch eine Art einfachen Handshake besitzt (Data Valid und Multiplizierer busy). Man sieht aber oft, dass keine Mühe in gute und auch sinnvolle Aufgaben gesteckt wird, das ist nämlich auch Arbeit sich Aufgaben auszudenken und vor allem diese selber vorher zu lösen (da entdeckt man oft Unzulänglichkeiten).
Gustl B. schrieb: > Ende ist wenn zweimal Null reinkommt glaube ich. Geht nicht, weil ja mitten drin das gelbe Bitmuster auch "00" ist. Diese Randbedingung "Ende mit 00" hat der Aufgabensteller nur deshalb eingefügt, dass der Eingangsvektor und der Ergebnisvektor hinreichend und gleich breit ist. Vermutlich ist er bei seiner Musterlösung selber drüber gestolpert... > Man sieht aber oft, dass keine Mühe in gute und auch sinnvolle Aufgaben > gesteckt wird Und besonders welche, wo man auch was lernt.
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.