GR8RAM/Docs.sch
2019-10-13 01:40:49 -04:00

642 lines
13 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

EESchema Schematic File Version 4
LIBS:GR8RAM-cache
EELAYER 29 0
EELAYER END
$Descr USLetter 11000 8500
encoding utf-8
Sheet 2 2
Title "GR8RAM"
Date "2019-10-13"
Rev "0.9"
Comp "Garrett's Workshop"
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 1500 1100 0 40 ~ 0
S7
Text Notes 6600 850 0 104 ~ 0
Video Access
Text Notes 8600 850 0 100 ~ 0
6502 CPU Access
Text Notes 5700 1100 0 40 ~ 0
S7
Wire Wire Line
5800 1000 5800 1100
Wire Wire Line
5500 1000 5800 1000
Wire Wire Line
5500 1100 5500 1000
Wire Wire Line
5200 1100 5500 1100
Wire Wire Line
6400 1000 6400 1100
Wire Wire Line
6100 1000 6400 1000
Wire Wire Line
6100 1100 6100 1000
Wire Wire Line
5800 1100 6100 1100
Wire Wire Line
6100 1550 6150 1450
Wire Wire Line
6100 1400 6150 1300
Wire Wire Line
6100 1150 6150 1250
Wire Wire Line
10300 1100 10300 1000
Wire Wire Line
10000 1100 10300 1100
Wire Wire Line
10000 1000 10000 1100
Wire Wire Line
9700 1000 10000 1000
Wire Wire Line
9400 1100 9700 1100
Wire Wire Line
9400 1000 9400 1100
Wire Wire Line
9100 1000 9400 1000
Wire Wire Line
9100 1100 9100 1000
Wire Wire Line
8800 1100 9100 1100
Wire Wire Line
8800 1000 8800 1100
Wire Wire Line
8500 1000 8800 1000
Wire Wire Line
8500 1100 8500 1000
Wire Wire Line
8200 1100 8500 1100
Wire Wire Line
8200 1000 8200 1100
Wire Wire Line
7900 1000 8200 1000
Wire Wire Line
7900 1100 7900 1000
Wire Wire Line
7600 1100 7900 1100
Wire Wire Line
7300 1100 7300 1000
Wire Wire Line
7000 1100 7300 1100
Wire Wire Line
7000 1000 7000 1100
Wire Wire Line
6700 1000 7000 1000
Wire Wire Line
6700 1100 6700 1000
Wire Wire Line
6400 1100 6700 1100
Wire Wire Line
7600 1000 7600 1100
Wire Wire Line
10300 1550 9450 1550
Wire Wire Line
8250 1450 9400 1450
Wire Wire Line
7350 1550 8200 1550
Wire Wire Line
8250 1450 8200 1550
Wire Wire Line
10300 1550 10350 1450
Wire Wire Line
9400 1450 9450 1550
Wire Wire Line
7300 1450 7350 1550
Wire Wire Line
7300 1000 7600 1000
Text Notes 6900 1100 0 40 ~ 0
S1
Text Notes 7500 1100 0 40 ~ 0
S2
Wire Wire Line
10300 1400 10350 1300
Wire Wire Line
8250 1400 10300 1400
Wire Wire Line
8200 1300 8250 1400
Wire Wire Line
10300 1150 10350 1250
Wire Wire Line
8250 1150 10300 1150
Wire Wire Line
8200 1250 8250 1150
Text Notes 8100 1100 0 40 ~ 0
S3
Text Notes 8700 1100 0 40 ~ 0
S4
Text Notes 9300 1100 0 40 ~ 0
S5
Text Notes 9900 1100 0 40 ~ 0
S6
Wire Wire Line
6150 1250 8200 1250
Text Notes 5100 1100 0 40 ~ 0
S6
Text Notes 4500 1100 0 40 ~ 0
S5
Text Notes 3900 1100 0 40 ~ 0
S4
Text Notes 1800 850 0 104 ~ 0
Video Access
Text Notes 3300 1100 0 40 ~ 0
S3
Text Notes 800 1250 2 50 ~ 0
PHI0
Text Notes 3850 850 0 100 ~ 0
6502 CPU Access (long)
Text Notes 800 1400 2 50 ~ 0
PHI1
Text Notes 900 1100 0 40 ~ 0
S6
Text Notes 2700 1100 0 40 ~ 0
S2
Text Notes 2100 1100 0 40 ~ 0
S1
Wire Wire Line
2500 1000 2800 1000
Text Notes 800 1550 2 50 ~ 0
~DEVSEL~
Wire Wire Line
1000 1100 1300 1100
Wire Wire Line
1000 1000 900 1000
Wire Wire Line
1000 1100 1000 1000
Wire Wire Line
2800 1000 2800 1100
Text Notes 800 1100 2 50 ~ 0
C7M
Wire Wire Line
1300 1100 1300 1000
Wire Wire Line
1300 1000 1600 1000
Wire Wire Line
1600 1000 1600 1100
Wire Wire Line
1600 1100 1900 1100
Wire Wire Line
1900 1100 1900 1000
Wire Wire Line
1900 1000 2200 1000
Wire Wire Line
2200 1000 2200 1100
Wire Wire Line
2200 1100 2500 1100
Wire Wire Line
2500 1100 2500 1000
Wire Wire Line
2800 1100 3100 1100
Wire Wire Line
3100 1100 3100 1000
Wire Wire Line
3100 1000 3400 1000
Wire Wire Line
3400 1000 3400 1100
Wire Wire Line
3400 1100 3700 1100
Wire Wire Line
3700 1100 3700 1000
Wire Wire Line
3700 1000 4000 1000
Wire Wire Line
4000 1000 4000 1100
Wire Wire Line
4000 1100 4300 1100
Wire Wire Line
4300 1100 4300 1000
Wire Wire Line
4300 1000 4600 1000
Wire Wire Line
4600 1100 4900 1100
Wire Wire Line
4900 1100 4900 1000
Wire Wire Line
4900 1000 5200 1000
Wire Wire Line
10300 1000 10400 1000
Wire Wire Line
10350 1250 10400 1250
Wire Wire Line
10350 1300 10400 1300
Wire Wire Line
10350 1450 10400 1450
Wire Wire Line
1350 1300 3400 1300
Wire Wire Line
1300 1400 1350 1300
Wire Wire Line
1350 1250 3400 1250
Wire Wire Line
1300 1150 1350 1250
Wire Wire Line
900 1150 1300 1150
Wire Wire Line
1300 1400 900 1400
Wire Wire Line
3400 1300 3450 1400
Wire Wire Line
3400 1250 3450 1150
Wire Wire Line
3450 1400 6100 1400
Wire Wire Line
3450 1150 6100 1150
Wire Wire Line
9700 1100 9700 1000
Text Notes 900 3500 0 100 ~ 0
State Synchronization
Text Notes 7050 3500 0 100 ~ 0
Address Bus Routing
Wire Wire Line
1600 1850 1650 1750
Wire Wire Line
1600 1750 1650 1850
Text Notes 800 1850 2 50 ~ 0
A
Wire Wire Line
6400 1750 6450 1850
Wire Wire Line
6400 1850 6450 1750
Wire Wire Line
1600 1750 900 1750
Wire Wire Line
900 1850 1600 1850
Wire Wire Line
1650 1750 6400 1750
Wire Wire Line
6450 1750 10400 1750
Wire Wire Line
6450 1850 10400 1850
Text Notes 800 2000 2 50 ~ 0
D (wr)
Wire Wire Line
4800 1900 6400 1900
Wire Wire Line
4800 2000 6400 2000
Wire Wire Line
9600 1900 9550 1950
Wire Wire Line
9600 2000 9550 1950
Wire Wire Line
9600 1900 10400 1900
Wire Wire Line
9600 2000 10400 2000
Text Notes 800 2150 2 50 ~ 0
D (rd)
Wire Wire Line
5050 2050 5000 2100
Wire Wire Line
5050 2150 5000 2100
Wire Wire Line
6400 2050 6450 2100
Wire Wire Line
6400 2150 6450 2100
Wire Wire Line
5000 2100 1650 2100
Wire Wire Line
5050 2050 6400 2050
Wire Wire Line
5050 2150 6400 2150
Wire Wire Line
1600 2050 1650 2100
Wire Wire Line
1600 2150 1650 2100
Wire Wire Line
1600 2050 900 2050
Wire Wire Line
1600 2150 900 2150
Wire Wire Line
9850 2050 10400 2050
Wire Wire Line
9850 2150 10400 2150
Wire Wire Line
6450 2100 9800 2100
Wire Wire Line
9850 2150 9800 2100
Wire Wire Line
9850 2050 9800 2100
Wire Wire Line
6450 1950 9550 1950
Wire Wire Line
6400 2000 6450 1950
Wire Wire Line
6400 1900 6450 1950
Wire Wire Line
6150 1300 8200 1300
Text Notes 3650 3900 0 100 ~ 0
ROM / DRAM Control
Text Notes 3650 3550 0 100 ~ 0
Refresh Skip Counter
Text Notes 3700 3650 0 50 ~ 0
Ref[3:0] = ~S1~ ? Ref[3:0] : Ref[3:2]==3 ? 0 : Ref[3:0]+1 @ ~C7M~
Text Notes 950 4850 0 50 ~ 0
BankSEL = A==XXXF & DEVSEL & REGEN\nRAMSEL = A==XXX3 & DEVSEL & REGEN\nRAMSELreg = S3 ? RAMSEL : RAMSELreg;\nAddrHSEL = A==XXX2 & DEVSEL & REGEN\nAddrMSEL = A==XXX1 & DEVSEL & REGEN\nAddrLSEL = A==XXX0 & DEVSEL & REGEN\n\nREGEN = (IOSEL & S3) ? 1 : REGEN @ C7M\nIOROMEN = (A==XXFF & IOSTRB & S3) ? 0 :\n (A==XX00 & IOSEL & S3) ? 1 :\n IOROMEN @ C7M
Text Notes 900 3900 0 100 ~ 0
Select Signals
Text Notes 950 3700 0 50 ~ 0
PHI0reg = PHI0 @ C7M\nS[3:0] = (~PHI0~ & PHI0reg) ? 1 : S0 ? 0 : S+1 @ C7M
Wire Wire Line
1650 1850 6400 1850
Text Notes 800 3050 2 50 ~ 0
RA
Text Notes 800 2750 2 50 ~ 0
~CAS~
Wire Wire Line
2550 2750 3100 2750
Wire Wire Line
2500 2650 2550 2750
Wire Wire Line
3100 2750 3150 2650
Wire Wire Line
1300 2750 1350 2650
Wire Wire Line
7900 2750 7350 2750
Wire Wire Line
7900 2750 7950 2650
Wire Wire Line
7300 2650 7350 2750
Wire Wire Line
5500 2950 5550 3050
Wire Wire Line
5500 3050 5550 2950
Wire Wire Line
9100 3050 9150 2950
Wire Wire Line
9100 2950 9150 3050
Wire Wire Line
9400 2650 9450 2750
Wire Wire Line
4300 2950 4350 3050
Wire Wire Line
4300 3050 4350 2950
Wire Wire Line
10300 3050 10350 2950
Wire Wire Line
10300 2950 10350 3050
Wire Wire Line
9150 2950 10300 2950
Wire Wire Line
9150 3050 10300 3050
Wire Wire Line
1300 3050 1350 2950
Wire Wire Line
1300 2950 1350 3050
Wire Wire Line
1300 2950 900 2950
Wire Wire Line
1300 3050 900 3050
Wire Wire Line
4600 2650 4650 2750
Wire Wire Line
4900 2650 4950 2750
Wire Wire Line
10300 2750 10350 2650
Wire Wire Line
900 2750 1300 2750
Wire Wire Line
9700 2650 9750 2750
Wire Wire Line
10350 2950 10400 2950
Wire Wire Line
10350 3050 10400 3050
Wire Wire Line
5550 2950 9100 2950
Wire Wire Line
5550 3050 9100 3050
Wire Wire Line
4350 2950 5500 2950
Wire Wire Line
4350 3050 5500 3050
Wire Wire Line
4300 3050 1350 3050
Wire Wire Line
1350 2950 4300 2950
Text Notes 800 2600 2 50 ~ 0
~CAS~f
Wire Wire Line
9400 2500 9450 2600
Wire Wire Line
4600 2500 4650 2600
Wire Wire Line
5200 2500 5250 2600
Wire Wire Line
6400 2600 6450 2500
Wire Wire Line
10000 2500 10050 2600
Text Notes 800 2450 2 50 ~ 0
~CAS~r
Wire Wire Line
3100 2450 3150 2350
Wire Wire Line
7900 2450 7350 2450
Wire Wire Line
7900 2450 7950 2350
Wire Wire Line
7300 2350 7350 2450
Wire Wire Line
9700 2350 9750 2450
Wire Wire Line
4900 2350 4950 2450
Wire Wire Line
5500 2450 5550 2350
Wire Wire Line
10300 2450 10350 2350
Wire Wire Line
4950 2450 5500 2450
Wire Wire Line
2200 2600 2250 2500
Wire Wire Line
900 2600 2200 2600
Wire Wire Line
9750 2450 10300 2450
Wire Wire Line
6100 2750 6150 2650
Wire Wire Line
1600 1900 900 1900
Wire Wire Line
1600 2000 900 2000
Wire Wire Line
1350 1450 1300 1550
Wire Wire Line
2500 2350 2550 2450
Wire Wire Line
2550 2450 3100 2450
Wire Wire Line
10000 2900 10050 2800
Wire Wire Line
8850 2900 8800 2800
Wire Wire Line
5200 2900 5250 2800
Wire Wire Line
3400 2900 3450 2800
Wire Wire Line
2850 2900 3400 2900
Wire Wire Line
2800 2800 2850 2900
Wire Wire Line
8200 2900 8250 2800
Wire Wire Line
7650 2900 8200 2900
Wire Wire Line
7600 2800 7650 2900
Wire Wire Line
900 2900 1000 2900
Wire Wire Line
1000 2900 1050 2800
Text Notes 800 2900 2 50 ~ 0
~RAS~
Text Notes 7100 3800 0 50 ~ 0
RA[10:8] = (RAMSEL & (S4 | S5)) ? Addr[10:8] : Addr[21:19] @ C7M\nRA[7:1] = RAMSEL ? (S4 ? Addr[7:1] : Addr[18:12]) : Bank[6:0] @ C7M\nRA[0] = RAMSEL ? (S4 ? Addr[0] : Addr[11]) : A[11] @ C7M
Text Notes 3700 4850 0 50 ~ 0
DBEN = ~S2~ & ~S3~ @ C7M\nRCS = IOSEL | (IOSTRB & IOROMEN)\nROE = R~W~\nRWE = ~R~W & (DEVSEL | IOSEL | IOSTRB)\n\nCASr = (S1 & Ref[3:0]==0) | (S5 & RAMSEL) @ C7M\nCASf = ((S5 & R~W~) | S6 | S7) & RAMSEL @ ~C7M~\n\nRASf = (S4 & RAMSEL) | (S5 & RAMSEL & ~R~W) | (S2 & Ref[3:0]==0) @ ~C7M~\nCAS0 = CASr | (CASf & DEVSEL & ~Addr[22]~)\nCAS1 = CASr | (CASf & DEVSEL & Addr[22])
Text Notes 7100 5200 0 50 ~ 0
RD[7:0] = (~R~W & ~RES~) ? D[7:0]: 8bZ\nD[7:0] = (DBEN & R~W~ & ~RES~ & (DEVSEL | IOSEL | (IOSTRB & ROMEN))) ?\n AddrHSEL ? {1b1, Addr[22:16]} : \n AddrMSEL ? Addr[15:8] : \n AddrLSEL ? Addr[7:0] : \n RD[7:0] : 8bZ
Text Notes 7100 4500 0 50 ~ 0
Bank[6:0] = (S6 & BankSEL & ~R~W) ? D[6:0] : Bank[6:0] @ C7M\nAddr[22:16] = (S6 & AddrHSEL & ~R~W) ? D[6:0] : Addr[22:16] @ C7M\nAddr[15:8] = (S6 & AddrMSEL & ~R~W) ? D[7:0] : Addr[15:8] @ C7M\nAddr[7:0] = (S6 & AddrLSEL & ~R~W) ? D[7:0] : Addr[7:0] @ C7M\nif (S1 & RAMSELreg) Addr[22:0]++ @ C7M
Text Notes 7050 4700 0 100 ~ 0
Data Bus Routing
Text Notes 7050 4050 0 100 ~ 0
6502-Accessible Registers
Wire Wire Line
4900 2900 4950 2800
Wire Wire Line
9700 2900 9750 2800
Wire Wire Line
900 1550 1300 1550
Wire Wire Line
3400 1450 3450 1550
Wire Wire Line
3900 1450 3950 1550
Wire Wire Line
6350 1550 6400 1450
Wire Wire Line
6150 1450 7300 1450
Wire Bus Line
6100 1550 6100 2250
Wire Wire Line
1350 1450 3400 1450
Wire Bus Line
7900 950 7900 2200
Wire Bus Line
8500 950 8500 2200
Wire Bus Line
9100 950 9100 2200
Wire Bus Line
9700 950 9700 2200
Wire Bus Line
10300 850 10300 2250
Wire Bus Line
8200 850 8200 2250
Wire Bus Line
7300 950 7300 2200
Wire Bus Line
6700 950 6700 2200
Wire Bus Line
6100 850 6100 1550
Wire Bus Line
5500 950 5500 2200
Wire Bus Line
3700 950 3700 2200
Wire Bus Line
4300 950 4300 2200
Wire Bus Line
4900 950 4900 2200
Wire Bus Line
3100 950 3100 2200
Wire Bus Line
1300 850 1300 2250
Wire Bus Line
1900 950 1900 2200
Wire Bus Line
2500 950 2500 2200
Wire Wire Line
3400 1450 3900 1450
Wire Bus Line
3400 850 3400 2250
Text Notes 800 1700 2 50 ~ 0
PHI0
Wire Wire Line
3400 1700 3450 1600
Wire Wire Line
6600 1600 6650 1700
Wire Wire Line
6150 1600 6200 1700
Wire Wire Line
3400 1700 1350 1700
Wire Wire Line
1350 1700 1300 1600
Wire Wire Line
900 1600 1300 1600
Wire Wire Line
8200 1700 8250 1600
Wire Wire Line
8250 1600 10300 1600
Wire Wire Line
10400 1650 10450 1650
Wire Wire Line
10350 1550 10400 1650
Wire Wire Line
5200 1000 5200 1100
Wire Wire Line
4600 1000 4600 1100
Text Notes 6300 1100 0 40 ~ 0
S7
Text Notes 1200 6100 0 200 ~ 0
Information here may be out of date,\nsuperseded by ./cpld/GR8RAM.v
Wire Wire Line
1600 2000 1650 1950
Wire Wire Line
1600 1900 1650 1950
Wire Wire Line
4750 1950 1650 1950
Wire Wire Line
4800 2000 4750 1950
Wire Wire Line
4800 1900 4750 1950
Wire Wire Line
3450 1550 6350 1550
Wire Wire Line
3450 1600 6600 1600
Wire Wire Line
6200 1700 8200 1700
Wire Wire Line
9450 2600 10400 2600
Wire Wire Line
4650 2600 6400 2600
Wire Wire Line
900 2500 10400 2500
Wire Wire Line
4050 2900 4000 2800
Wire Wire Line
1350 2650 2500 2650
Wire Wire Line
4000 2800 3450 2800
Wire Wire Line
2800 2800 1050 2800
Wire Wire Line
4650 2750 6100 2750
Wire Wire Line
4050 2900 5200 2900
Wire Wire Line
4950 2800 7600 2800
Wire Wire Line
3150 2650 7300 2650
Wire Wire Line
9450 2750 10300 2750
Wire Wire Line
8850 2900 10000 2900
Wire Wire Line
7950 2650 10400 2650
Wire Wire Line
8250 2800 10400 2800
Wire Wire Line
900 2350 2500 2350
Wire Wire Line
7950 2350 10400 2350
Wire Wire Line
3150 2350 7300 2350
$EndSCHEMATC