Entwerfen Sie das VHDL-Programm für die Rechenoperation mit den
Polynomen g2(x) = x^9 + x^6 + x^1 + 1 and g1(x) = x^7+x^6+x^5+x^3)
Gehen Sie bei dem Entwurf davon aus, dass der Nutzer vor Beginn der
Berechnung über einen Taster ein RESET – Signal eingibt. Danach werden
vom Nutzer exakt die Anzahl der benötigten Takte über einen weiteren
Taster eingegeben.
Der Vektor ERGEBNIS kann während der Berechnung mit dem Ergebnis gefüllt
werden. Wichtig ist, dass am Ende der Rechenoperation, also nach dem
letzten Takt, das Ergebnis vollständig und stellenrichtig (MSB links,
LSB rechts) im Vektor ERGEBNIS vorliegt.
Damit die Schreibarbeit in Grenzen gehalten wird, sind nachfolgende
VHDL-Programmzeilen bereits gegeben
kann jemand bitte helfen
meine Lösung :
Sa S. schrieb:> Damit die Schreibarbeit in Grenzen gehalten wird, sind nachfolgende> VHDL-Programmzeilen bereits gegeben
Welche waren das denn?
> meine Lösung ...> kann jemand bitte helfen
Wobei helfen? Was funktioniert denn nicht und wie stellst du das fest?
Was erwartest du und was passiert stattdessen?
Jele D. schrieb:> sonst scheint es richtig zu sein
Naja, die "Hochkommas" sehen eigenartig aus. Man sollte den Sourcecode
nicht über Word editieren, denn da wird aus '0' auf einmal ‚0‘.
Und die Zuweisung an das ERGEBNIS ist auch irgendwie seltsam.
R(7 downto 1) ist auch nicht sinnvoll, wenn R mit (6 downto 0)
deklariert ist...
Fällt niemand das ungetaktete Signal im Prozess auf?
Sowas macht man seit 20 Jahren nicht mehr!
In FPGAs mit ihrer CLK-Struktur sollten Signale und auch Reset IMMMMER
getaket sein.
VHDL-Polizei schrieb im Beitrag #7303506:
> Fällt niemand das ungetaktete Signal im Prozess auf?
Da ist doch ein Takt. Nur wird der Takt halt kindergartenmäßig von einem
Taster generiert. Und der Reset als taktsynchron angenommen. Im
Simulator "funktioniert" das schon ausreichend gut.
Das ist doch die übliche Beschreibung für einen asynchronen Reset. Ist
auch Teil der Aufgabe, denn das ist kein kontinuierlicher Takt sondern
zuerst ist der Reset einmal aktiv und danach kommen nur eine feste
Anzahl an Taktflanken.
Ja nun, im Grunde läuft das wie bei
Beitrag "VHDL polynom-Multiplikation"
Im Anhang mal das Bildchen und auch ein Screenshot der Simulation. Meine
Beispiellösung aus dem anderen Thread kann man sehr einfach so anpassen,
dass die zu den Polynomen hier passt. Ob man g1 oder g2 in Hardware
schreibt und dann g2 oder g1 daran vorbeischiebt ist egal.
Gustl B. schrieb:> Meine> Beispiellösung aus dem anderen Thread kann man sehr einfach so anpassen,
Anbei eine Adaption der Testbench auf die Aufgabenstellung und
Industriestandards bzgl Zählrichtung und identifier Benamung.
Wegen der schlechten Dokumentation der Testbench haben sich sicher ein
paar funktionale Fehler eingeschlichen.
Xaver Xanthus schrieb:> eine Adaption der Testbench auf die Aufgabenstellung
Leider eben nicht. Die Aufgabenstellung gibt da Polynome vor, die sehe
ich nicht im Code. Der/Die Aufgabensteller geben die Namen der Ports
vor, da sind Standards egal, Richtungen kann auch der Aufgabensteller
vorgeben.
Versuche das doch zu simulieren, das geht einfach und man sieht schnell
die Fehler. Welches Ergebnis am Ende im Vektor stehen sollte ist doch
jetzt auch klar. Was für mich noch unklar ist die Anzahl der Takte.
Eigentlich würde ich da Summe der Polygonlängen erwarten, also 10 + 8 =
18. Da aber bei dem einen Polygon die letzten 4 Stellen konstant 0 sind
könnten es auch nur 10 + 4 = 14 Takte sein. So habe ich das im Bildchen
behandelt.
Sa S. schrieb:> Entwerfen Sie das VHDL-Programm für die Rechenoperation mit den> Polynomen
Bei der Aufgabenstellung fehlt die Nebenbedingung, dass es sich um ein
binäres Polynom handelt. Sollte das so sein, also X immer 0 oder 1, kann
man das so linear durcharbeiten, wobei ich nicht sehe, wieso da 2
Gleichungen auftauchen, wie die zu behandeln wären und wie sie hier
behandelt wurden.
Sollte das nicht so sein, braucht es Multiplizierer.
Und man müsste fragen, wo hier die "Division" auftauchen soll.
Ich nehme an g2(1) / g1(x) ...
Jürgen S. schrieb:> Sa S. schrieb:>> Entwerfen Sie das VHDL-Programm für die Rechenoperation mit den>> Polynomen>> Bei der Aufgabenstellung fehlt die Nebenbedingung, dass es sich um ein> binäres Polynom handelt.
Da fehlt noch einiges mehr. Beispielsweise wird da von VHDL-Templates
gesprochen, die sich dann doch nicht finden lassen. Aber bis jetzt hat
der TO wie ein uninspirierter Troll keinerlei Details nachgereicht.
Mglw. ist er ja mit der Beseitigung des groben Unfugs aus seinem Code
zufrieden und hat sich bzgl. des allgemeinen Aufgabenverständnisses an
den Übungsleiter o.ä. gewandt.
> wobei ich nicht sehe, wieso da 2> Gleichungen auftauchen, wie die zu behandeln wären und wie sie hier> behandelt wurden.
Ja, da kann man nur raten. Wenn das Ganze einen Praxisbezug haben
sollte, tippe ich auf CRC-Berechnung für die Nachrichtenübermittlung
oder ähnliches.
> Sollte das nicht so sein, braucht es Multiplizierer.
Da gibt es tausende Varianten. Ich nehme an, da es sich um serielle
Daten Handelt so dass es auf ein Schieberegister mit taps hinausläuft.
Lothar M. schrieb:> Nur 1 Username pro Thread!>> Siehe die simplen und leicht zu verstehenden Nutzungsbedingungen
Die sind aber lückenhaft, bedienen sich einer anderen Begrifflichkeit
und tragen nachweislich nicht zur Erhöhung der inhaltlichen Qualität
bei.
Dort steht nix von 1 Usernamen pro Thread sondern
"Teilnahme an einer Diskussion unter verschiedenen Namen/Accounts"
"Diskussion ungleich Thread" und "Username ungleich Account".
Und bei technischen Diskussionen zählt die Argumentation auf Basis
technischer Begrifflichkeit. Was da im jeweiligen Namensfeld steht ist
scheissegal. Klar kann der Mod kraft seine Wassersuppe aus formalen
Gründen Inhalt/Ratschläge weglöschen, so machen es auch den
Grundschullehrer die den Klassenbesten wegen schlechter Handschrift den
Aufsatz mehrmals schreiben lassen nur um sich vorzugaukeln sie würden
immer noch intellektuell donieren.
Kommt aber bei der Klasse als reiner Affenzirkus an, und vertreibt die
des Inhalts wegen hier mitschreiben.
Schon mal selbstkritisch hinterfragt, warum hier immer wieder accounts
mit hunderten wertvollen Beiträgen von den Account-inhabern gelöscht
werden?!
Lars Lapsus schrieb:> Dort steht nix von 1 Usernamen pro Thread sondern> "Teilnahme an einer Diskussion unter verschiedenen Namen/Accounts"> "Diskussion ungleich Thread" und "Username ungleich Account".
Hauptsache, du hast es prinzipiell verstanden.