GALs Auf der Controllerkarte

Nächstes Kapitel Nächstes Kapitel
2.1.3.3.3
Vorheriges Kapitel Vorheriges Kapitel

GAL 1: Interruptsteuerung des MC68020

Das GAL 1 dient der Steuerung der Interrupt-Anforderungen der mit dem MC68020 kommunizierenden Baugruppen.
Der Baustein funktioniert wie ein Prioritätsencoder, d.h. die anstehenden Interruptanforderungen werden nach ihrer Wichtigkeit verschlüsselt und dem Prozessor MC68020 über eine Kombination der Signale IPL0\, IPL1\ und IPL2\ (Interrupt-Level 0 - 7) weitergegeben, wobei IPL0\ die niedrigste und IPL2\ die höchste Wertigkeit besitzen. Level 7 zeigt einen Nicht-Maskierbaren-Interrupt (NMI) an und hat die höchste Priorität.
Diese Interruptanforderung wird durch das Signal IRQEXT1\ ausgelöst.
Die zweithöchste Priorität wurde der Interrupt-Anforderung des Serien/Parallel-Wandlers zugeordnet, damit gewährleistet wird, daß die Daten aus dem Schieberegister möglichst schnell ausgelesen werden können.
Die beiden nächstwichtigen Interrupt-Anforderungen sind die des Parallelinterface/Timer MC68230 und die Interruptanforderung des MC68681, dessen serielle Schnittstelle auf dem Controller nur zu Testzwecken benutzt wird.
Der Interrupt-Level 2 wurden an den Timer des PI/T vergeben, der allerdings in der Gesamtschaltung voraussichtlich keine Funktion erhält. Level 0 bedeutet, daß keine Interruptanforderung anliegt und der Prozessor seinen Arbeitszyklus fortsetzen kann (siehe auch Tabelle 10 im Kapitel 2.1.3.6. Interruptbehandlung). Es folgen die Pinbelegung und die mit dem GAL-Assembler erzeugte Datei (IRQ.PDS), welche die Pinbelegung des Bausteins und die schaltalgebraischen Zusammenhänge enthält.

 

GAL 1 Pinbelegung

Bild 26: GAL 1 Pinbelegung

Sourcecode für die Programmierung von GAL 1

;PALASM Design Description
;---------------------------------- Declaration Segment ---------------------------------------
TITLE               INTERRUPTSTEUERUNG DES MC68020
PATTERN	            GAL 1 FILE:IRQ.PDS
REVISION	        1.0
AUTHOR              HANSEN / HOLTBECKER
COMPANY             FH DÜSSELDORF
DATE                09/03/93
CHIP                GAL 1 PALCE16V8
;---------------------------------- PIN Declarations --------------------------------------------
PIN  1  NC          INPUT
PIN  2  IRQSP       INPUT
PIN  3  IRQEXT2     INPUT
PIN  4  IRQEXT1     INPUT
PIN  5  IRQTI230B   INPUT
PIN  6  IRQTI230A   INPUT
PIN  7  IRQ230B     INPUT
PIN  8  IRQ230      INPUT
PIN  9  IRQ68681    INPUT
PIN  10 GND         POWER
PIN  11 PU          INPUT
PIN  12 IPL0        COMBINATORIAL ; OUTPUT
PIN  13 IPL1        COMBINATORIAL ; OUTPUT
PIN  14 IPL2        COMBINATORIAL ; OUTPUT
PIN  15 AVEC        COMBINATORIAL ; OUTPUT
PIN  16 NC	       
PIN  17 NC	       
PIN  18 NC	       
PIN  19 NC	       
PIN  20 VCC         POWER
;----------------------------------- Boolean Equation Segment -------------------------------
EQUATIONS
/IPL2  =  (/IRQEXT1 + (IRQEXT1 * /IRQSP) + (IRQEXT1 * IRQSP * /IRQ230A) + (IRQEXT1 * IRQSP 
	* IRQ230A * /IRQ230B)) * PU
/IPL1  =  (/IRQEXT1 + (IRQEXT1 * /IRQSP) + (IRQEXT1 * IRQSP * IRQ230A * IRQ230B * /IRQ68681) 
	+ (IRQEXT1 * IRQSP * IRQ230A * IRQ230B * IRQ68681 * /IRQTI230A)) * PU
