Author Topic: Can someone recommend me a FPGA (CPLD?) to play with for my needs?  (Read 6172 times)

0 Members and 1 Guest are viewing this topic.

Offline Corporate666Topic starter

  • Supporter
  • ****
  • Posts: 2010
  • Country: us
  • Remember, you are unique, just like everybody else
So I started working with Atmel parts about 4-5 years ago, and in the last couple of years I have upgraded to Cypress PSoC, which I really like.  Most of the stuff I do is in LED lighting/color mixing, measuring signals and driving displays (stepper motor gauge, LCD, LED, etc).  But I am getting into some higher end stuff like robotics and motion control.

I had one project where I used a PSoC3 to generate 27 independently controllable PWM signals to drive a bank of LED's to do various things, and I've used the PSoC for some measurement projects where I measure several signals and communicate with an LCD with I2C or with another device maybe with a UART, etc. 

I know what FPGA's (and CPLD's) are from a technical standpoint, but it wasn't until someone suggested my 27-PWM project could have also been done with an CPLD that I thought I should play around with these types of chips and get to learn them a bit.

I've never used any before... can someone recommend a good starting point?  I am pretty well familiar with the PSoC functionality from Cypress, so I understand about "creating hardware in the chip" and such.  Since my uses are wide open, it seems maybe FPGA's are more powerful and configurable and would offer better variety of uses.  I've gotten marketing brochures and stuff from Xilinx and Altera and stuff, but I really don't know anything about the market and which companies and families are the most popular and/or easiest to use.  I'm also hoping to keep my investment under a few hundred $$ to begin with including software and whatever programmers/dev boards would be required. 

Any suggestions?

EDIT:

I should add that I mostly work with 2 layer boards, so I don't want to deal with BGA's.  Also, the budget for a processor/main chip for most of our products is under $10 in 1000 unit quantities... so I am looking for the best bang for the buck, and ease of use, in that range.   
« Last Edit: January 10, 2013, 11:11:58 am by Corporate666 »
It's not always the most popular person who gets the job done.
 

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #1 on: January 10, 2013, 11:41:28 am »
Coolrunner-II cpld's spring to mind for this.

For example this board: http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,1000&Prod=CR2-STARTER

It depends a bit on how many FFs you're going to need for your 27 channels of PWM. If you require lots of FFs for whatever PWM scheme you are intending then an fpga may be a better fit.
 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #2 on: January 10, 2013, 12:04:13 pm »
+1 for CoolRunners.
CPLDs have the advantage of persistent configuration storage so you don't need an EPROM or MCU to load the program into RAM like you do with FPGAs. Having said that, i am at the moment messing around with a Spartan 6 FPGA which seems to be a nice chip as well. Not Xilinx top of the line by any means but it has plenty more oomph than any CPLD, is reasonably priced and comes in QFP packs if you don't want BGAs. I am preparing to try home cooked 2 sided PCBs with the 256 ball BGA. No guarantee of success but there are those who say it is no big deal. We'll see.
Nothing sings like a kilovolt.
Dr W. Bishop
 

Offline tinhead

  • Super Contributor
  • ***
  • Posts: 1918
  • Country: 00
    • If you like my hacks, send me a donation
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #3 on: January 10, 2013, 01:14:44 pm »
MachXO or MAchXO2 from latticesemi.com are cheap (under 5usd/1k pcs), they are in principle smal FPGAs
(this is why they listed as CPLD and FPGA).

If you wish to combine µC and FPGA in one part, maybe Microsemi FPGAs are good option, e.g. M1A3P25 with Cortex M1 core.
I don't want to be human! I want to see gamma rays, I want to hear X-rays, and I want to smell dark matter ...
I want to reach out with something other than these prehensile paws and feel the solar wind of a supernova flowing over me.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 27911
  • Country: nl
    • NCT Developments
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #4 on: January 12, 2013, 11:55:50 am »
I've used the XC9500 CPLD series from Xilinx in a few projects. The single supply voltage (3.3V), 5V input tolerance and PLCC & QFP packages make it easy to use. A Xilinx USB programmer clone is dirt cheap from Ebay.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 6945
  • Country: nl
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #5 on: January 13, 2013, 06:26:28 pm »
Anyone have some experience with the ICE40?

It seems unbeatable if you need a decent number of I/Os in flatpack. For instance for 100 I/Os you pay 5.86$ in singles ... can't even find a CPLD to compete with that.
 

Online AndyC_772

  • Super Contributor
  • ***
  • Posts: 4278
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #6 on: January 13, 2013, 07:30:59 pm »
If you want 27 PWM channels, or projects of similar complexity, you'll run out of logic in a CPLD very quickly. Besides, they're expensive for what you get, and IMHO you're much better off using an FPGA together with a separate configuration EEPROM. Hook them together and they behave just the same as a CPLD - not least because that's exactly what many CPLDs contain.

I have one of these:

http://www.ebay.co.uk/itm/Altera-CycloneII-EP2C5T144-FPGA-Board-USB-Blaster-JTAG-/190501213198?pt=LH_DefaultDomain_0&hash=item2c5ac1d40e

