Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Starting point for programmable logic?

Status
Not open for further replies.

evandude

New Member
I am looking into toying around with some form of programmable logic devices, but unlike PICs I can't seem to find good resources about getting started with them.

The kind of stuff that I would be most interested in using them for would be for capturing/storing data to a memory chip faster than could be done with the code overhead of a PIC, etc. Essentially for tasks that are somewhat trivial but inefficient on a PIC, so that I can offload them and let the PIC do things it's better suited to.

Looking around, most of what I see are expensive development kits with fancy FPGA's with 200+ pins, etc. I don't expect I would need anything bigger than a 20 pin device most of the time, and 40 at the most. I am not 100% clear on the many different types of devices, but it seems from what I have seen that I need an FPGA if I want to implement sequential logic rather than just combinatorial... but so far the smaller devices I've found have seemed much more limited in function as well.

So, can anyone give me some starting points? I'd like it if I could find a good starter kit, and/or some websites involved in getting started with them from a hobbyist standpoint.... but is there even anything out there that is as suited to hobbyists in the realm of programmable logic as the PIC is in the realm of microcontrollers, or am I just wasting my time?
 
Whew....FPGAs and the like can get so frickin expensive it's not even funny...I saw one for $8000! About the most expensive, user unfriendly things ever.

Anyways, you can start by getting a starters kit so it comes with the interface and setup equipment for a reasonable price. So you said CPLD right?

Try this product (find it from whatever vendor you want):
**broken link removed**

It is actually a CPLD, but it's "masked" to look like an FPGA (read the website info). It's so you can get used to FPGAs but not have to deal with all the timing issues and stuff you have to deal with when working with FPGAs. Best part is it that it comes mounted on a PCB and it has the interface equipment already there.

An FPGA is the big cheese with many many MANY logic components on a single chip (and some of them have multiple Power PC Cores on-board as well!). With FPGAs you can perform the most complex functions (if you know how to because it can get really hard). Because an FPGA is so massive it is a bit slower than a CPLD (but still way faster than MCUs and DSPs). A CPLD on the other hand, does not have such a high gate density, and cannot do the same super complex functions. But because it's internals are smaller and more direct it is faster than an FPGA. Also, I believe it has already timing taken care of usually onboard so you don't have to deal with a bunch of little details as much. An FPGA's internals make it a super-flexible powerful system so you can do some things on an FPGA that you can't with a CPLD (like designing any logic gate setup you want from scratch). A CPLD on the other hand is more limited, I think it's along the lines of it can only work off of truth tables or something like that.

Also, an FPGA has volatile memory while a CPLD does not.

Have you taken a course in digital logic design (Karnaugh maps, designing logic gates, full adders, carry chains, stuff like that)? You are going to need it.
 
Last edited:
The day of the PAL(Programmed Array Logic) has come and gone. These devices were adept at doing both combinatorial designs and registered designs. The PAL22V10 was among the most popular chips. Google this part to see if there are any left out there. Lattice Semiconductor had these parts implemented with FLASH memory so they could be reused multiple times.

The easiest development software was the freeware program called PALASM. It was great for combinatorial stuff. It did not do state machines very well. For that you needed commercial packages like Abel, from Data I/O or CUPL from Logical Devices.

Let us know what you find out about this quarter century old technology.
 
I have had digital logic courses, and even worked with one of the big fancy Xilinx FPGA's at a co-op job I had. I'm not all that worried about being able to use one, more just trying to find something to start off with.

dknguyen, thanks for that link, it's a bit closer to what I'm looking for than everything else I've found so far.

But, I am getting more and more discouraged. Nothing seems to come close to the ease of use and practicality of using a PIC instead of a PLD, even if it is slower and less efficient for certain tasks. And worse, everything is a lot more expensive than PICs, which is not good considering I would want to be using them as an "accessory" in PIC-based projects, and having them be the most expensive part would just not work out well.

