Hardware Reference
In-Depth Information
4.6.1 Programmierbare Tabellenfunktionen
Eine programmierbare Tabellenfunktion ordnet jedem Eingabewert einen in-
dividuell einstellbaren Ausgabewert zu. Auf diese Weise lässt sich jede kom-
binatorische Funktion nachbilden. Die Schaltung ähnelt einem Speicher mit
wahlfreiem Zugriff, einem Festwertspeicher oder einem RAM. Der Zeilende-
coder - eine UND-Matrix - aktiviert für jede Eingabevariation genau eine
der 2
n
Zeilenauswahlsignale. Die Zeilenauswahlsignale werden als Produkt-
terme bezeichnet. Die ODER-Matrix, die für jedes Ausgabebit auswählt, bei
welchen aktivierten Produkttermen eine »1« ausgegeben wird, ist program-
mierbar (Abb. 4.77).
x
n
−1
x
0
x
2
x
1
2
n
Produktterme
···
UND-Matrix
ODER-Matrix
(1aus2
n
-Decoder)
···
(programmierbar)
y
m
−1
···
y
2
y
1
y
0
Abb. 4.77. UND-ODER-Matrix zur Programmierung von Tabellenfunktionen
Abbildung 4.78 zeigt eine mögliche Realisierung. Die schwarzen Querstri-
che an den Kreuzungspunkten der Zeilen- und Spaltenleitungen in der UND-
Matrix sind normale NMOS-Transistoren, die bei einer »1« am Gate einschal-
ten. An den anderen Kreuzungspunkten befindet sich entweder kein oder ein
deaktivierter Transistor, der auch bei einer »1« am Gate ausgeschaltet bleibt
(vgl. Abschnitt 4.5). Das PMOS-Netzwerk ist durch Pull-Up-Elemente ersetzt.
Die Treiber zwischen den Ausgängen der UND-Matrix und den Eingängen
der ODER-Matrix sind Puffer zur Verringerung der Verzögerungszeiten (vgl.
Abschnitt 4.2.7). Die ODER-Matrix besteht aus programmierbaren Transis-
toren. Um bei der Auswahl einer Zeile am Ausgang eine »0« auszugeben, ist
x
2
x
1
x
0
ODER-Matrix
H
H
HPull-Up-Element
H
H
H
···
H
p
0
=¯x
2
¯x
1
¯x
0
Treiber
p
1
=¯x
2
¯x
1
x
0
normaler
p
2
=¯x
2
x
1
¯x
0
Transistor
···
···
p
7
=x
2
x
1
x
0
program-
mierbarer
Transistor
st¨andiggesperrt
einschaltbar
UND-Matrix
y
1
=p
0
∨p
2
y
0
=p
0
∨p
7
Abb. 4.78. Logikschaltung mit programmierter ODER-Matrix