Home-made PAL/GAL Programmers


[Document Version: 2.00] [Last Updated: May_6_1994]

Chapter 1) About the Author

Author : Mark Zenier
Subject: Homebuilt PAL (EPLD) programer FAQ
E-mail : mzenier@eskimo.com
Date : May 6th, 94

[Electronic Now project, In circuit programmables]

Chapter 2) So you want to build a logic device programmer

First, be aware that the manufacturers don't feel it's in their interest to give you enough information to build one. There's a couple of reasons. Some them make money by selling programmers and software. Some of them don't want to spend a lot of money trying to figure out why you (and thousands others like you) can't get parts to program (or worse, stay programmed) using your homemade programmer.

So, starting around 1985, most manufacturers have removed this information from their databooks. Expect most CMOS parts to have proprietary algorithms. Also expect as parts are redesigned to be faster, the old programming algorithms may be obselete, or have certain parameters in them shift.

But if you are convincing, some of the manufacturers will give you the information on a nondisclosure basis. (I've heard National and TI are pretty nice. Lattice and AMD, downright rude.)

And there is a new trend in industry that will help the hobbyist. Manufacturers would like to control their inventory, but the way older parts are programmed adds extra (possibly) expensive steps to the process of making a circuit board: procuring and inventorying the unprogrammed parts, programming them, reinventorying the programmed parts (and insuring they are programmed and marked correctly), making sure they are available to be inserted in the circuit board, and placed the right location ...

And after all of that, the board is tested in Automatic Test Equipment. This automatic test equipment has the same sort of electronics that a device programmer has (and have been used for this at many companies). So why not design parts that can easily (without destroying connected circuitry) programmed during the final test stage and skip many of the steps mentioned in the previous paragraph.

In order to do this, the semiconductor companies have to make the parts easy to program, and release the programming algorithms. Intel and Lattice with their Flex and ispLSI families are doing this.

The following is aimed at the level of the basement hacker, restricted to lower complexity parts. Which is what I've found in the surplus market.

Just remember that if you build your own programmer, factor in some money for test data (that is, destroyed parts). Unless you're using cheap parts, the $500 to $700 you tried to avoid spending for an inexpensive programmer could add up sooner than you expected.

Here's a list of articles and databooks that I've scraped together. Grouped by devices supported and in order of usefulness (IMHO).

Chapter 3) GALs (EEPROM based), from Lattice, National and SGS-Thomson

"Build This PLD Programmer"
by Robert G. Brown
Electronics Now (magazine), May 1994

This is a simple programmer limited to the 16v8 and 20v8 parts. It consists of two circuit cards, one a general purpose parallel port for the IBM PC and a programmer card with the drivers, ZIF socket, and voltage regulators. (Very similar to the Elektor project.)

Various kits and software available from:

R.G. Brown
30 Wicks Road
E. Northport, NY 17731

"Project: GAL programmer"
by Manfred Nosswitz.
Elektor Electronics (magazine), May 1992

This is a simple (5 IC's, 7 transistors, 2 voltage reg.) board driven by a program (in this case for an IBM PC or clone) using the computer's printer port. It supports the 16v8, 20v8 original and A versions.

"Project: GAL Programmer Upgrade"
by M. Nosswitz
Elektor Electronics, June 1993

An add-on board with a D/A converter to allow a variable programming voltage, and a new software driver. Now programs B version GALS, 22V10's, 20RA10's, and the GAL6001 PLA.

The software and PC boards are available through the Elektor publishers/franchises in various countries. In the US this is Old Colony Sound Lab (the publishers of Audio Amateur, and the former publisher of the US edition of Elektor Electronics).

Old Colony Sound Lab
P.O. Box 243
Peterborough, NH 03458
Tel: (603) 924-6371-6526
Fax: (603) 924-9467

In the UK
Elektor Electronics (Publishing)
P. O. Box 1414
Dorchester DT2 8YH

The item number for the software is 1701, the US price as of June 1993 is $22.30, the UK price 11.15 pounds. The software upgrade is item 1881, $21.50 or 10.75 pounds. The PC board is item 920030, US $22.30, UK 11.15 pounds. The PC board for the upgrade is 930060, $9.50 or 4.75 pounds.

Back issues may still be available from Old Colony, otherwise the address is:

Worldwide Subcription Service, Ltd.
Unit 4, Gibbs Reed Farm
Pashley Road, Ticehurst TN5 7HE

"Generic Array Logic (GAL)"
by D. Gembris
Elektor Electronics, April 1992

A description of the architechture of a GAL, along with the programming algorithms. Unfortunatly this describes the nonvolatile memory layout for the original version parts, and the A version parts would not work if this information were used. Some other information is left out, including describing the nonvolatile memory register that contains the part ID code and manufacturer. (This article is useful if you want to disassemble the software from the previous reference, but incomplete otherwise. Not really needed if you want to build and use the project as is.)

Chapter 4) Cypress and Samsung (UVEPROM based)