It's a Cyclone II FPGA with EEPROM on a board, plus a programming adapter which you can use with the free Quartus software to program any compatible CPLD or FPGA.

To be fair, the quality of the USB connector on the programmer isn't that great, and IIRC the pinout diagram on the label is wrong - but the unit itself works perfectly well, and neither problem is exactly insurmountable!

Offline miceuz

  • Frequent Contributor
  • **
  • Posts: 387
  • Country: lt
    • chirp - a soil moisture meter / plant watering alarm
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #7 on: January 14, 2013, 01:23:20 pm »
I was considering a CPLD for exactly the same purpose - generating hardware PWM.

Could someone enlighten me - how do I calculate the aproximate amount of macrocells neded for one PWM channel?

Suppose I have a big shift register of say 24bits and an 8-bit timer which uses 8-bit chunks of shift register as compare match registers to output PWM on 3 channels. How much cells are needed for that?

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #8 on: January 14, 2013, 04:03:03 pm »
The limiting factor with CPLD's for this sort of thing is the number of FFs. So with 1 FF per macrocell I think you can work it out. :)

You can probably reduce the number of bits in your shift register if you update those 8-bit pwm compare registers one at a time. Just mean you have 2 external select pins. Or if you don't like that shift in 10 bits, where the 2 MSBs are the pwm register address. That costs you 10 FFs instead of 24 to do your register updates. So assuming you do that it's 10 FFs for shifting, 3*8 for compare, 8 for the counter ==> 42 FFs, so fits in a 64 macrocell cpld. Hell, even the 24 bit shift register will fit in 64 macrocells.

Oh yeah, and if you want to make sure you can always download the free software from the vendor of your choice and synthesize your design. That way you will know for sure if your design will fit in a specific cpld part number or not.
 

Offline os40la

  • Regular Contributor
  • *
  • Posts: 127
  • Country: us
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #9 on: January 14, 2013, 05:20:14 pm »

I have one of these:

http://www.ebay.co.uk/itm/Altera-CycloneII-EP2C5T144-FPGA-Board-USB-Blaster-JTAG-/190501213198?pt=LH_DefaultDomain_0&hash=item2c5ac1d40e

It's a Cyclone II FPGA with EEPROM on a board, plus a programming adapter which you can use with the free Quartus software to program any compatible CPLD or FPGA.

To be fair, the quality of the USB connector on the programmer isn't that great, and IIRC the pinout diagram on the label is wrong - but the unit itself works perfectly well, and neither problem is exactly insurmountable!

Hey! I have that one too.  :-+ FYI don't give it 9v. If you do, one of the tantaliums will POP.  :palm:. Do you recall which pinout(s) on the label are wrong?
I think it is the [nCE] and [nCS] labels are reversed. Is that right?. This is a great starter board  :)
« Last Edit: January 14, 2013, 05:37:25 pm by os40la »
"No, but I did stay at a Holiday Inn Express"
 

Online AndyC_772

  • Super Contributor
  • ***
  • Posts: 4278
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #10 on: January 14, 2013, 08:27:12 pm »
Do you recall which pinout(s) on the label are wrong?
I think it is the [nCE] and [nCS] labels are reversed. Is that right?. This is a great starter board  :)
Yes, I think that's right. Kept me scratching my head for a while, that did!

Offline smackaay

  • Regular Contributor
  • *
  • Posts: 53
    • Steve's Junk
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #11 on: January 15, 2013, 08:32:04 pm »
I've been toying around with the Mercury, and implementation of a Xilinx spartan whichs plugs straight into a breadboard. Pretty low pin count but it's been fun so far.

http://micro-nova.com/mercury
Come see my boring site - http://smackaay.com/
 

Offline andy1

  • Contributor
  • Posts: 25
  • Country: fi
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #12 on: January 20, 2013, 12:30:44 am »
MachXO or MAchXO2 from latticesemi.com are cheap (under 5usd/1k pcs), they are in principle smal FPGAs
(this is why they listed as CPLD and FPGA).

If you wish to combine µC and FPGA in one part, maybe Microsemi FPGAs are good option, e.g. M1A3P25 with Cortex M1 core.

I just built a project using MachXO2 and the -HC parts are really nice since they need only one power supply rail if your IO is good with 3.3V. The single supply rail really helps with layout on 2-layer board, it is also available in 100 and 144 pin packages that are solderable by hand. Also the internal configuration memory is nice so no need for external chip for configuration.
Maybe one of the best things is that the IDE supports plain ftdi2232 based jtag adapters so no need for extra programs or programmers if you have one.

Also the old xilinx XC9500XL series are nice glue logic since they are cheap and 5V tolerance is nice for interfacing with different systems.
 

Offline jeffreyprinzie

  • Newbie
  • Posts: 8
Re: Can someone recommend me a FPGA (CPLD?) to play with for my needs?
« Reply #13 on: January 30, 2013, 07:11:01 pm »
If you start with FPGA, buy a board from xilinx (spartan..)  => expensive, but soldering FPGA is not easy

If you want to use it in a own project, x9500 series do good. They have PLCC package which can be soldered easy.

Digilent has cheap ($45) jtag programmers.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf