Hi John,
It’s a long time since I’ve used GALs – but I agree they are very useful as glue logic. I’ve been longing to step up to FPGAs and CPLDs but haven’t yet found the time to conquer the learning curve.
I used to use a free National Semiconductor package known as “Opal Jr” (or similar name). The compiler was a DOS command-line tool called “eqn2jed”. It came with some helpful tutorial/how-to files. It should be findable on the web – it looks like it can be downloaded from this link (which I haven’t tested) -> http://www.uchobby.com/index.
php/2008/03/30/gals-for- I was able to get going with GALs using this package as my only resource.electronics-hobby/
If need be, I can go through some old backup disks and find eqn2jed and some sample EQN files for you.
The biggest problem I had with GALs was that the programmer I was using (a kit design from Elektor Electronics in the early 90s) was very fussy about which GALs it would support – some speeds, some manufacturers, etc just would not work with it (even within the 16V8 family). So I am interested to hear whether the VP-290 is a more reliable solution.
Malcolm.
From: monahanz [mailto:mon...@vitasoft.org]
Sent: Saturday, 22 March 2014 3:32 PM
To: n8ve...@googlegroups.com
Subject: [N8VEM-S100:2856] Help Programming PAL's/GAL's
Has anybody in this group had experience in the past programming simple GAL’s.
I am a total beginner trying to work with these potentially useful chips. While primitive today compared to FPGA’s etc. these 20-24 pin DIP GAL16V8’s or GAL22V10’s really can simplify an S-100 board when we go to 32bit and higher CPU’s, DRAM etc. They are readily available from the likes of Jameco for ~2$ and are completely reprogrammable.
I just got a Wellon VP-290 to program them. A long story in itself, the first unit had a bad power connection. Anyway two weeks later I actually got going.
There are two DOS style languages used to write “.JED” files to program these things. Oldest is ABLE more recent is PALASM4. Well documented on the web with some decent downloads.
Both require MSDOS to run. After much screwing around I got both to run in Windows 64bit V8.1 using DOSBox (http://www.dosbox.com/
download.php?main=1 ) great program BTW.
To test the whole system (and my knowledge of PALASM) I wrote the following short program for a simple PAL/GAL16V8:-
;PALASM Design Description
;-----------------------------
----- Declaration Segment ------------ TITLE xxx
PATTERN xxx
REVISION xxx
AUTHOR jm
COMPANY vs
DATE 03/21/14
CHIP _test1 PALCE16V8
;-----------------------------
----- PIN Declarations --------------- PIN 2 x
COMBINATORIAL ; PIN 3 y
COMBINATORIAL ; PIN 4 z
COMBINATORIAL ; PIN 12 a
COMBINATORIAL ; PIN 13 b COMBINATORIAL ;
PIN 14 c
COMBINATORIAL ; PIN 15 d
COMBINATORIAL ; PIN 16 e
COMBINATORIAL ; PIN 17 f
COMBINATORIAL ; PIN 18 g
COMBINATORIAL ; PIN 19 h
COMBINATORIAL ;
;-----------------------------
------ Boolean Equation Segment ------ EQUATIONS
/a = /x * /y * /z
/b = /x * /y * z
/c = /x * y * /z
/d = /x * y * z
/e = x * /y * /z
/f = x * /y * z
/g = x * y * /z
/h = x * y * z
This when run through PALASM4 gave the following .JED file for the programmer.
PALASM4 PAL ASSEMBLER - MARKET RELEASE 1.5a (8-20-92)
(C) - COPYRIGHT ADVANCED MICRO DEVICES INC., 1992
TITLE :xxx AUTHOR :jm
PATTERN :xxx COMPANY:vs
REVISION:xxx
DATE :03/21/14
[1][1]
PAL16V8
_TEST1*
QP20*
QF2194*
G0*F0*
L0000 011101110111111111111111111111
11* L0032 000000000000000000000000000000
00* L0064 000000000000000000000000000000
00* L0096 000000000000000000000000000000
00* L0128 000000000000000000000000000000
00* L0160 000000000000000000000000000000
00* L0192 000000000000000000000000000000
00* L0224 000000000000000000000000000000
00* L0256 011101111011111111111111111111
11* L0288 000000000000000000000000000000
00* L0320 000000000000000000000000000000
00* L0352 000000000000000000000000000000
00* L0384 000000000000000000000000000000
00* L0416 000000000000000000000000000000
00* L0448 000000000000000000000000000000
00* L0480 000000000000000000000000000000
00* L0512 011110110111111111111111111111
11* L0544 000000000000000000000000000000
00* L0576 000000000000000000000000000000
00* L0608 000000000000000000000000000000
00* L0640 000000000000000000000000000000
00* L0672 000000000000000000000000000000
00* L0704 000000000000000000000000000000
00* L0736 000000000000000000000000000000
00* L0768 011110111011111111111111111111
11* L0800 000000000000000000000000000000
00* L0832 000000000000000000000000000000
00* L0864 000000000000000000000000000000
00* L0896 000000000000000000000000000000
00* L0928 000000000000000000000000000000
00* L0960 000000000000000000000000000000
00* L0992 000000000000000000000000000000
00* L1024 101101110111111111111111111111
11* L1056 000000000000000000000000000000
00* L1088 000000000000000000000000000000
00* L1120 000000000000000000000000000000
00* L1152 000000000000000000000000000000
00* L1184 000000000000000000000000000000
00* L1216 000000000000000000000000000000
00* L1248 000000000000000000000000000000
00* L1280 101101111011111111111111111111
11* L1312 000000000000000000000000000000
00* L1344 000000000000000000000000000000
00* L1376 000000000000000000000000000000
00* L1408 000000000000000000000000000000
00* L1440 000000000000000000000000000000
00* L1472 000000000000000000000000000000
00* L1504 000000000000000000000000000000
00* L1536 101110110111111111111111111111
11* L1568 000000000000000000000000000000
00* L1600 000000000000000000000000000000
00* L1632 000000000000000000000000000000
00* L1664 000000000000000000000000000000
00* L1696 000000000000000000000000000000
00* L1728 000000000000000000000000000000
00* L1760 000000000000000000000000000000
00* L1792 101110111011111111111111111111
11* L1824 000000000000000000000000000000
00* L1856 000000000000000000000000000000
00* L1888 000000000000000000000000000000
00* L1920 000000000000000000000000000000
00* L1952 000000000000000000000000000000
00* L1984 000000000000000000000000000000
00* L2016 000000000000000000000000000000
00* L2048 000000000000000000000000000000
00* L2080 000000000000000000000000000000
00* L2112 000000000000000011111111111111
11* L2144 111111111111111111111111111111
11* L2176 111111111111111110*
C2701*
0C22
Sorry about the detail output. There is a reason as we shall see below.
OK so I “burned” a Lattice GAL16V4 (or a PALACE16V8 as AMD called them) with the Wellon VP-290 and all seems to go fine.
At least it said verify OK.
Now the above pins should come out to be:-
._____ _____.
| \__/ |
| 1 20 | VCC
X | 2 19 | H
Y | 3 18 | G
Z | 4 17 | F
| 5 16 | E
| 6 15 | D
| 7 14 | C
| 8 13 | B
| 9 12 | A
| 10 11 |
|______________|
When I put the chip in a test breadboard with resistor/ LED’s on A-H pulled high I find that by grounding/pulling high combinations of X, Y & Z the following combinations work:-
/a = /x * /y * /z
/b = /x * /y * z
/f = x * /y * z
/g = x * y * /z
/h = x * y * z
However to my complete surprise the following combinations never light any LED’s.
/c = /x * y * /z
/d = /x * y * z
/e = x * /y * /z
I’m at a total loss to understand why.
Either the software is writing the wrong code, the programmer is not reading the .JED file correct or I am somehow miss-understanding how these GAL’s should work.
Unfortunately I don’t understand how these .JED files are formatted so I’m not 100% sure it is correct or somehow there is a newer .JED file format the programmer requires.
If it helps, this is just one example of several equation files I have tried. Never did I have success with an M-DOS ABLEJr generated .JED file v
Has anybody got any suggestions?
--
You received this message because you are subscribed to the Google Groups "N8VEM-S100" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem-s100+...@googlegroups.com .
For more options, visit https://groups.google.com/d/optout .