programmierbare logik - inf.fu-berlin.de · alle glb an einem global routing pool (grp) 32-192...
TRANSCRIPT
1
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 1
Programmierbare Logik
PLDProgrammable LogicDevice
Programmierung
Input Output
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 2
Grundgedanke
&
&
&
OR LOGIKXORMUXDMUXD-FFTristate
Input
Output/Input
/X X
Y /Y
Matrix
Logikverknüpfung
Rückkopplung
Y = (AND) OR (AND) OR (AND)
2
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 3
Programmierbare Logik
GAL Generic Array Logic
ispGAL In System ProgrammableGeneric Array Logic
ispLSI In System ProgrammableHigh Density PLD
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 4
GAL16V8
3
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 5
GAL16V8
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 6
GAL16V8
4
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 7
GAL16V8
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 8
GAL20V8
5
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 9
GAL20V8
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 10
GAL20V8
6
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 11
GAL20V8
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 12
GAL20V8
7
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 13
GAL20V8
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 14
GAL20V8Registerausgang
8
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 15
GAL20V8Registerausgang invertierend
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 16
GAL20V8Kombinatorischer Ein-/ Ausgang
9
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 17
GAL20V8Kombinatorischer Ein- / Ausgang invertierend
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 18
GAL20V8Kombinatorischer Ein-/ Ausgang
10
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 19
GAL20V8Kombinatorischer Ein-/ Ausgang invertierend
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 20
ispGAL22V10In-System Programmable E2CMOS Generic Array Logic
�Im System Programmierbare Logik�Vierdraht Programmierschnittstelle�10000 Schreib- / Lesezyklen�20 Jahr Datenerhalt�10 Ausgangslogikzellen �Powerdown Logik�Pull-Up Widerstände�Elektronische Signatur
11
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 21
ispGAL22V10PIN-Belegung
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 22
ispGAL22V10Blockschaltbild
12
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 23
ispGAL22V10Blockschaltbild
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 24
ispGAL22V10Blockschaltbild
13
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 25
ispGAL22V10Programmierschnittstelle
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 26
ispGAL22V10Matrix
14
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 27
ispGAL22V10Ausgangsblöcke
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 28
ispGAL22V10Ausgangszelle
15
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 29
ispGAL22V10Register Ausgang
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 30
ispGAL22V10Kombinatorischer Ausgang
16
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 31
ispGAL22V10Ein- / Ausgangsschaltung
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 32
ispLSI2000 Familie
�Im System programmierbar�8-32 Generic Logic Blocks (GLB)�18 Eingänge pro GLB�alle GLB an einem Global Routing Pool (GRP)�32-192 I/O-PINs �I/O PINs konfigurierbar
17
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 33
ispLSI2000
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 34
ispLSI2000
18
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 35
ispLSI2000
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 36
ispLSI2000
19
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 37
ispLSI2000
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 38
ispLSI2000
20
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 39
ispLSI2000
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 40
ispLSI2000
21
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 41
ispLSI2000
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 42
ispLSI2000
22
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 43
GAL Entwicklungsumgebung
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 44
Quelltext für AND-Umsetzung
CHIP TEST GAL20V8A COMPLEX_MODE
;PIN 1 2 3 4 5 6 7 8 9 10 11 12X0 X1 NC NC NC NC NC NC NC NC NC GND ;Belegung NC NC Y NC NC NC NC NC NC NC NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24 Y = X0 * X1
X1 X0 Y 0 0 0 0 1 0 1 0 0 1 1 1
&
X0
X1
Y
Start Quelltext Name Chiptype Betriebsmode PIN- und Variablen-festlegung
Logikausdruck
23
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 45
AND mit Tristate Ausgang
CHIP TEST GAL20V8A COMPLEX_MODE
;PIN 1 2 3 4 5 6 7 8 9 10 11 12X0 X1 OE NC NC NC NC NC NC NC NC GND ;Belegung NC NC Y NC NC NC NC NC NC NC NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24 Y = X0 * X1Y.TRST = OE
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 46
Anschußbelegung und Simulation
Simulationsergebnis
Anschlussbelegung
24
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 47
JEDEC-Code Generierung
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 48
8-fach D-FF mit Tristate AusgangCHIP D_FF GAL20V8A COMPLEX_MODE
;PIN 1 2 3 4 5 6 7 8 9 10 11 12CLK X0 X1 X2 X3 X4 X5 X6 X7 NC NC GND ;Belegung /OE NC Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24 Q0 := X0 Q1 := X1Q2 := X2Q3 := X3Q4 := X4Q5 := X5Q6 := X6Q7 := X7
25
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 49
Multiplexer mit Tristate Ausgang
CHIP MUX GAL20V8A COMPLEX_MODE
;PIN 1 2 3 4 5 6 7 8 9 10 11 12X0 X1 X2 X3 A0 A1 OE NC NC NC NC GND ;Belegung NC NC Y NC NC NC NC NC NC NC NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24 Y = X0 * /A0 * /A1
+ X1 * A0 * /A1+ X2 * /A0 * A1+ X3 * A0 * A1
Y.TRST = OE
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 50
1 aus 8 DecoderCHIP 1-8-DEC GAL20V8A COMPLEX_MODE#DEFINE E /LE * /E2 * E1;PIN 1 2 3 4 5 6 7 8 9 10 11 12
LE E2 E1 A2 A1 A0 NC NC NC NC NC GND ;Belegung NC NC Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24/Q0 = E * /A2 * /A1 * /A0 /Q1 = E * /A2 * /A1 * A0 /Q2 = E * /A2 * A1 * /A0 /Q3 = E * /A2 * A1 * A0 /Q4 = E * A2 * /A1 * /A0 /Q5 = E * A2 * /A1 * A0 /Q6 = E * A2 * A1 * /A0 /Q7 = E * A2 * A1 * A0
26
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 51
CHIP LOGIK GAL20V8A COMPLEX_MODE#DEFINE AND A * B#DEFINE OR A + B#DEFINE EXOR A * /B + /A * B#DEFINE EXNOR /A * /B + A * B#DEFINE NAND /A + /B#DEFINE NOR /A * /B#DEFINE EINS VCC#DEFINE NULL GND;PIN 1 2 3 4 5 6 7 8 9 10 11 12
A B A0 A1 A2 NC NC NC NC NC NC GND ;Belegung NC NC C H NC NC NC NC NC NC NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24H = ( AND ) * /A2 * /A1 * /A0
+ ( NAND ) * /A2 * /A1 * A0+ ( OR ) * /A2 * A1 * /A0+ ( NOR ) * /A2 * A1 * A0
C = ( EXOR ) * A2 * /A1 * /A0+ ( EXNOR ) * A2 * /A1 * A0+ A2 * A1 * /A0+ H
Programmierbare Logikverknüpfung
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 52
CHIP CODE GAL20V8A COMPLEX_MODE;PIN 1 2 3 4 5 6 7 8 9 10 11 12
X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 NC GND ;Belegung NC NC A B C D NC NC NC NC NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24; DC BA DEZ ; 0 0 0 0 0; 0 0 0 1 1; 0 0 1 0 2; 0 0 1 1 3; 0 1 0 0 4; 0 1 0 1 5; 0 1 1 0 6; 0 1 1 1 7; 1 0 0 0 8; 1 0 0 1 9A = X1 + X3 + X5 + X7 + X9B = X2 + X3 + X6 + X7 C = X4 + X5 + X6 + X7D = X8 + X9
Codewandler Dezimal zu Dual
27
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 53
CHIP SIEBENSEG GAL20V8A SIMPLE_MODE; Segment;Ziffer a b c d e f g;------------------------------- a;0 0 0 0 0 0 0 1 ---;1 1 0 0 1 1 1 1 f | g | b;2 0 0 1 0 0 1 0 ---;3 0 0 0 0 1 1 0 e | | c;4 1 0 0 1 1 0 0 ---;5 0 1 0 0 1 0 0 d;6 0 1 0 0 0 0 0;7 0 0 0 1 1 1 1;8 0 0 0 0 0 0 0;9 0 0 0 0 1 0 0#DEFINE NULL /X0 * /X1 * /X2 * /X3#DEFINE EINS X0 * /X1 * /X2 * /X3#DEFINE ZWEI /X0 * X1 * /X2 * /X3#DEFINE DREI X0 * X1 * /X2 * /X3#DEFINE VIER /X0 * /X1 * X2 * /X3#DEFINE FUNF X0 * /X1 * X2 * /X3#DEFINE SECH /X0 * X1 * X2 * /X3#DEFINE SIEB X0 * X1 * X2 * /X3#DEFINE ACHT /X0 * /X1 * /X2 * X3#DEFINE NEUN X0 * /X1 * /X2 * X3
Siebensegmetdecoder
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 54
Siebensegmentdecoder
;PIN 1 2 3 4 5 6 7 8 9 10 11 12X0 X1 X2 X3 NC NC NC NC NC NC NC GND ;Belegung NC NC A B C D E F G NC NC VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24 A = EINS + VIER B = FUNF + SECHC = ZWEID = EINS + VIER + SIEBE = EINS + DREI + VIER + FUNF + SIEB + NEUN F = EINS + ZWEI + DREI + SIEBG = NULL + EINS + SIEB
28
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 55
Seiteneinblendung im Speicher
Hauptspeicher
Seite 0
Seite 1
Seite 2
Seite 3
CS0
CS1
CS2
CS3Zieladresse
Seite
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 56
Seitenadressierung im Speicher
7
A10...A0ZA2 ZA1 ZA0
5
6
4
2
1
0
Zieladresse Adressierung auf der Seite
3
Aktuelle AdresseA13 A12 A11
29
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 57
Chipselect Generierung
Ver
glei
cher
NOR
DE
MU
X
NOR
AND
CS0CS1CS2CS3
RegisterP1P0
Register Laden
/RD
/MR
/WR
A11A12A13
ZA0ZA1ZA2
OR
Seitenauswahl
Speicher Schreib-Oder Lesevorgang
Aktuelle Adresse
Zieladresse
Wenn die Zieladresse mitder aktuellen Adresseübereinstimmt und ein Speicherzugriff erfolgt, wird der Decoder für die ausgewählte Seite dasCSx generieren.
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 58
Chipselect Generierung
( ) ( ) ( ) ( ) ( ) ( )110110121121132132 �������������������� ⋅+⋅⋅⋅+⋅⋅⋅+⋅=
�������
�������
�������
�������
⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=
013
012
011
010
�������� ⋅+⋅=
Speicherzugriff erfolgt bei RD=0 und MR=0 oder WR=0 und MR=0
Die Zieladresse wird aus dem Vergleich von ZA3...ZA0 (Zieladresse) imSpeicherband und den aktuellen Adressbits A13..A11 gewonnen.
Das Chipselect CS3..CS0 wird aus den Page Bits P1..P0, dem Speicherzugriffund den Zieladressen gewonnen.
30
Liers - PEG-Vorlesung WS2000/2001 - Institut für Informatik - FU Berlin 59
ProgrammbeispielSpeicheradressierung
CHIP SPEICHER GAL20V8A COMPLEX_MODE
#DEFINE M /RD * /MR + /WR * /MR #DEFINE A /ZA1 * /A11 + ZA1 * A11 #DEFINE B /ZA2 * /A12 + ZA2 * A12 #DEFINE C /ZA3 * /A13 + ZA3 * A13 ;PIN 1 2 3 4 5 6 7 8 9 10 11 12
CLK P0 P1 RD WR MR ZA1 ZA2 ZA3 A11 A12 GND ;Belegung /OE NC PR0 PR1 NC NC CS0 CS1 CS2 CS3 A13 VCC ;Belegung
;PIN 13 14 15 16 17 18 19 20 21 22 23 24PR0 := P0PR1 := P1CS0 = /PR1 * /PR0 * A * B * C * MCS1 = /PR1 * PR0 * A * B * C * MCS2 = PR1 * /PR0 * A * B * C * MCS3 = PR1 * PR0 * A * B * C * M