I can live without PLD's in my projects, they just would have been nice for a few things, but at this point I'm thinking it's probably not worth the cost or hassle. If I ever have a project that I'm really excited about and willing to spend money on (like building a high-speed logic analyzer) then maybe I'll look toward FPGA's; the $40+ dev boards wouldn't be so bad if it was an important project, but for small weekend projects that's just cost prohibitive. When I started looking, I really thought that they were more common in the hobbyist world than they seem to really be. oh well!
 
NOthing in life is free unfortunately. The cost to pay for great amounts of power and control is that you must know how to use it. If you need to upgrade from a PIC, try the dsPIC.

The most cost effective, easiest to implement solutions are MCUs and DSPs. YOu can do things on these that are very hard to do on an FPGA or CPLD. The difference is that DSPs are good and fairly fast at doing ONE thing at a time while FPGAs/CPLDS do many things at the same time at even faster speeds...but of course there is a price to be paid. It's great for things like vision processing...if you can pull it off.

Never hurts to get a kit and experiment it with. I use DSPs for most things, and then if I have a specialized system (like vision) then I would have the FPGA dedicated to that and communicate with the DSPs. I haven't build a vision system yet because I am stll boggled by the image capture hardware and processing as well as the software involved (though I have some ideas). Most of which seem unfeasable without FPGAs, which I am also struggling with the costs. So if you want to use an FPGA for the sake of using it, find a process intensive task where the FPGA can coprocess for your MCU.
 
Last edited:
Thanks guys, this thread is truly invaluable. I had been wondering the exact same thing about fpgas and the feasibility of using them. I too am disappointed that they seem to be difficult (or at least time-intensive/expensive) to use. Lately I have also been thinking about image processing and such and doing it with PICs MCUs is virtually impossible.

Has anyone used Freescales bad a** 16bit MCUs that will operate at really high frequencies (up to 200mhz)? I haven't heard on anyone using them. How feasible would it be to do some image processing on one of them? (ie. MCF5xxx series)
 
I just know the MC68112's manual is super confusing and I gave up. That's why I started using dsPICs instead. Much smaller and simpler to wire up and onboard ADCs and PWM and the like.

Why don't you look more into that kit I showed you...it doesn't look overly hard to set up and may not be a real FPGA, but it is still a CPLD and those are faster than FPGAs anyways. It's probably hard to outdo in terms of price, ease of use and speed compared to OEM FPGAs and MCUs.

Here is the resource page for the kit I linked earlier (In case you missed the button). It has manuals and stuff so you can see how to use it before you buy.
**broken link removed**
 
Last edited:
Sorry, I kind of flew by that link when I initially read the thread. I will look into that more now :). I just remember browsing through some of freescale's MCUs and I was curious to how easy they were to throw in a circuit, and if their structure was relatively intuitive. Apparantly not though :).
 
I came across this Gal Programmer and it looks ideal for getting started. Not FPGA stuff but simple small pin count GALs can replace lots of discreet logic.

What sort of thing are you thinking of doing.

Mike.
 
I usually use Xilinx parts, so here's their CPLD eval kit:**broken link removed**
$50, some prototyping area, and programming cable. The parts themselves are ~15-$20.

If you want to do it *cheap*, google for JTAG cables, learn to solder .5mm pitch parts, and you should be able to do everything for ~$25, but it's probably easier to splurge the $50.

Incidentally, their $150 FPGA eval kit is a bit of a monster- 64MBytes RAM, 32MBytes flash, ethernet, the usual serial ports, something that looks suspiciously like a bit-banged VGA out, and a character LCD.

BTW, other than some "oddball" chips, most FPGAs and CPLDs use VHDL/verilog as the design language. Code for one of them can be "cut and pasted" into another chip. Obviously optimizations require knowledge of the chip and compiler, but for "fast and dirty", they work out pretty well.
 
Pommie said:
I came across this Gal Programmer and it looks ideal for getting started. Not FPGA stuff but simple small pin count GALs can replace lots of discreet logic.

What sort of thing are you thinking of doing.

Mike.
GAL was the acronym that Lattice Semiconductor used to describe its PAL family of which the GAL22V10 was the primary member. PALASM could be used to creat the JEDEC file that was used by the programmers of the day.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top