EDN logo


Design Ideas: June 23, 1994

PLDs eliminate ISA pc-board's jumpers

Vladimir Bochev,,
Bulgarian Academy of Sciences, Sofia, Bulgaria


Having software ask users about base addresses for newly installed ISA-bus (industry-standard-architecture, ie, the IBM PC bus) pc board is far more elegant than requiring the users to decipher HEX address and set pc-board jumpers. GAL20R8 PLDs, programmed according toListings 1 and 2, along with an 8-bit comparator allow software to set pc boards' base addresses.

The comparator has one input tied to the ISA address bus and the other to one of the PLDs. This PLD contains a register initialized to some base address on power-on. The second PLD contains a "table" (actually, a Boolean formulation) of available base addresses.

The first time an I/O address matches an address from those stored in the second PLD, the register PLD latches this I/O address as the pc board's base address, holding it until the PC gets a hardware reset.

Once all new pc boards are functioning without I/O-address conflicts, the setup software can insert a simple program retaining the selected addresses and signature into autoexec.bat. The ZIPfile attached to EDN BBS /DI_SIG #1428 contains a writeup of this design and the PLD files in plain ASCII.

A problem remains when a user installs two pc boards with the same factory-set base addresses. This design cannot distinguish between such boards. You can also supply a unique signature with each pc board—perhaps merely a number printed on the board and in the documentation. In this case, the setup software makes a write to the base address with a data value equal to the signature. Only the board whose signature matches the one sent can latch the contents of the ISA address bus.

Many variations of this basic design are possible, including changing the board's base address on demand (a somewhat dangerous possibility). You can implement the base-address table in a PROM for a larger address span and even an EEPROM for extreme flexibility.

Of course, you must have some clock source for the GAL20R8s to operate. If your design is "clockless" or has only some very low-rate clock compared with the bus' addressing speed, you can draw high-speed pulses from the ISA bus itself. (DI #1428)


| EDN Access | feedback | subscribe to EDN! |
| design features | design ideas | columnist |


Copyright © 1995 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.