EEPROM as logic?

Hiya folks. I've come up with a few designs for modifying various devices on different occasions, but in almost every case, it requires a lot of logic components to process the signals and then output ones based on how I've modified them (such as catching chip selects and not actually enabling if certain circumstances are met, so that I can make another device accessible in that address range). Since I'm still a beginner, I've been working with DIP-sized ICs, so as you can imagine, having to use very many logic components leads to not only a board big enough to hold them, but also tedious soldering work to make all the connections.

I've read about PALs, GALs, PLDs, CPLDs, etc, and found that this seems to be exactly the sort of device that would rid me of so much logic in a project. The downside is, there seems to be no easy way for a budget-restricted hobbyist to program them, short of purchasing a programmer. They aren't cheap, and that, plus the shipping, and the chips and shipping on those as well, is all starting to get a bit too pricey for me to be able to afford right now, unfortunately.

So what I'm wondering is, how feasible are alternatives, like maybe using EEPROMs instead? I do have an older Willem programmer already which I used to program Flash chips for another project. From what I understand, using ROM chips wasn't uncommon in the past for handling logic cheaply. And for the projects I would be messing with, none of them would be running at super high speeds (nothing over like 12mhz). Now I know EEPROMs would probably have a slower access time than a plain old EPROM, but again, buying an eraser for the older EPROMs is just another expense I'd rather avoid. Would an EEPROM, or even a piece of Flash memory, be able to keep up with such a task?

And if not EEPROMs, what else can one recommend for cheap programmable logic?

Reply to
FyberOptic
Loading thread data ...

Take a look at the US$17.95 CMOD CPLD modules from Digilent

You'd need a JTAG cable. The JTAG3 cable is pretty cheap but you need a real parallel port. The USB alternate isn't terribly pricey.

This setup gives you a DIP-formfactor with a fair amount of logic. The XPLA3-flavor CMod-XCR also has 5V-tolerant I/Os.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

Look at PIC,AVR and the like, instead.

It involves doing a little programming in the PC and up loading the image to the uC using a programmer that isn't that bad if you just get a simple one price wise.

formatting link
"

Reply to
Jamie

Hello FyberOptic,

I have wired over twenty IC chips on past projects knowing the use of a microprocessor would simplify things.

Collecting great feedback from this newsgroup sent me in the direction of using PIC technology.

Using the technology of a company called Microchip is the way to go. They give you a "free" beautiful programming & tutorial download package 80 Megs in size. You will find some of the real gem webpages I have collected here. They are in the gray section of the page.

formatting link

Understanding the use of Assembly Language is challenging, so allow yourself time. Once you make the connection of what's going on you will never revert back to your old ways.

Good Luck,

  • * * *

Christopher

Temecula CA.USA

formatting link

Reply to
christopher

You have already had some good suggestions about other ways of doing things.

However, if you want to, you can use eproms in the way that you suggest, but you will need to watch out for one thing.

After one or more address inputs are changed, the output does not suddenly switch to the value that you programmed into the device. Instead, it may jump around a few times and only then settle down as you expected. To overcome this you need to follow the eprom with a data register which is clocked after the eprom has settled (in other words, after the access time has elapsed).

Provided that you do this, the technique works fine.

John

Reply to
jrwalliker

And once you do that, you can feed some of the outputs back into address inputs and build simple or complex state machines. Tons-o-fun.

Better register the external inputs, too.

(another) John

Reply to
John Larkin

Hey that does look interesting, and not too expensive. But I noticed it says it requires 3.3v, where as most DIP components I work with are

5v.

I did some digging around though based on your suggestion, and found this:

formatting link

Almost twice as expensive, but it seems to support multiple CPLDs and can automatically convert to 5v. That's starting to get a bit pricey, but then again, I wonder what the difference would be by the time one converted all the 3.3v logic to 5v for the other one.

Reply to
FyberOptic

I've actually used PICs before, but not for any sort of logic function. Is it actually possible to use them in place of logic chips? Can they function fast enough for like triggering chip selects on ram and such in a working system? And are there any other considerations one might have to make to use it for that?

Reply to
FyberOptic

That's good advice. I wonder though if it would be necessary to buffer the output like that for all applications? Like I've mentioned, say I wanted to use it just for activating chip selects and such. Would it matter much for it to jump around like that and activate the chips very rapidly?

