This is an EMDP1 Adaptor and it is currently a work in progress.
The GAL adaptor board is used to program some of the generic array logic chips out there -- namely the 16V8, 18V10, 20V8, 22V10, 20XV10, 20RA10, 6001, 6002, and 26CV12.
The following revisions of the EMDP1 GAL Adaptor board are listed below:
In addition, there a number of personality plugs that plug into the EMPD1 GAL Adaptor Board to adapt it to different GAL parts:
When it comes to programming GAL's (Generic Array Logic) and PAL's (Programmable Array Logic) for the hobbyist, the first document to visit is Mark Zenier's Home-made PAL/GAL Programmers [Zenier1994] document. In Zenier's document are references to overview GAL documents by Gembris [Gembris1992] and a GAL programmer design by Nosswitz [Nosswitz1992, Nosswitz1993] Ultimately, with a little searching on the web, Manfred Winterhoff's GALBlast design [Winterhoff1998] is located.
This adaptor is pretty much a reimplementation of Manfred Winterhoff's GALBlast design with the following modifications:
The following table is adapted from the GALBlast project:
GAL
Pin16V8 18V10 20V8 22V10
20XV10
20RA106001
600226CV12 1(2) VIL VIL VIL VIL VIL VIL 2(3) EDIT EDIT EDIT EDIT EDIT EDIT 3(4) RA1 RA3 RA1 P/V- VIL P/V- 4(5) RA2 RA4 RA2 RA0 RA0 RA0 5(6) RA3 RA5 RA3 RA1 RA1 RA1 6(7) RA4 SCLK VIL RA2 RA2 RA2 7(9) RA5 SDIN VIL RA3 RA3 VCC 8(10) SCLK STB- RA4 RA4 RA4 VIL 9(11) SDIN SDOUT RA5 RA5 RA5 RA3 10(12) GND GND SCLK SCLK SCLK RA4 11(13) STB- VIL SDIN SDIN SDIN RA5 12(14) SDOUT VIL GND GND GND SCLK 13(16) VIL VIL STB- STB- STB- SDIN 14(17) VIL VIL VIL SDOUT SDOUT STB- 15(18) VIL VIL SDOUT VIL VIL SDOUT 16(19) VIL RA2 VIL VIL VIL VIL 17(20) VIL RA1 VIL VIL VIL VIL 18(21) RA0 RA0 VIL VIL VIL VIL 19(23) P/V- P/V- VIL VIL VIL VIL 20(24) VCC VCC VIL VIL VIL VIL 21(25) RA0 VIL VIL GND 22(26) P/V- VIL VIL VIL 23(27) VIL VIL P/V- VIL 24(28) VCC VCC VCC VIL 25 VIL 26 VIL 27 VIL 28 VIL
Since GAL adaptor is going to use a single 40 pin DIP, the table is rearrgned around 40-pin DIP.
In the table above, pins 7, 10, 12, 33, and 40 need to have ground, and VAR1 routed to them. Pin 2 can be straight wired to VAR2. BD# stands for Bi-Directional and PD# stands for Pull-Down. The final row, shows how many bi-directional and pull downs need to be routed to pins 7, 10, 12, 33, and 40 for a given chip. Since a bi-directional pin can be used as a pull-down, we need to run 2 bi-directional lines and 1 pull down to the plug.
GAL
Pin16V8 18V10 20V8 22V10
20XV10
20RA106001
600226CV12 Plug 1 VIL VIL VIL VIL VIL VIL PD0 2* EDIT* EDIT* EDIT* EDIT* EDIT* EDIT* VAR2 3 RA1 RA3 RA1 P/V- VIL P/V- BD0 4 RA2 RA4 RA2 RA0 RA0 RA0 BD1 5 RA3 RA5 RA3 RA1 RA1 RA1 BD2 6 RA4 SCLK VIL RA2 RA2 RA2 BD3 7* RA5 SDIN VIL RA3 RA3 VCC* PLUG7 8 SCLK STB- RA4 RA4 RA4 VIL BD4 9 SDIN SDOUT RA5 RA5 RA5 RA3 BD5 10* GND* GND* SCLK SCLK SCLK RA4 PLUG10 11 SDIN SDIN SDIN RA5 BD6 12* GND* GND* GND* SCLK PLUG12 13 SDIN BD7 14 STB- BD8 27 SDOUT BD9 28 VIL PD1 29 STB- STB- STB- VIL BD10 30 VIL SDOUT SDOUT VIL BD11 31 STB- VIL SDOUT VIL VIL VIL BD12 32 SDOUT VIL VIL VIL VIL VIL BD13 33* VIL VIL VIL VIL VIL GND* PLUG33 34 VIL VIL VIL VIL VIL VIL PD2 35 VIL VIL VIL VIL VIL VIL PD3 36 VIL RA2 VIL VIL VIL VIL BD14 37 VIL RA1 RA0 VIL VIL VIL BD15 38 RA0 RA0 P/V- VIL VIL VIL BD16 39 P/V- P/V- VIL VIL P/V- VIL BD17 40* VCC* VCC* VCC* VCC* VCC* VIL PLUG40 BD+PD 1+2 2+1 1+3 2+2 2+2 2+2
The plug needs the following on it:
Thus, the plug needs to be at least 14 pins. 16 pins is a more common number, so a 16 pin header is selected for the plug.
Class Count ZIF pins 5 Bi-directional pins 2 Pull-down pins 1 ID pins 4 GND and VAR1 2 Total 14
There will need to be three plugs, one for the 20-pin devices, one for the 24-pin devices, and one for the 28-pin devices.