Unterlagen zu Versuch 2
Unterlagen zu Versuch 2
Unterlagen zu Versuch 2
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Praktikum <strong>zu</strong> RgS 2 <strong>Versuch</strong>2: VHDL-VERHALTENSBESCHREIBUNG<br />
c := BIT_VECTOR( UNSIGNED(a) + UNSIGNED(b) );<br />
Die Konvertierungsfunktion<br />
BIT_VECTOR(Parameter) wandelt<br />
den Parameter in<br />
bit_vector um. Dies ist nötig,<br />
da c vom Typ bit_vector ist.<br />
Um diese Konvertierungsfunktionen verwenden <strong>zu</strong> können, müssen am Anfang der VHDL-Datei<br />
folgende Zeilen stehen:<br />
library ieee;<br />
use ieee.numeric_bit.all;<br />
Dem Entwickler stehen die anderen logischen Operationen wie or, and, not u.s.w. nach wie vor <strong>zu</strong>r Verfügung,<br />
sowie auch Abfrage- und Schleifenkonstrukte.<br />
3.3. Aufgabe 2<br />
Entwerfen Sie einen digitalen Multiplizierer nach dem oben vorgestellten Algorithmus, der zwei positive,<br />
vier-Bit-breite Zahlen im Binärsystem Multipliziert.<br />
Erlaubte Werkzeuge sind:<br />
Schleifenkonstrukte (z.B. for); [siehe oben]<br />
Abfragekonstrukte (z.B. if);<br />
if Bedingung then<br />
.....<br />
else<br />
.....<br />
end if;<br />
Stellenverschiebung;<br />
Additionsoperator im Binärsystem (+);<br />
Konvertierungsfunktionen aus ieee.numeric_bit<br />
Logische Verknüpfungen (Gatter) (or, and, not, xor ).<br />
Gehen Sie dabei wie folgt vor:<br />
2.1 Überlegen Sie sich, wie die einstellige Multiplikation im Binärsystem durch einen Vergleich des Multiplikators<br />
ersetzt werden könnte.<br />
2.2 Überlegen Sie sich, welche Breite das Ergebnis einer Multiplikation von zwei vier-Bit-breiten Zahlen<br />
erreichen kann und berücksichtigen sie dies bei der Wahl der Variablen-Breiten.<br />
2.3 Berücksichtigen Sie die Tatsache, dass nur zwei gleichbreite Zahlen binär addiert werden können.<br />
Über den Tellerrand hinaus<br />
Die Konvertierungsfunktion UNSIGNED(Parameter) wandelt den<br />
Parameter in unsigned um.<br />
Das Ergebnis der Addition(innerhalb der fettgedruckten Klammern)<br />
ist vom Typ unsigned<br />
Dieser Teil der <strong>Versuch</strong>unterlagen widmet sich den Studenten, die sich tiefer mit VHDL beschäftigen<br />
möchten.<br />
Möchte man das Rechenwerk noch ausführlicher beschreiben, so kann der Additionsoperator durch einen<br />
Volladdierer ersetzt werden, der sich – wie ja aus dem <strong>Versuch</strong> 1 bekannt ist – aus Halbaddieren<br />
<strong>zu</strong>sammensetzt.<br />
Ebenso interessant wäre, das Rechenwerk auch auf negative Zahlen <strong>zu</strong> erweitern.<br />
Universität Duisburg-Essen; Fakultät 5; Abt. IIMT; Inst. Informationstechnik (IT), Verteilte Systeme (VS) Seite 9