/IPL0  =  (/IRQEXT1 + (IRQEXT1 * IRQSP * /IRQ230A) + (IRQEXT1 * IRQSP * IRQ230A *  IRQ230B 
	* /IRQEXT2) + (IRQEXT1 * IRQSP * IRQ230A * IRQ230B * IRQ68681 * IRQTI230A * /IRQTI230B)) 
	* PU
/AVEC  =  IRQEXT1 * /IRQSP * PU

GAL 2: IACK-Steuerung des MC68020

GAL 2 übernimmt die Funktion eines Binärdecoders und weist die vom Mikroprozessor MC68020 kommenden Bestätigungen auf die Interrupt-Anforderungen den betreffenden Bausteinen zu.
Die Decodierung erfolgt über die Adressen A1 - A3. Die Freigabe vom Mikroprozessor erhält GAL 2, sodald die Funktionscode-Signale am MC68020 (FC0 - FC2) auf "high" gesetzt werden, wodurch ein Interrupt-Acknowledge-Zyklus angezeigt wird. Die Bestätigungen werden nach der gleichen Prioritätsfolge vergeben wie die der zugehörigen Interrupt-Anforderungen. Dadurch wird gewährleistet, daß der Baustein, der den Interrupt am Prozessor ausgelöst hat, auch dessen Bestätigung erhält (siehe auch Tabelle 11 im Kapitel 2.1.3.6. Interruptbehandlung).

GAL 2 Pinbelegung

Bild 27: GAL 2 Pinbelegung

Sourcecode für die Programmierung von GAL 2

;PALASM Design Description
;---------------------------------- Declaration Segment ---------------------------------------
TITLE               IACK-STEUERUNG DES MC68020
PATTERN	            GAL 2 FILE:IACK.PDS
REVISION            1.0
AUTHOR	            HANSEN / HOLTBECKER
COMPANY	            FH DÜSSELDORF
DATE                09/07/93
CHIP                GAL 2 PALCE16V8
;---------------------------------- PIN Declarations --------------------------------------------
PIN  1  AS          INPUT 
PIN  2  A1          INPUT 
PIN  3  A2          INPUT 
PIN  4  A3          INPUT 
PIN  5  NC          INPUT 
PIN  6  NC          INPUT 
PIN  7  NC          INPUT 
PIN  8  NC          INPUT 
PIN  9  NC          INPUT 
PIN  10 GND         POWER
PIN  11 FC          INPUT 
PIN  12 IACKSP      COMBINATORIAL ; OUTPUT
PIN  13 IACKEXT2    COMBINATORIAL ; OUTPUT
PIN  14 IACKEXT1    COMBINATORIAL ; OUTPUT
PIN  15 IACKTI230B  COMBINATORIAL ; OUTPUT
PIN  16 IACKTI230A  COMBINATORIAL ; OUTPUT
PIN  17 IACK230B    COMBINATORIAL ; OUTPUT
PIN  18 IACK230A    COMBINATORIAL ; OUTPUT
PIN  19 IACK68681   COMBINATORIAL ; OUTPUT
PIN  20 VCC         POWER
;----------------------------------- Boolean Equation Segment -------------------------------
EQUATIONS
/IACKEXT1   =  /A1 * /A2 * /A3 * /AS * FC
/IACKSP     =  A1 * /A2 * /A3 * /AS * FC
/IACK230A   =  /A1 * A2 * /A3 * /AS * FC
/IACK230B   =  A1 * A2 * /A3 * /AS * FC
/IACK68681  =  /A1 * /A2 * A3 * /AS * FC
/IACKTI230A =  A1 * /A2 * A3 * /AS * FC
/IACKTI230B =  /A1 * A2 * A3 * /AS * FC

GAL 3: DTACK-Steuerung des MC68020

