14. Addierer und Subtrahierer - users.etech.haw

Transcrição

14. Addierer und Subtrahierer - users.etech.haw
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
14 Addierer und Subtrahierer
14.1 Darstellung positiver und negativer Zahlen
• Die Anzahl der Bitstellen muss festgelegt sein, um positive und negative Zahlen unterscheiden zu
Binär
m -1 = 3
0 000
0 001
0 010
0 011
0 100
0 101
0 110
0 111
Positiv
Dezimal
Vorzeichen Zweieru. Betrag Komplement
0
1
2
3
4
5
6
7
+0
+1
+2
+3
+4
+5
+6
+7
+0
+1
+2
+3
+4
+5
+6
+7
Binär
m -1 = 3
1 000
1 001
1 010
1 011
1 100
1 101
1 110
1 111
Positiv
Dezimal
Vorzeichen Zweieru. Betrag Komplement
8
9
10
11
12
13
14
15
-0
-1
-2
-3
-4
-5
-6
-7
-8
-7
-6
-5
-4
-3
-2
-1
können.
DIGITALTECHNIK
14-1
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Das Zweierkomplement (I)
• In der Binärdarstellung existiert kein Vorzeichen „-“. Daher wird die eine Hälfte des Zahlenvorrats
für positive und die andere Hälfte für negative Zahlen reserviert.
• Nur in der Zweierkomplementdarstellung ist jede Zahl eindeutig (auch die Null) darstellbar. Die
Zweierkomplementdarstellung wird auch in Mikroprozessoren für arithmetische Operationen gewählt.
• Die Subtraktion läßt sich auf die Addition zweier Zahlen im Zweierkomplement zurückführen.
• Zweierkomplementdarstellung der negativen Zahlen:
Sei
z
:
Negative Zahl
*
:
Betrag |z| der negativen Zahl z
z
zp :
Positive Zahl
Dann gilt die Zweierkomplementregel für m-stellige Zahlen und Radix 2:
C(z)
Komplement
+ Betrag
+ z*
m
R
maximal darstellbare Zahl + 1 (außerhalb des Zahlenbereichs)
DIGITALTECHNIK
14-2
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Das Zweierkomplement (II)
-Rm
2
z
0
*
z
Rm
2
C(z) = Rm - z
C(z)
Rm
*
Ein echtes Komplement wird durch nicht überlappende Zahlenbereiche beschrieben:
(z.B. für m=3)
Negative Zahlen:
Positive Zahlen:
Zweierkomplement:
-Rm-1 ≤ z < 0
0 ≤ zp ≤ Rm-1 - 1
Rm-1 ≤ C(z) < Rm
DIGITALTECHNIK
-8 ≤ z < 0
0 ≤ zp ≤ 7
8 ≤ C(z) < 16
14-3
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Vereinfachte Zweierkomplementbildung
|±1
• Modifizierte Darstellung der Zweierkomplementregel:
C(z) = (Rm - 1) - z* + 1
Darin ist:
Wegen R = 2 eine Binärzahl, bei der alle m Stellen ‘1‘ sind.
(Rm - 1) :
(Rm - 1) - z*:
Da 1 – 0 = 1 und 1 – 1 = 0 ist, folgt, dass dieser Ausdruck z* in allen
Bitstellen invertiert darstellt.
Fazit:
Man erhält das Zweierkomplement einer negativen Zahl z, indem man alle Bitstellen invertiert und anschließend 1 addiert.
Umformung der Zweierkomplementregel ergibt:
z* = (Rm - 1) - C(z) + 1
Fazit:
Man erhält den Betrag einer negativen Zahl, die durch das Zweierkomplement C(z) dargestellt wird,
indem man alle Bitstellen der Zweierkomplementdarstellung invertiert und anschließend 1 addiert.
DIGITALTECHNIK
14-4
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Addition und Subtraktion im Zweierkomplement
• Grundsätzlich sind die Regeln für vorzeichenlose und vorzeichenbehaftete Zahlen gleich.
• Zwei zusätzliche Effekte müssen jedoch beachtet werden:
♦ Carry- und Borrow-, die den gewählten Zahlenbereich von m Bits überschreiten, müssen ignoriert werden, um ein korrektes Ergebnis zu erhalten.
♦ Die Rechenergebnisse können den erlaubten Zahlenbereich der Zweierkomplementdarstellung
verlassen. In diesem Fall ist das Ergebnis ungültig und es muss ein Overflow-Bit OV gesetzt
werden (Abhilfe ist hier nur durch eine Erweiterung des Zahlenbereichs auf m+1 Bit möglich).
Das Overflow-Bit OV wird unter den folgenden Bedingungen gesetzt:
Bei der Addition: A+B:
- Wenn beide Summanden positiv und das Ergebnis negativ ist.
- Wenn beide Summanden negativ und das Ergebnis positiv ist.
Bei der Subtraktion: A-B:
- Wenn der Minuend A negativ und der Subtrahend B positiv ist und das Ergebnis ebenfalls positiv ist.
- Wenn der Minuend A positiv, der Subtrahend B negativ und das Ergebnis negativ ist.
DIGITALTECHNIK
14-5
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
14.2 Aufbau eines Volladdierers
Σ
A
B
CI
CI
0
0
0
0
1
1
1
1
SUM
CI
B
0
0
1
1
0
0
1
1
CO
A
0
1
0
1
0
1
0
1
COUT
COUT SUM
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
Logische Gleichungen:
Summe:
SUM = A
B
CI
Carry:
COUT = (A∧B)∨(CI∧(A
Generate:
CG = A∧B
Propagate:
CP = A
B
DIGITALTECHNIK
B))
14-6
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
14.3 Ripple-Carry Addierer
• Mit n 1-Bit Addierern lassen sich zwei n-Bit breite Binärworte A und B in einer kombinatorischen
Schaltung addieren. Dazu sind alle 1-Bit Addierer zu kaskadieren.
• Der Ripple-Carry Effekt ist das Fortschreiten eines kippenden Carry-Bits durch die Kette von 1-Bit
Addierern. Er beruht auf der Laufzeitverzögerung der einzelnen Addiererstufen und führt dazu, dass
das Ergebnis der i-ten Stelle erst nach i-Laufzeiten zur Verfügung steht.
• Wenn Bruchzahlen zu addieren sind, dann muss die Anzahl der Stellen hinter dem Komma bei beiden Operanden gleich sein. Die Kommastelle selbst ist beliebig da sie bei der Addition nicht benötigt
wird.
DIGITALTECHNIK
14-7
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Simulation des Ripple-Carry Addierers
9ns
9ns
9ns
9ns
20ns
20ns
20ns
20ns
DIGITALTECHNIK
14-8
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Analyse des Ripple-Carry Addierverhaltens
(am Beispiel der Addition von 0x01 + 0x0E + CIN = 0x10)
• Die Signallaufzeiten betragen: tpLH = 9ns und tpHL = 20 ns.
• Die Summationsbits S0 ... S3 werden evtl. zwischenzeitlich gesetzt und nachfolgend wieder gelöscht da
das Carry-Signal von Stufe zu Stufe fortschreitet. Zwischendurch werden ungültige Werte ausgegeben.
• Die Signallaufzeit ergibt sich in diesem Beispiel dadurch, dass:
Die drei Carry-Signale C0, C1, C2 nacheinander gesetzt werden (3*9 = 27ns)
Das letzte Carry-Signal C2 das temporär gesetzte Summationsbit S3 wieder löscht (20ns)
Damit wird das Ausgangssignal erst nach 47ns gültig.
• Abhängig von den alten und neuen Summanden kann die Zeit bis zum Erscheinen der gültigen Werte
sehr unterschiedlich sein! Welches ist die Worst-Case Situation und wie langt dauert die zugehörige
Signalverzögerung?
Allgemeiner Nachteil von Ripple-Carry Addierern:
Die Signallaufzeit des Addierers nimmt mit jedem Bit um die Laufzeit einer Addierstufe zu.
DIGITALTECHNIK
14-9
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
14.4 Carry-Look-Ahead Addierer
• Eine wesentlich schnellere und von der Wortbreite unabhängige Lösung ist die vorausschauende
Carry-Bildung, die gleichzeitig für alle Bitstellen erfolgen kann (Carry-Look-Ahead).
• Dazu werden aus den Volladdierern zwei zusätzliche Signale herausgeführt (vgl. S. 6):
• Generate Signal: CGi zeigt an, dass ein Addierer an der Position i als Folge der Bitwerte Ai und Bi
ein Carry-Signal Ci erzeugt.
• Propagate signal: CPi zeigt an, dass ein Carry-Signal Ci-1 aus der vorhergehenden Stufe i-1 an die
nachfolgende Stufe i+1 weitergereicht wird.
Nr.
0
1
2
3
4
5
6
7
Ci-1
0
0
0
0
1
1
1
1
Bi
0
0
1
1
0
0
1
1
Ai
0
1
0
1
0
1
0
1
CGi
0
0
0
1
0
0
0
1
CPi
0
1
1
0
0
1
1
0
Ci Si
0
0
0
1
0
1
1
0
0 1
1 0
1 0
1 1
Bedeutung
Ci wird erzeugt
Ci-1 wird absorbiert
Ci-1 wird weitergeleitet
Ci-1 wird weitergeleitet
Ci wird erzeugt
DIGITALTECHNIK
Logische Gleichungen:
CGi = Ai ∧ Bi
CPi = (Ai
Bi)
14-10
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
4- Bit Carry-Look-Ahead Struktur (CLA)
Σ
Σ
Σ
DIGITALTECHNIK
Σ
14-11
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Carry-Look-Ahead Generator
Die Bildung der Carry-Signale COi der einzelnen Stufen aus den Generate- und Propagate-Signale CGi
und CPi lässt sich rekursiv beschreiben:
Allgemeiner Ausdruck: Ci = Ci-1 ∧ Pi ∨ Gi
Erste Stufe i=0:
C0 = C-1 ∧ P0 ∨ G0
Durch sukzessives Einsetzen erhält man die weiteren Stufen:
Zweite Stufe i = 1:
C1 = C0 ∧ P1 ∨ G1 = (C-1 ∧ P0 ∨ G0) ∧ P1 ∨ G1
C1 = (C-1 ∧ P1 ∧ P0 ) ∨ (P1 ∧G0) ∨ G1
...
Die Realisierung erfolgt in einem Carry-Look-Ahead Generator.
Vorteile:
• Jedes Carry-Bit hängt nur vom Eingangs-Carry C-1 sowie den Carry-Generate und Carry-Propagate
Signalen ab.
• Alle Ergebnisbits stehen gleichzeitig zur Verfügung. Dazu werden höchstens 3 Laufzeiten benötigt (2*
durch die Volladdiererstufen und 1* durch den CLA-Generator).
Nachteil: Höherer Hardwareaufwand im Vergleich zum Ripple-Carry-Addierer ( #Gatter = (n²+9n)/2 )
DIGITALTECHNIK
14-12
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Simulation eines 4-Bit Carry-Look-Ahead Addierers
35ns
35ns
DIGITALTECHNIK
10ns
14-13
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
VHDL-Beschreibung eines 4-Bit Carry-Look-Ahead Addierers
• Der Quellcode besteht aus drei entities:
1. dem Volladdierer ADD_COMP
2. dem Carry-Look-Ahead Generator CLA_GEN
3. dem strukturellen VHDL-Entwurf des Carry-Look-Ahead Addierers CLA_ADD
• Zur Verdeutlichung des Zeitverhaltens werden symbolische Laufzeiten verwendet
(10ns für die Volladdierersignale, 15ns für die CLA-Generator-Signale)
-- 1-Bit Volladdierer fuer CLA-Generator
entity ADD_COMP is
port( A, B, CIN: in bit;
SUM, CO, CG, CP: out bit);
end ADD_COMP;
architecture CLA_ARCH of ADD_COMP is
begin
SUM <= A xor B xor CIN after 10 ns;
CO <= (A and B) or (CIN and (A xor B)) after 10 ns;
CP <= A xor B after 10 ns;
CG <= A and B after 10 ns;
end CLA_ARCH;
DIGITALTECHNIK
14-14
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
-- 4-Bit Carry-Look-Ahead Generator
entity CLA_GEN is
port( G, P: in bit_vector(3 downto 0);
CIN: in bit;
C: out bit_vector(2 downto 0);
CGOUT, CPOUT: out bit);
end CLA_GEN;
architecture CLA of CLA_GEN is
begin
C(0) <= G(0) or (P(0) and CIN) after 15 ns;
C(1) <= G(1) or (P(1) and G(0)) or
(P(1) and P(0) and CIN) after 15 ns;
C(2) <= G(2) or (P(2) and G(1)) or
(P(2) and P(1) and G(0)) or
(P(2) and P(1) and P(0) and CIN) after 15 ns;
CPOUT<= (P(3) and P(2) and P(1) and P(0)) after 15 ns;
CGOUT<= G(3) or (P(3) and G(2)) or
(P(3) and P(2) and G(1)) or
(P(3) and P(2) and P(1) and G(0))after 15 ns; -- or
--(P(3) and P(2) and P(1) and P(0) and CIN) after 15 ns;-- Fehler!!!!!
end CLA;
DIGITALTECHNIK
14-15
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
entity CLA_ADD is
-- 4-Bit Carry-Look-Ahead Addierer
port( A, B: in bit_vector(3 downto 0);
CIN: in bit;
SUM: out bit_vector(3 downto 0);
CGOUT, CPOUT: out bit);
end CLA_ADD;
architecture STRUKTUR of CLA_ADD is
component ADD_COMP
-- Komponenten Deklaration des Volladdierers
port( A, B, CIN: in bit;
SUM, CO, CG, CP: out bit);
end component;
component CLA_GEN
-- Komponenten Deklaration des CLA-Generators
port( G, P: in bit_vector(3 downto 0);
CIN: in bit;
C: out bit_vector(2 downto 0);
CGOUT, CPOUT: out bit);
end component;
signal CG, CP, CARRY: bit_vector(3 downto 0); -- lokale Signale der Architektur
begin
CARRY(0) <= CIN;
VA: for I in 0 to 3 generate
-- 4 Volladdierer erzeugen und anschliessen
ADD:
ADD_COMP port map (A(I), B(I), CARRY(I), SUM(I), open, CG(I), CP(I));
end generate VA;
CLA: CLA_GEN port map(CG, CP, CIN, CARRY(3 downto 1), CGOUT, CPOUT);-- CLA-Generator
end STRUKTUR;
DIGITALTECHNIK
14-16
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Hinweise zum strukturellen VHDL-Entwurf
• Jede bereits compilierte entity kann auf einer übergeordneten Ebene als component verwendet
werden.
• In der höheren Designhierarchie muss eine Komponentendeklaration vorhanden sein. Darin muss der
Name und die port-Definition genauso angegeben werden, wie in der entity-Deklaration. Die
Komponentendeklaration steht vor dem begin der Architektur.
• Die Komponenten-Instanziierung erfolgt durch Angabe eines Labels und des Komponentennamens.
• Der Verbindung der Komponenten mit Signalen erfolgt in einer port map-Anweisung. Dabei muss
(als eine Möglichkeit) die Reihenfolge der in der port map-Anweisung übergebenen Signale bzw.
Signaltypen identisch zu den Signalen in der Komponentendeklaration sein.
• Ausgangssignale einer Komponente müssen nicht angeschlossen werden (open).
• Es besteht die Möglichkeit, in einer generate-Anweisung Komponenten in einer for-Schleife automatisch instanziieren zu lassen. Dazu muss der Schleifenindex nicht extra deklariert werden. Innerhalb der Schleife kann z.B. bei der Verwendung von Bussignalen der Schleifenindex verwendet
werden. Die Schleife wird durch eine end generate-Anweisung beendet. Die for generate Anweisung muss, genauso wie die Komponenten-Instanziierungen, ein Label tragen.
DIGITALTECHNIK
14-17
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
14.5 Kombinierter Addierer und Subtrahierer
1-Bit Volladdierer / Subtrahierer (AS_COMP):
Um die Mikroprozessor-Hardware möglichst einfach zu halten, wird das Carry-Flag bei der Subtraktion häufig invertiert genutzt (d.h. Carry = 1 bedeutet bei der Subtraktion KEINEN Übertrag und bei der
Addition einen Übertrag). Das Carry-Flag muss in der Software entsprechend interpretiert werden!
Ein Selektionseingang der AS-Komponente entscheidet: SEL = 0 → Addition (A+B)
SEL = 0 → Subtraktion (A-B)
Sn:
SEL Cn An Bn Sn Cn+1
0
0 0 0
0
0 0 1
0
0 1 0
0
0 1 1
0
1 0 0
...
... ... ...
Bn
Cn+1
SEL
Bn
SEL
An
Cn
DIGITALTECHNIK
An
Cn
14-18
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
4-Bit Ripple-Carry Addierer / Subtrahierer
DIGITALTECHNIK
14-19
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Analyse des 4-Bit Addierers / Subtrahieres
DIGITALTECHNIK
14-20
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
14.6 Arithmetik in VHDL
VHDL-Simulations und Synthesewerkzeuge unterstützen einige arithmetische Operationen. Dazu empfiehlt es sich den Datentyp, std_logic_vector zu verwenden. Dazu muss zusätzlich zur Bibliothek ieee.std_logic_1164 eine der Bibliotheken ieee.std_logic_unsigned (für vorzeichenlose Arithmetik), ieee.std_logic_signed (für vorzeichenbehaftete Arithmetik) oder ieee.std_logic_arith (für gemischt vorzeichenlose und vorzeichenbehaftete Arithmetik) eingebunden werden:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all; -- Nur vorzeichenlose Operationen
-- use ieee.std_logic_signed.all; -- Nur vorzeichenbehaftete Operationen
-- use ieee.std_logic_arith.all; -- Gemischte Operationen, diese Bib-- liothek gilt nur im Zusammenhang mit
-- den Datentypen signed und unsigned !!
entity XYZ is
...
In diesen Bibliotheken sind die Vergleichsoperatoren =, /=, <, <=, >, >= für den Datentyp
std_logic_vector definiert.
DIGITALTECHNIK
14-21
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Arithmetische Operatoren
Operator
+
abs
*
/
**
mod
rem
Bedeutung
Addition
Subtraktion
Absolutwertbildung
Multiplikation
Beispiel
Y <= A + B
Y <= A - B
Y <= abs(A)
Y <= A * B
Division
Zweierpotenz
Y <= A / B
Y <= 2**A
Rest der Division A/B
A mod B = A - B*n;
(n ist der ganzzahlige Teil der Division)
Das Vorzeichen des Ergebnisses ist gleich dem von B.
Rest der Division A/B.
A rem B = A - (A/B)*B
Das Vorzeichen des Ergebnisses ist gleich dem von A.
Y <= A mod B
Y <= A rem B
DIGITALTECHNIK
Synthesefähigkeit
synthesefähig
synthesefähig
synthesefähig
von den meisten Synthesewerkzeugen unterstützt
meist nicht synthesefähig
nur Potenzen von 2 erlaubt, da
dies einer einfachen Linksverschiebung einer Binärzahl entspricht
synthesefähig falls B Zweierpotenz von 2
Beispiele s. z.B. [13] und [39]
synthesefähig falls B Zweierpotenz von 2
Beispiele s. z.B. [13] und [39]
14-22
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Beispiel: Kombinierter Addierer / Subtrahierer
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_signed.all;
entity ARITH is
port(A ,B: in std_logic_vector(3 downto 0); SEL: in bit;
SUM : out std_logic_vector(3 downto 0); ZERO: out bit);
end ARITH;
architecture VERHALTEN of ARITH is begin
P1: process(A, B, SEL)
variable SUMVAR: std_logic_vector(3 downto 0); -- Deklaration einer Variablen
begin
if SEL='0' then
SUMVAR := A+B;
-- Addition
else
SUMVAR := A-B;
-- Subtraktion
end if;
if SUMVAR = "0000" then
-- Vergleich auf "0000"
ZERO <= '1';
else
ZERO <= '0';
end if;
SUM <= SUMVAR;
-- Ausgangssignalzuweisung
end process P1;
end VERHALTEN;
DIGITALTECHNIK
14-23
Hochschule für Angewandte Wissenschaften Hamburg
Prof. Dr. J. Reichardt
FACHBEREICH ELEKTROTECHNIK
UND INFORMATIK
Prof. Dr. B. Schwarz
Syntheseergebnis (Viewlogic)
• Es wird ein vorbereitetes 4-Bit kombiniertes Addierer/Subtrahierer Modul verwendet.
• Die Überprüfung auf 0 erfolgt durch ein Vierfach-OR.
• Wenn als Eingangs- bzw. Ausgangssignale der Datentyp bit_vector verwendet werden soll, so sind
Konversionsfunktionen erforderlich. Diese sind wie folgt deklariert:
function To_bit (s : std_ulogic; xmap : bit )
function To_bitvector (s : std_logic_vector; xmap : bit )
function To_StdLogicVector ( b : bit_vector )
return bit;
return bit_vector;
return std_logic_vector;
• Eine Konversion zwischen den skalaren Typen bit und std_logic_vector existiert nicht!
DIGITALTECHNIK
14-24