11.10.2013 Aufrufe

Unterlagen zu Versuch 2

Unterlagen zu Versuch 2

Unterlagen zu Versuch 2

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!