Hmm, now that I type that, maybe I can kind of imagine why. If it activated more than one chip (say rom and ram at the same time), then you'd end up with two different data sources on the data bus. I suppose the chip you weren't wanting output from might not clear the data bus before the cpu read the data. I assume, anyway. Maybe it'd depend on the chip.

Reply to
FyberOptic

Looks interesting. I haven't used that one in particular but I've gotten a number of other dev boards from Sparkfun and haven't had any problems.

WRT the Digilent board up above, you'd be able to get by with just an LM317 and its passives to supply the 3.3 V from your existing 5 V. After that, the XCR flavor should interperate with the 5 V logic okay.

Also, WRT the suggestions to use a PIC or other microcontroller, they're not really made to mimic fast combinational logic like an address latch.

Another alternative would be GAL16V8 or 22V10, with compatible products available from several manufacturers. Perfect for little glue logic and available as 5 V and DIP form-factor parts. However, most (all?) of these require a device programmer.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

--
Using any kind of ROM to build a state machine depends on its outputs
being stable some time after its inputs have been addressed.

Consequently, the architecture of such a machine might/should look like
this: (View in a fixed pitch font)


           DFLOP    ROM      DFLOP
          +----+  +-----+   +----+
DATA IN>--|D  Q|--|An Dn|---|D  Q|--> DATA OUT
HFCK>--+--|>   |  +-----+ +-|>   |         
       |  +----+          | +----+
       +------------------+

JF
Reply to
John Fields

Sure.

Yeah, way to go... back to the cave age.

Best,

Reply to
Bill

EEPROMS work fine for some logic problems, but they are not universal. You often need latches to clock addresses in and hold outputs after they settle. The main limitation is that there are so few outputs, relative to the number of the inputs. The number if inputs is high enough to allow every possible combination of inputs to select distinct outputs, and this is seldom a good fit for actual logic replacement. Too many inputs and too few outputs. But maximum utilization is not what you are shooting for, so if you don't mind programming all the input combinations that produce similar outputs, it is certainly workable.

I think I once saw a simple computer that was made almost entirely of an EPROM, an address and data latch and a counter. But most of the data bits were used to feed back to the address inputs to walk the program through its main loop. I think the was only a bit or two of external input and output available as I/O. There was no CPU.

--
Regards,

John Popelish
Reply to
John Popelish

There are many hobby grade GAL programmers around, Google gives:

formatting link
formatting link
for starters.

Mouser and others have cheap GAL's from

Reply to
David L. Jones

...

There is an intermediate between a board full of small-scale logic and a PROM: use a multiplexer chip. An 8-input multiplexer can be used to form any function of 3 inputs, just by tying its inputs true or false. You can easily add a fourth input by driving some of the inputs with the fourth input or its negation. The disadvantage is that you only get one output per chip, but it's cheap and sometimes that's all you need.

Another thought is to use two magnitude comparitors and some OR gates to detect a range. This is especially good if the selected range doesn't begin and end with a power of 2 and has been used to disable a big, expensive mask-programmed ROM to allow a smaller PROM to take over those addresses. It's a kluge, but it was cheaper than scrapping a big, expensive lot ROMS that contained a bug that wasn't discovered until they had been delivered.

Reply to
Stephen J. Rush

I'll just reply to my own post since it's related.

Since I originally started inquiring, I've found out about a few parts that might be more up my alley. First is the ispGAL22V10, which is 5V and apparently easily programmable in-circuit (meaning no programmer apparently!). Only downside is that the friendliest form factor available is TSOP. But you can apparently buy a converter board to DIP for a couple bucks on Ebay. Just soldering it onto there would be the tricky part.

Another thing that has caught my eye are the Atmel ATF line of parts, like the ATF750C. It's a 5v flash-based CPLD, and comes in DIP even. Problem is, I can't find any info on programming it. Since it's flash, does this mean it doesn't use the high voltages like a normal GAL or something would? Are they very easily programmed in general, or would one be in the same boat as a normal GAL device?

Reply to
FyberOptic

Yep, Lattice ISP parts are easy to program. DIP adapters are a good option.

They need a high voltage programming pulse, so does need a specific programmer.

Dave.

Reply to
David L. Jones

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.