Multiplexer-basierte FPGAs (1)
Multiplexer-basierte FPGAs (1)
Multiplexer-basierte FPGAs (1)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
ISS<br />
Rekonfigurierbare Prozessoren<br />
Prof. Dr.-Ing. S. A. Huss<br />
Vorlesung Nr.<br />
Thema<br />
4 Konfiguration logischer Zellen<br />
03.11.09 Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 1
Rekonfigurierbare Prozessoren: Was, Warum und Wie?<br />
(3) Warum rekonfigurierbare Prozessoren?<br />
Warum?<br />
Was?<br />
Wie?<br />
(1) Was ist ein<br />
rekonfigurierbarer Prozessor?<br />
(2) Was wird eigentlich<br />
rekonfiguriert?<br />
(4) Wie wird ein rekonfigurierbarer<br />
Prozessor rekonfiguriert?<br />
(5) Wie wird ein rekonfigurierbarer<br />
Prozessor eingesetzt?<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 2
Was wird eigentlich rekonfiguriert? Überblick<br />
Schnittstelle<br />
Verbindung<br />
Gewünschte Architektur<br />
DATA_IN<br />
R1<br />
R2<br />
MULT<br />
ADD<br />
R3<br />
DATA_OUT<br />
Funktionale<br />
Elemente<br />
Controller<br />
BEFEHL<br />
Vorliegende Plattform<br />
z.B. (FPGA)<br />
In/Output<br />
Block<br />
Configurable<br />
Logic Cell<br />
(CLB)<br />
Switch<br />
Matrix<br />
Heute: konfigurierbare logische Zellen<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 3
Funktionsgeneratoren<br />
• Als allgemeiner Begriff für konfigurierbare logische Zellen hat sich der<br />
Begriff Funktionsgenerator etabliert.<br />
• Ein Funktionsgenerator ist eine digitale Schaltung, die eine<br />
Funktionalität erst nach einer Konfiguration aufzeigt.<br />
• Zwei Arten von Funktionsgeneratoren werden in dieser Vorlesung<br />
behandelt:<br />
– <strong>Multiplexer</strong>-<strong>basierte</strong> Funktionsgeneratoren<br />
– SRAM-<strong>basierte</strong> Funktionsgeneratoren<br />
• Übrigens: das Wort „Funktionsgenerator“ bezeichnet ursprünglich<br />
elektronische Geräte zur Generierung von Testsignalen<br />
unterschiedlicher Formen, z.B. sinusförmige, rechteckige und<br />
sägezahnförmige Signale.<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 4
<strong>Multiplexer</strong>-<strong>basierte</strong> Funktionsgeneratoren (1)<br />
Ein 2-1 <strong>Multiplexer</strong> kann zahlreiche Funktionen realisieren.<br />
A<br />
B<br />
S<br />
0<br />
1<br />
F = !S.A + S.B<br />
Gewünschte Funktion S A B<br />
X<br />
0 X -<br />
1 - X<br />
1 - 1 1<br />
0 - 0 0<br />
!X X 1 0<br />
XY X 0 Y<br />
X + Y X Y 1<br />
(!X)Y X Y 0<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 5
<strong>Multiplexer</strong>-<strong>basierte</strong> Funktionsgeneratoren (2)<br />
• Jede logische Funktion F(a, b, c,…) lässt sich durch einen oder<br />
mehrere 2-1 <strong>Multiplexer</strong> darstellen.<br />
• Methode: Zerlegung der Funktion in ihre Kofaktoren nach Shannon<br />
F = !a.F (a=0) + a.F (a=1)<br />
• F (a=0) und F (a=1) sind die Kofaktoren der Funktion F nach a.<br />
Beispiel:<br />
F = a.b + c<br />
F = !a.F (a=0) + a.F (a=1)<br />
F = !a. c + a.(b + c)<br />
F2<br />
F = !a. c + a. (!b.F2 (b=0) + b.F2 (b=1) )<br />
F = !a. c + a. (!b.c+ b.1)<br />
c<br />
1<br />
b<br />
0<br />
1<br />
c<br />
b+c<br />
a<br />
0<br />
1<br />
F<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 6
<strong>Multiplexer</strong>-<strong>basierte</strong> <strong>FPGAs</strong> (1)<br />
• Die Firma Actel ist Marktführer im Bereich Anti-Fuse <strong>basierte</strong>r <strong>FPGAs</strong><br />
(s. V8)<br />
• Die konfigurierbaren Zellen sind <strong>Multiplexer</strong>-basiert.<br />
Beispiel 1: ACT 1 Logic Module<br />
A0<br />
A1<br />
SA<br />
B0<br />
B1<br />
SB<br />
M1<br />
0<br />
F1<br />
1<br />
S<br />
M2<br />
0<br />
F2<br />
1<br />
S<br />
M3<br />
0<br />
F<br />
1<br />
S<br />
S0<br />
S1<br />
S3<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 7
<strong>Multiplexer</strong>-<strong>basierte</strong> <strong>FPGAs</strong> (2)<br />
Brenne die passenden Anti-Fuses im ACT1, um die folgende<br />
Funktion zu realisieren:<br />
F = !a.c.d + a.b<br />
F = !a.F (a=0) + a.F (a=1)<br />
d<br />
c<br />
b<br />
a<br />
1<br />
0<br />
F = !a. (c.d) + a.b<br />
F = !a. (!c.F1 (c=0) + c.F1 (c=1) ) + a.b<br />
F = !a. (!c.0+ c.d) + a.b<br />
A0<br />
A1<br />
SA<br />
B0<br />
B1<br />
SB<br />
M1<br />
0<br />
F1<br />
1<br />
S<br />
M2<br />
0<br />
F2<br />
1<br />
S<br />
M3<br />
0<br />
F<br />
1<br />
S<br />
S0<br />
S1<br />
S3<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 8
<strong>Multiplexer</strong>-<strong>basierte</strong> <strong>FPGAs</strong> (3)<br />
Beispiel 2: Actel Accelerator Familie<br />
• Auch die neuen FPGA Generationen von Actel basieren auf<br />
<strong>Multiplexer</strong>n als Funktionsgeneratoren.<br />
• Im Unterschied zu herkömmlichen Architekturen wird die komplette<br />
Chipfläche zur Platzierung logischer Module genutzt. Man spricht von<br />
„Sea-of-Modules Architecture“. Damit lassen sich bis zu 2 Millionen<br />
Gatteräquivalente integrieren.<br />
• Faustregel: Gatteräquivalent ≈ NAND-Gatter ≈ 4 Transistoren<br />
Traditionelle<br />
FPGA Architektur<br />
„Sea-of-Modules“<br />
FPGA Architektur<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 9
<strong>Multiplexer</strong>-<strong>basierte</strong> <strong>FPGAs</strong> (4)<br />
Beispiel 2: Actel Accelerator Familie<br />
• Im Unterschied zu ACT1, in dem Flipflops durch Rückkopplungen mit<br />
den ACT1 <strong>Multiplexer</strong>n realisiert werden, sind in der Accelerator<br />
Familie zwei Arten von logischen Modulen verfügbar:<br />
– C-Cell: kombinatorische Zellen<br />
– R-Cell: Registerzellen<br />
• 2 C-Cells und ein R-Cell zusammen mit 2 Sendepuffern (TX) und 2<br />
Empfangspuffern (RX) bilden einen so genannten Cluster.<br />
• 2 Cluster und ein unabhängiger Puffer bilden einen so genannten<br />
SuperCluster.<br />
SuperCluster der Accelerator Familie<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 10
<strong>Multiplexer</strong>-<strong>basierte</strong> <strong>FPGAs</strong> (5)<br />
C-Cell<br />
• 8-Eingang <strong>Multiplexer</strong> (Daten: D0-D3, Steuerung: A0, A1, B0, B1).<br />
• Inverter (DB) zur Invertierung eines beliebigen Eingangs.<br />
• Übertragseingang (CFI) und Übertragsausgang (FCO).<br />
• Übertragsberechnung in einer Übertragskette mit einer Verzögerung<br />
von 0.1 ns.<br />
• Mit dieser Anordnung sind mehr als 4000 Funktionen mit bis zu 5<br />
Variablen realisierbar.<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 11
<strong>Multiplexer</strong>-<strong>basierte</strong> <strong>FPGAs</strong> (6)<br />
R-Cell<br />
• Direkte Verbindung mit dem Ausgang eines C-Cell über den Eingang<br />
DCIN, Verzögerung 0.1 ns.<br />
• Stand-alone Funktion über den Eingang DIN.<br />
• Globale Setz- und Rücksatzeingänge (GPSET, GCLR) oder aus der<br />
Benutzerlogik (CLR, PSET).<br />
• Takt aus verschiedenen speziellen Ressourcen oder aus der<br />
Benutzerlogik, Auswahl durch CKS. Verschiedene Taktpolarität,<br />
Auswahl durch CKP.<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 12
SRAM-<strong>basierte</strong> Funktionsgeneratoren (1)<br />
Motivation<br />
0<br />
1<br />
000<br />
001<br />
Adressdekodierer<br />
1-Bit<br />
Speicherzelle<br />
1<br />
0<br />
1<br />
010<br />
011<br />
100<br />
F<br />
0<br />
101<br />
Adresse<br />
A<br />
B<br />
C<br />
0<br />
1<br />
110<br />
111<br />
Datenausgang<br />
Welche Funktion ist durch diesen Speicher realisiert?<br />
F = A xor B xor C<br />
Wie viele Funktionen sind insgesamt realisierbar?<br />
256 Funktionen<br />
Wie wird dieser Speicher beschrieben?<br />
Durch (Re-)konfiguration des FPGA<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 13
SRAM-<strong>basierte</strong> Funktionsgeneratoren (2)<br />
• SRAM-<strong>basierte</strong> Funktionsgeneratoren werden in <strong>FPGAs</strong> als Look-up Tabellen<br />
bezeichnet.<br />
• Eine K-LUT ist eine Look-Up Tabelle mit K Eingängen.<br />
• Die K Eingänge agieren als Adresse für 2 k Speicherzellen, die jeweils ein Bit<br />
speichern.<br />
• Eine K-LUT kann jede boolesche Funktion von K Variablen realisieren.<br />
• Eine LUT speichert die Wahrheitstabelle der booleschen Funktion.<br />
• Ein K-LUT kann insgesamt 2 2k Funktionen realisieren<br />
• Betrachtet man jedoch, dass die Verdrahtungsressourcen die Eingänge<br />
permutieren können, so kann die Anzahl der realisierbaren Funktionen deutlich<br />
kleiner werden:<br />
K<br />
total<br />
Anzahl repräsentierbarer Funktionen<br />
Mit Permutation<br />
der Eingänge<br />
Mit Permutation<br />
und Invertierung<br />
2 16 12 4<br />
3 256 80 14<br />
4 65536 3984 232<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 14
SRAM-<strong>basierte</strong> Funktionsgeneratoren (3)<br />
Welche LUT Größe ist besser?<br />
• Die optimale Größe einer LUT hängt von verschiedenen Faktoren ab, vor allem<br />
von verwendeten CAD Werkzeugen laut einer Studie der University of British<br />
Columbia:<br />
– Ist die Platzeffizienz der LUTs das wichtigste Ziel, so liefert der Algorithmus Chortle<br />
für Technologie-Mapping mit 3-LUTs die besten Ergebnisse.<br />
– Andere Algorithmen, z.B. Flowmap und Cutmap zur Performanzoptimierung<br />
bevorzugen 5-LUTs<br />
• Der Kasten zeigt einen Kommentar von Xilinix zur neuen LUT<br />
Generation im Virtex V 2006.<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 15
SRAM-<strong>basierte</strong> <strong>FPGAs</strong><br />
• Der FPGA Marktführer Xilinx liefert SRAM-<strong>basierte</strong> Funktionsgeneratoren.<br />
• Verschiedene Größen der LUT: 4-LUT in Virtex II, 6-LUT in Virtex V.<br />
Beispiel: Virtex II<br />
• Den Kern dieser Architekturen bilden die konfigurierbaren logischen<br />
Blöcke (configurable logic blocks, CLB).<br />
• Ein CLB enthält 4 Slices.<br />
• Ein Slice enthält:<br />
– 2 4-LUTs zur Realisierung<br />
kombinatorischer Logik<br />
– 2 Flipflops zur Realisierung<br />
sequentieller Logik<br />
– Verschiedene <strong>Multiplexer</strong> zur<br />
Erhöhung der Slice-Flexibilität und<br />
zur Realisierung großer<br />
<strong>Multiplexer</strong> über mehrere Slices<br />
– Extra-Logik zur Realisierung<br />
schneller Addierer<br />
05.11.2009 Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 16
Virtex II Slice (1) (Vereinfachte Darstellung)<br />
MUXFX<br />
FXINA<br />
FXINB<br />
1<br />
0<br />
FX<br />
G1<br />
G2<br />
G3<br />
G4<br />
BY<br />
LUT<br />
1<br />
0<br />
MUXF5<br />
1<br />
0<br />
1<br />
0<br />
D<br />
CE<br />
C<br />
RS<br />
SRLOW<br />
SRHIGH<br />
FF<br />
Q<br />
REV<br />
Y<br />
YQ<br />
F1<br />
F2<br />
F3<br />
F4<br />
BX<br />
CE<br />
LUT<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
D<br />
CE<br />
SRLOW<br />
SRHIGH<br />
FF<br />
Q<br />
F5<br />
X<br />
XQ<br />
CLK<br />
SR<br />
1<br />
0<br />
1<br />
C<br />
RS<br />
REV<br />
0<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 17
Virtex II Slice (2)<br />
Realisiere den folgenden VHDL Code auf dem Virtex II Slice<br />
Eine Funktion mit 4<br />
Variablen lässt sich<br />
in einer LUT realisieren<br />
if-Statement: lässt sich<br />
durch den <strong>Multiplexer</strong><br />
MUXF5 realisieren<br />
Eine weitere Funktion<br />
mit 4 Variablen lässt<br />
sich in einer LUT<br />
realisieren<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 18
Virtex II Slice (3)<br />
Welche Konfigurationsbits müssen in die LUTs geschrieben werden?<br />
G1(A) G2(B) G3(C) G4(D) Inhalt<br />
F1(K) F2(L) F3(M) F4(N) Inhalt<br />
0 0 0 0 0<br />
0 0 0 0 0<br />
0 0 0 1 0<br />
0 0 1 0 0<br />
0<br />
0 0 0 1 1<br />
0 0 1 0 1<br />
E<br />
0 0 1 1 0<br />
0 0 1 1 1<br />
0 1 0 0 0<br />
0 1 0 0 1<br />
0 1 0 1 0<br />
0 1 1 0 0<br />
0<br />
0 1 0 1 1<br />
0 1 1 0 1<br />
F<br />
0 1 1 1 0<br />
0 1 1 1 1<br />
1 0 0 0 0<br />
1 0 0 0 1<br />
1 0 0 1 0<br />
1 0 1 0 0<br />
0<br />
1 0 0 1 1<br />
1 0 1 0 1<br />
F<br />
1 0 1 1 0<br />
1 0 1 1 1<br />
1 1 0 0 0<br />
1 1 0 0 1<br />
1 1 0 1 0<br />
1 1 1 0 0<br />
8<br />
1 1 0 1 1<br />
1 1 1 0 1<br />
F<br />
1 1 1 1 1<br />
1 1 1 1 1<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 19
Abbildung der Funktion auf das Slice<br />
MUXFX<br />
FXINA<br />
FXINB<br />
1<br />
0<br />
FX<br />
A<br />
B<br />
C<br />
D<br />
K<br />
L<br />
M<br />
N<br />
SEL<br />
G1<br />
G2<br />
G3<br />
G4<br />
BY<br />
F1<br />
F2<br />
F3<br />
F4<br />
BX<br />
CE<br />
LUT<br />
8000<br />
1<br />
0<br />
LUT<br />
FFFE<br />
1<br />
1<br />
0<br />
1<br />
0<br />
MUXF5<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
1<br />
0<br />
D<br />
CE<br />
C<br />
RS<br />
D<br />
CE<br />
SRLOW<br />
SRHIGH<br />
FF<br />
FF<br />
Q<br />
REV<br />
SRLOW<br />
SRHIGH<br />
Q<br />
Y<br />
YQ<br />
F5<br />
X<br />
XQ<br />
F<br />
CLK<br />
SR<br />
1<br />
0<br />
1<br />
C<br />
RS<br />
REV<br />
0<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 20
Syntheseergebnisse<br />
Technologieunabhängige<br />
Technologieabhängige<br />
Syntheseergebnisse besagen weder ob die 2 LUTs zu einem Slice<br />
gehören, noch welche Slices zur Realisierung verwendet werden.<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 21
Platzierung und Verdrahtung auf dem FPGA<br />
Slices werden durch ihre Position in<br />
einer Spalte und einer Zeile im FPGA<br />
gekennzeichnet.<br />
In dem vorliegenden Fall wird<br />
das Slice X1Y15 durch die P&R<br />
Werkzeuge gewählt.<br />
05.11.2009 Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 22
Einblick in das Flipflop des Virtex II (1)<br />
D<br />
SRLOW<br />
SRHIGH<br />
CE<br />
FF<br />
Q<br />
C<br />
RS<br />
REV<br />
• Das Speicherelement im Virtex II Slice kann sowohl als Flipflop als<br />
auch als Latch eingesetzt werden.<br />
• Ein Dateneingang D und ein Datenausgang Q<br />
• Ein Takteingang und 3 Steuersignale<br />
– CE: Clock enable<br />
– RS: zwingt Q auf den Wert, der durch das Attribut SRLOW oder SRHIGH<br />
spezifiziert ist:<br />
‣ SRHIGH RS zwingt Q auf 1<br />
‣ SRLOW RS zwingt Q auf 0<br />
– REV: Als Setzeingang arbeitet dieser Pin gegensätzlich zu RS.<br />
– RS hat Vorrang vor REV<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 23
Einblick in das Flipflop des Virtex II (2)<br />
Realisiere den folgenden VHDL Code auf dem Virtex II Slice<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 24
Einblick in das Flipflop des Virtex II (3)<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 25
Explizite Instanziierung von Bibliothekelementen<br />
entity slice is<br />
port( A,B,C,D,K,L,M,N,SEL : in STD_LOGIC;<br />
F1,F2 : out STD_LOGIC );<br />
end slice;<br />
architecture STR of slice is<br />
component LUT4 is<br />
generic (INIT : bit_vector(15 downto 0));<br />
port ( O : out std_logic;<br />
I0 : in std_logic;<br />
I1 : in std_logic;<br />
I2 : in std_logic;<br />
I3 : in std_logic);<br />
end component;<br />
component MUXF5<br />
port (<br />
O : out STD_ULOGIC;<br />
I0 : in STD_ULOGIC;<br />
I1 : in STD_ULOGIC;<br />
S : in STD_ULOGIC);<br />
end component;<br />
signal S1, S2 :std_logic;<br />
begin<br />
my_lut : LUT4<br />
generic map ( INIT => "1000000000000000")<br />
port map ( O => S1, I0 => A, I1 => B , I2 => C, I3 => D);<br />
your_lut : LUT4<br />
generic map ( INIT => "1111111111111110")<br />
port map ( O => S2, I0 => K, I1 => L , I2 => M, I3 => N);<br />
my_mux: MUXF5<br />
port map (O => F1,I0 => S2,I1 => S1,S => SEL);<br />
F2
Ressourcenbedarf<br />
Wie viele LUTs werden zur Realisierung der<br />
folgenden Aufgabe benötigt?<br />
entity UND is<br />
port( A, B : in std_logic_vector (7 downto 0);<br />
F : out std_logic_vector (7 downto 0) );<br />
end UND ;<br />
architecture RTL of UND is<br />
begin<br />
process ( A, B)<br />
begin<br />
F
Ressourcenbedarf<br />
Wie viele LUTs werden zur Realisierung der<br />
folgenden Aufgabe benötigt?<br />
entity UND2 is<br />
port( A, B, C, D, E : in std_logic_vector (2 downto 0);<br />
F : out std_logic_vector (2 downto 0) );<br />
end UND2 ;<br />
architecture RTL of UND2 is<br />
signal S: std_logic_vector (2 downto 0);<br />
begin<br />
process ( A, B)<br />
begin<br />
S
Logische Synthese<br />
• Die Logiksynthese konvertiert die RTL-Beschreibung in eine<br />
Beschreibung auf der Gatterebene, bekannt als Netzliste.<br />
• Die logische Synthese besteht aus 2 Phasen:<br />
– Übersetzung der RTL-Beschreibung in eine generische optimierte<br />
technologieunabhängige Netzliste<br />
– Abbildung der Netzliste auf eine Zieltechnologie unter Berücksichtigung<br />
der Entwurfsvorgaben der Fläche und Performanz.<br />
• Die Netzliste ist eine Strukturbeschreibung mit Elementen aus der<br />
Herstellerbibliothek. Bsp.: das standardisierte EDIF Format (Electronic<br />
Design Interchange Format)<br />
• Verbindungen in der Netzliste sind logisch. Informationen über<br />
Leitungsverzögerung sind nach der Synthese daher nur geschätzt. Die<br />
genauen Timingdaten sind erst nach der Platzierung und Verdrahtung<br />
verfügbar.<br />
• Algorithmen zur Abbildung logischer Funktionen auf LUTs:<br />
– Chortle: Optimierung der Fläche<br />
– Flowmap: Optimierung der Performanz<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 29
EDIF (1)<br />
Einige Schlüsselwörter der EDIF-Netzliste:<br />
edif: Netzlistenanfang<br />
library: Bibliothek<br />
cell: Bibliothekelement<br />
interface: Interface<br />
instance: Bauelement<br />
net: Knoten<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 30
EDIF (2)<br />
03.11.09<br />
Rekonfigurierbare Prozessoren S. A. Huss Vorlesung 4 Folie 31