Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

How to program an EEPROM?

Status
Not open for further replies.

Ejaz

Electrical
Dec 4, 2001
26
0
0
JP
I have a multiplexer circuit that I built to control the main circuit but it makes the circuit very large because of large numbers of dicreet ICs. I want to do the timing by EEPROM but I don't know how to program one and what do I need other than the EEPROM IC. Please advise!
 
Replies continue below

Recommended for you

Are you actually asking about EPLD's? An EEPROM is simply a memory chip, while an EPLD or FPGA is a programmable logic device. Suggest you look at Altera, Xilinx, Cypress, etc. for the types of devices, the number of gates needed to implement your controller. Once you settled on a device, then the manufacturer will have a specific process and hardware that's required for programming the device. TTFN
 
Hi,
You don't say what the "main circuit" actually is. As always with these sort of problems we need maximum information to be able to help.

The best solution to reducing large amounts of low level logic is to use a programmable set of gates known in simple terms as an FPLA (field programmable logic array) or PLD (programmable logic device), however these require a more complex programming setup.

EEPROMS can be used to perform the function of logic arrays provided you understand exactly how many inputs and outputs you require and that these can be fitted within the size of the EEPROM. To design such a device the input functions would be applied to the address lines and the normal data outputs become your custom logic outputs.

The downside to using an EEPROM (or any other memory array)is that you have to work out a "map" where you consider every single combination of input and output that can occur for your required logic function. This may mean that you could have to program every single location, and using even a small modern EEPROM that's a lot of combinations!

Don't forget that your average EEPROM is not capable of driving a large number of logic loads from its outputs, so you may still need some buffering.

Hope that helps,

Brian
 
What BrianG is referring to is a Programmable Logic Array, which is a means of simulating logic functions by duplicating the truth table for the logic function in a memory like an EEPROM.

The modern EPLD- Erasable Programmable Logic Device is by far superior to an EPLA, since it provides registers and multiple states within the device. You would need additional registers to barely duplicate the simplest EPLD functions with an EPLA. An EPLD is also designed to drive multiple devices as well as provide bidirectional and tristate outputs.
TTFN
 
Ejaz, I've used small eproms to decode circuits for years. The 'map' as earlier described is essential no matter what device you use. If you've 'built' a system, you can easily build a programmer. Timing is the main requirement, along with multiplexing for some. Do a search within the 'circuit cellar' collection and you should come up with some great circuits with descriptions. One thing you'll probably recognize is why buss drivers typically work at multiples of cpu speeds.
 
Data I/O in Redmond, WA manufactures and sells all kinds of memory programming devices large and small. Maybe that will be of some interest to you.

And I did a contract there!

joecad
 
i agree with Automatic2. i used to use 82S123 PROMs from Signetics for years. the data sheet calls it a 32 (not k) by 8 PROM. i used it very successfully as a 5 line to 8 line coder. i could make up to 8 logical output variables with whatever polarity i wanted, derived combinatorially from up to 5 input signals.

i also made sequential state machines by adding to this PROM an external register (like '374) to hold the state vector.

worked like a champ. those PROMs i could program by "hand" with a little board i made. toggle switches for the desired 8-bit value and a couple of rotary sixteen-position hex coded switches to set the address, and a push button to drive the programming pulse. crude but very effective.

that part is probably long dead, but the point is that if you look at the data sheet you'll often see that the actual act of programming can be done with some simple circuits. and as was said above, its great to have flexibility in your design. i love programmable hardware.
 
EJAZ:

As IRSTUFF wrote, FPGA is a perfect solution -- what he
forgot, it may not be the cheapest. For some FPGA you may
have to shell out many thousand $$$-s for software to program it efficiently.

<nbucska@pcperipherals.com>
 
I have used the coolrunner CPLD family since it was first introduced be Phillips. It is now produced by Xilinx. This is a true CMOS programmable logic but no longer produced for 5v. The 3.3v (5v tolorant IO) and lower families are quite fast and have on board flash type memory to store the logic program. You can download the development and programming software from their web site for free but they charge for a programming cable that plugs into a parallel port.
The devices can be programmed while in circuit through a few dedicated serial pins. I have designed my own cable with some added capabilities to program seperate serial non volatile eeroms. If interested, I can email schematics and an example of software to program serial memory using pins not used by Xilinx software.
FPGA's are another solution with more capability but usually require a serial eeprom and do a boot sequence to transfer this data to that logic memory at power up. The same Xilinx software will handle many of these. Altera and others in the market have similar offerings and development software.
Are you asking about standard parallel EPROM style EEPROMS?
 
Status
Not open for further replies.
Back
Top