GAL 3 nimmt die DTACK\-Signale der Peripheriebausteine, der Speicher und des Serien/Parallel-Wandlers sowie die beiden externen DTACK\-Signale auf und teilt dem Mikroprozessor MC68020, codiert über dessen Eingangssignale DSACK0\ und DSACK1\ mit, ob es sich bei dem anstehenden Datentransfer um einen Transfer über einen 8 Bit-Port (MC68230, MC68681, Dual-Port RAM) oder über einen 32 Bit-Port (Serien/Parallel-Wandler, EPROM, RAM) handelt.
Der externe DSACK\ wird in Form von DTEXT0\ und DTEXT1\ direkt vom GAL an den Prozessor weitergegeben. Er muß bei der momentanen Programmierung des GALs extern codiert werden. Liegt kein DTACK\-Signal an, legt der Prozessor einen Wartezyklus ein. Je nach anliegendem DTACK\ wird dem Prozessor angezeigt, wieviele Bytes übertragen werden können, so daß er die entsprechende Anzahl von Buszyklen durchführen kann.

GAL 3 Pinbelegung

Bild 28: GAL 3 Pinbelegung

Sourcecode für die Programmierung von GAL 3

;PALASM Design Description
;---------------------------------- Declaration Segment -----------------------------
TITLE               DTACK - STEUERUNG
PATTERN             GAL 3 FILE:DTACK.PDS
REVISION            1.0
AUTHOR              HANSEN / HOLTBECKER
COMPANY             FH DÜSSELDORF
DATE                08/02/93
CHIP                GAL 3 PALCE16V8
;---------------------------------- PIN Declarations ---------------------------------
PIN  1  DT230A      INPUT
PIN  2  DT230B      INPUT
PIN  3  DT681       INPUT
PIN  4  DTEXT0      INPUT
PIN  5  DTEXT1      INPUT
PIN  6  DTSP        INPUT
PIN  7  DTEPR       INPUT
PIN  8  DTRAM       INPUT
PIN  9  NC          INPUT
PIN  10 GND         POWER
PIN  11 DS          INPUT
PIN  12 DSACK1      COMBINATORIAL ; OUTPUT
PIN  13 DSACK0      COMBINATORIAL ; OUTPUT
PIN  14 NC
PIN  15 NC
PIN  16 NC
PIN  17 NC
PIN  18 NC
PIN  19 NC
PIN  20 VCC		POWER
;----------------------------------- Boolean Equation Segment --------------------
EQUATIONS
/DSACK0  =  (/DT230A+/DT230B+/DT681+/DTEXT0+/DTSP+/DTEPR+/DTRAM) * /DS
/DSACK1  =  (/DTEXT1+/DTSP+/DTEPR+/DTRAM) * /DS

GAL 4: Byteauswahl in den Speicherbänken

GAL 4 ist für die korrekte Steuerung der Byte/Wortzugriffe (siehe Kapitel 2.1.3.1.2 Busoperationen) innerhalb der 32 Bit breiten RAM- und EPROM-Bänke zuständig.
Die Adressen A0 und A1 und die beiden Tri-State-Ausgänge des MC68020 SIZE0\ und SIZE\1 werden innerhalb des GALs entsprechend der Schaltungsnachbildung in Bild 11 programmiert.

GAL 4 Pinbelegung

Bild 29: GAL 4 Pinbelegung

Sourcecode für die Programmierung von GAL 4

;PALASM Design Description
;---------------------------------- Declaration Segment ---------------------------------------
TITLE               SPEICHERADRESSIERUNG
PATTERN             GAL 4 FILE:MEMADR.PDS
REVISION            1.0
AUTHOR              HANSEN / HOLTBECKER
COMPANY             FH DÜSSELDORF
DATE                08/25/93
CHIP                GAL 4 PALCE16V8
;---------------------------------- PIN Declarations --------------------------------------------
PIN  1  RAM         INPUT 
PIN  2  S1          INPUT
PIN  3  S0          INPUT
PIN  4  A0          INPUT 
PIN  5  A1          INPUT 
PIN  6  EPR         INPUT 
PIN  7  EPRB        INPUT 
PIN  8  NC          INPUT 
PIN  9  NC          INPUT 
PIN  10 GND         POWER
PIN  11 DS          INPUT 
PIN  12 LLDRAM      COMBINATORIAL ; OUTPUT
PIN  13 LMDRAM      COMBINATORIAL ; OUTPUT
PIN  14 UMDRAM      COMBINATORIAL ; OUTPUT
PIN  15 UUDRAM      COMBINATORIAL ; OUTPUT
PIN  16 LLDEPR      COMBINATORIAL ; OUTPUT
PIN  17 LMDEPR      COMBINATORIAL ; OUTPUT
PIN  18 UMDEPR      COMBINATORIAL ; OUTPUT
PIN  19 UUDEPR      COMBINATORIAL ; OUTPUT
PIN  20 VCC         POWER
;----------------------------------- Boolean Equation Segment -------------------------------
UUDRAM  =  /A1 * /A0 */DS * /RAM
UMDRAM  =  ((/S0 * /A1) + (/A1 * A0) + (S1 * /A1))* /DS * /RAM 
LMDRAM  =  ((/A0 * A1) + (/A1 * /S0 * /S1) + (S1 * S0 * /A1) + (/S0 * /A1 * A0)) * /DS * /RAM
LLDRAM  =  ((A0 * S0 * S1) + (/S0 * /S1) + (A0 * A1) + (A1 * S1)) * /DS * /RAM 
UUDEPR  =  /A1 * /A0 */DS * (/EPR +/EPRB)
UMDEPR  =  ((/S0 * /A1) + (/A1 * A0) + (S1 * /A1))* /DS * (/EPR +/EPRB)
LMDEPR  =  ((A0 * S0 * S1) + (/S0 * /S1) + (A0 * A1) + (A1 * S1)) * /DS * (/EPR + /EPRB)
LLDEPR  =  /A1 * /A0 */DS * (/EPR +/EPRB)

