Hardware Reference
In-Depth Information
...
elsif rising_edge(T) then
if W= '1' and not voll then write(x, fifo); end if ;
if R= '1' and not leer then read(y, fifo); end if ;
end if ;
muss die Synthese einen synchronen 2-Port-Speicher einsetzen.
4.4.3 Assoziativspeicher
Ein Assoziativspeicher ist ein normal beschreibbarer und lesbarer Speicher
mit einer Zusatzfunktion für den parallelen Vergleich. Bei der Vergleichsope-
ration werden die Eingabedaten in einem Schritt mit den gespeicherten Bit-
mustern aller Speicherzeilen verglichen. Abbildung 4.70 zeigt die Schaltung
einer Zelle. Die Transistoren T1 bis T6 bilden eine normale RAM-Zelle und
die Transistoren T7 bis T10 bilden die Schaltung für den bitweisen Vergleich.
Bei der Vergleichsoperation werden die Spaltenleitungen wie beim Schreiben
angesteuert:
d j
r j = d j ; s j =
(4.37)
(d j - Bitwert für Spalte j). Die Zeilenauswahlsignale bleiben jedoch alle in-
aktiv, so dass der Zelleninhalt nicht verändert wird. Das Netzwerk aus den
Transistoren T7 bis T10 hat die Funktion
f ij = (r j ^ x ij ) _ (s j ^x ij )
= (d j ^ x ij ) _
d j ^x ij
(4.38)
Die Parallelschaltung der beiden Transistorpaare sperrt genau dann, wenn der
Zellenwert mit dem Eingabewert übereinstimmt. Die Vergleichsschaltungen al-
ler Spalten j einer Zeile i sind parallel geschaltet und damit ODER-verknüpft:
d j
¯ d j
d j+1
¯ d j+1
¯r j
¯s j ¯s j+1
¯r j+1
U V
H
v i
T8 T10
x i,j+1
T2
T4
T6
T7
¯x i,j+1
T5
¯x ij
x ij
T1
T3
T9
z i =0
H
v i+1
x i+1,j
x i+1,j+1
¯x i+1,j
¯x i+1,j+1
Abb. 4.70. Aufbau der Speichermatrix eines Assoziativspeichers
 
Search WWH ::




Custom Search