Contrary to the trend. Cypress Semiconductor published the algorithms for the simpler PLD chips they produced. They have since discontinued this. But as of the 1990 databook, they included the algorithms for their 16L8, 16R8, 16R6, 16R4, 20G10 (like a smaller 22v10), and their 22v10 devices.

Judging from the algorithms in their 1988 databook, Samsung is a second source for Cypress. Their CPL 20 family is the same as the Cypress devices. In addition, they have 24 pin devices with the same technology that implement the 20L10, 20L8, 20R8, 20R6, and 20R4 devices.

"EPLD programmer design"
by John Cromie
Electronics & Wireless World, February 1989

An article describing a single chip microprocessor driven programmer (using a Hitachi 63701) that programs the devices. "Contact the author for software.", a common trend in this publication's "projects".

Chapter 5) PEEL18CV8 (EEPROM), from International CMOS Technology, Gould AMI

"Create Your Own IC's"
by Bill Green
Popular Electronics, January 1990

A single board Z80 based programmer for the PEEL18CV8 using keyboard entry. No algorithm description. PLD and EPROM for z80 program needed to duplicate. (Listed price was cheap, about $80 in 1990.)

Chapter 6) Classic Bipolar Fuse Programmed PALS from MMI, National, TI

"A PAL Programmer" and "Getting Started with PALS"
by Robert A. Freedman
Byte, January 1987

A programmer for the original PAL family (too many to list). Implemented in the form of a IBM PC expansion card. (And sold for a while by Microway). Design is implemented with PALs.

"PAL Programmable Array Logic Handbook"
Monolithic Memories, 1981

or "Designing with Programmable Array Logic"
by Tech. Staff of Monolithic Memories
McGraw-Hill, 1981

A hardback copy of the MMI databook, including the programming algorithms.

"Interface, Bipolar LSI, Bipolar Memory, Programmable Logic Databook"
National Semiconductor, 1983

Databook back when they still published the algorithms.

"The TTL Data Book, Volume 4, Bipolar Programmable Logic and Memory"
Texas Instruments, 1985

Databook back when they still published the algorithms.

"The IC Master", 1986

TI actually published some of the algorithms in the advertising pages in the Custom/Semicustom section.

Chapter 7) AMD version of the classic PALS (Fuse Programmed)

"Programmable Array Logic Handbook"
Advanced Micro Devices, 1986-1987

This has the algorithms for the bipolar amPAL devices that existed at the time, including the amPAL22V10. These differ from the 1983 algorithms, which were preliminary.

Chapter 8) PLS153, PLS159 from Signetics (Fuse Programmed)

AN12, "Low Cost Programmer for PLD 20-Pin Series"
Programmable Logic Data Manual
Signetics, 1987

A programmer for the low end 20 pin PLA family. Implemented in those devices. Device mapping for only two of the members. (Earlier databooks may have this information.)

Chapter 9) PLS100, from Signetics (Fuse Programmed)

"Programming p.l.d.s"
by V. Lakshminarayanan
Electronics & Wireless World, January and February 1988

A circuit description for a programmer for the oldest Signetics PLA device. No Algorithm. Contact author for software.

"Bipolar and Mos Memory Databook"
Signetics, 1980

Algorithm desciption. (IMHO, why bother ;-) )

Please check attribution section for Author of this document! This article was written by filipg@repairfaq.org [mailto]. The most recent version is available on the WWW server http://www.repairfaq.org/filipg/ [Copyright] [Disclaimer]