GAL 5: Adressierung der Speicherbänke

GAL 5 decodiert an Hand der Adressen A19 - A21 die jeweiligen Speicherbänke und steuert sie an, wenn die beiden Freigabe-Signale Adress Strobe (AS\) und RAM\ vorliegen.
Durch das Flipflop, gebildet durch IC14B und IC14D, wird gewährleistet, daß das Signal RAM\ erst aktiviert wird, wenn der Prozessor sich nicht mehr in der Bootphase befindet. Das Flipflop sorgt außerdem dafür, daß die EPROMs während des Hochlaufens der Controllerkarte stets angesprochen werden.

GAL 5 Pinbelegung

Bild 30: GAL 5 Pinbelegung

Sourcecode für die Programmierung von GAL 5

;PALASM Design Description
;---------------------------------- Declaration Segment ---------------------------------------
TITLE               ADRESSIERUNG DER SPEICHERBÄNKE
PATTERN             GAL 5 FILE:BANK.PDS
REVISION            1.0
AUTHOR              HANSEN / HOLTBECKER
COMPANY             FH DÜSSELDORF
DATE                09/03/93
CHIP                GAL 5 PALCE16V8
;---------------------------------- PIN Declarations --------------------------------------------
PIN  1  A21         INPUT 
PIN  2  A20         INPUT 
PIN  3  A19         INPUT 
PIN  4  RAM         INPUT 
PIN  5  NC          INPUT 
PIN  6  NC          INPUT 
PIN  7  NC          INPUT 
PIN  8  NC          INPUT 
PIN  9  NC          INPUT 
PIN  10 GND         POWER
PIN  11 AS          INPUT 
PIN  12 BANK8       COMBINATORIAL ; OUTPUT
PIN  13 BANK7       COMBINATORIAL ; OUTPUT
PIN  14 BANK6       COMBINATORIAL ; OUTPUT
PIN  15 BANK5       COMBINATORIAL ; OUTPUT
PIN  16 BANK4       COMBINATORIAL ; OUTPUT
PIN  17 BANK3       COMBINATORIAL ; OUTPUT
PIN  18 BANK2       COMBINATORIAL ; OUTPUT
PIN  19 BANK1       COMBINATORIAL ; OUTPUT
PIN  20 VCC         POWER
;----------------------------------- Boolean Equation Segment -------------------------------
EQUATIONS
/BANK1  =  /AS * /RAM * /A21 * /A20 * /A19
/BANK2  =  /AS * /RAM * A21 * /A20 * /A19
/BANK3  =  /AS * /RAM * /A21 * A20 * /A19
/BANK4  =  /AS * /RAM * A21 * A20 * /A19
/BANK5  =  /AS * /RAM * /A21 * /A20 * A19
/BANK6  =  /AS * /RAM * A21 * /A20 * A19
/BANK7  =  /AS * /RAM * /A21* A20 * A19
/BANK8  =  /AS * /RAM * A21 * A20 * A19 
Nächstes Kapitel Nächstes Kapitel
2.1.3.3.3
Vorheriges Kapitel Vorheriges Kapitel