EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

CPLD and FPGA designs

Started by Scott McDonnell March 6, 2004
Ok, I am about to get myself a dev kit from Xilinx or Lattice to start
working in HDL language. The know the basics of HDL programming, and have
the materials to learn the rest, now I just need to start experimenting with
real parts.

This question is about synthesis (and is a bit premature, I confess.) The
only disadvantage I see to using FPGAs in a design is that some kind of ROM
must be attached to configure the FPGA. After I have a final, working design
and want a single chip solution, what is the next step? Do I send my code to
a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs with
flash ROM built in?

Sorry if these questions seem like newbie questions, but I have found tons
of resources on HDL programming, but very little on actually going from
software to hardware.

Thanks for the help!
Scott


In article <l4f2c.122531$Xp.542113@attbi_s54>, 
devilingr@NOSPAMexcite.com says...
> Ok, I am about to get myself a dev kit from Xilinx or Lattice to start > working in HDL language. The know the basics of HDL programming, and have > the materials to learn the rest, now I just need to start experimenting with > real parts. > > This question is about synthesis (and is a bit premature, I confess.) The > only disadvantage I see to using FPGAs in a design is that some kind of ROM > must be attached to configure the FPGA. After I have a final, working design > and want a single chip solution, what is the next step? Do I send my code to > a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs with > flash ROM built in? > > Sorry if these questions seem like newbie questions, but I have found tons > of resources on HDL programming, but very little on actually going from > software to hardware. > > Thanks for the help! > Scott
Many FPGAs can auto-load from a serial EEPROM. Most can also be serially programmed by a microcontroller. There are EEPROM/Flash-based non-volatile FPGAs. Yes, there are OTP parts. --Gene
"Scott McDonnell" <devilingr@NOSPAMexcite.com> wrote in message
news:l4f2c.122531$Xp.542113@attbi_s54...
> Ok, I am about to get myself a dev kit from Xilinx or Lattice to start > working in HDL language. The know the basics of HDL programming, and have > the materials to learn the rest, now I just need to start experimenting
with
> real parts. > > This question is about synthesis (and is a bit premature, I confess.) The > only disadvantage I see to using FPGAs in a design is that some kind of
ROM
> must be attached to configure the FPGA. After I have a final, working
design
> and want a single chip solution, what is the next step? Do I send my code
to
> a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs
with
> flash ROM built in? > > Sorry if these questions seem like newbie questions, but I have found tons > of resources on HDL programming, but very little on actually going from > software to hardware. > > Thanks for the help! > Scott >
Hi Scott, FWIW I've started using CPLDs & FPGAs, having done lots with microcontrollers, and they are great things for some jobs. I think you'll get more info from another usenet group though: comp.arch.fpga Cheers, Jim
if u get a development kit, most likely you will find the PROMs on it...that
is where
programming bits are stored.


"Scott McDonnell" <devilingr@NOSPAMexcite.com> wrote in message
news:l4f2c.122531$Xp.542113@attbi_s54...
> Ok, I am about to get myself a dev kit from Xilinx or Lattice to start > working in HDL language. The know the basics of HDL programming, and have > the materials to learn the rest, now I just need to start experimenting
with
> real parts. > > This question is about synthesis (and is a bit premature, I confess.) The > only disadvantage I see to using FPGAs in a design is that some kind of
ROM
> must be attached to configure the FPGA. After I have a final, working
design
> and want a single chip solution, what is the next step? Do I send my code
to
> a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs
with
> flash ROM built in? > > Sorry if these questions seem like newbie questions, but I have found tons > of resources on HDL programming, but very little on actually going from > software to hardware. > > Thanks for the help! > Scott > >
Scott McDonnell wrote:

> Ok, I am about to get myself a dev kit from Xilinx or Lattice to start > working in HDL language. The know the basics of HDL programming, and have > the materials to learn the rest, now I just need to start experimenting with > real parts. > > This question is about synthesis (and is a bit premature, I confess.) The > only disadvantage I see to using FPGAs in a design is that some kind of ROM > must be attached to configure the FPGA. After I have a final, working design > and want a single chip solution, what is the next step? Do I send my code to > a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs with > flash ROM built in? > > Sorry if these questions seem like newbie questions, but I have found tons > of resources on HDL programming, but very little on actually going from > software to hardware.
You must not compare CPLD and PFGAs by the need of an external storage. CPLDs have up too 512 FlipFlop Macrocells, wheras the FPGAs have thousends to millions of Flipflop macrocells. The CPLDs have their own EEPROM onboard, while the FPGAs need something external. This allows you to (re)load the FPGA from a processor. Rene -- Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net
On Sat, 06 Mar 2004 07:28:17 GMT, Scott McDonnell wrote:

>Ok, I am about to get myself a dev kit from Xilinx or Lattice to start >working in HDL language.
They're rather expensive, of course. The following are cheaper alternatives, and can have their code downloaded from a PC for experimentation. A nice little board based on cheap Altera Acex FPGA: http://www.fpga4fun.com/board_pluto.html Or a board with a PCI interface using Xilinx SpartanII from the same source: http://www.fpga4fun.com/board_dragon.html Cheap CPLD kits for use with Xilinx. Altera, or Atmel: http://www.al-williams.com/pldhome.htm With USB: http://www.easyfpga.com/index.htm HTH -- Max
"Scott McDonnell" <devilingr@NOSPAMexcite.com> wrote in message
news:l4f2c.122531$Xp.542113@attbi_s54...
> Ok, I am about to get myself a dev kit from Xilinx or Lattice to start > working in HDL language. The know the basics of HDL programming, and have > the materials to learn the rest, now I just need to start experimenting
with
> real parts. > > This question is about synthesis (and is a bit premature, I confess.) The > only disadvantage I see to using FPGAs in a design is that some kind of
ROM
> must be attached to configure the FPGA. After I have a final, working
design
> and want a single chip solution, what is the next step? Do I send my code
to
> a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs
with
> flash ROM built in? >
You need to make a concrete decision as to whether FPGAs or CPLDs suit the job better. As a rough summary: CPLD: Typically programmed with built-in flash (instant turn-on) Relatively few logic resources Very wide logic elements - good for fast combinational logic Very little storage space (typically 32 - 512 registers) Low power Relatively cheap, single-chip solution. FPGA: Typically uses external serial eeproms for program (slow turn-on) Lots of logic resources Narrower logic elements - good for synchronous clocked logic Lots of storage space (loads of registers and often on-board memories) Lots of extra functions (DLLs, fast I/O, memories, DSP blocks, etc.) Some are fairly cheap, others very expensive. The big two manufacturers are Xilinx and Altera, with others such as Lattice in more specialised markets. Most devices, CPLD or FPGA, are re-programmable and have a jtag interface for downloading.
> Sorry if these questions seem like newbie questions, but I have found tons > of resources on HDL programming, but very little on actually going from > software to hardware. > > Thanks for the help! > Scott > >
Rene Tschaggelar <none@none.net> wrote in message news:<4049dd26$0$710$5402220f@news.sunrise.ch>...
> Scott McDonnell wrote: > > > > Sorry if these questions seem like newbie questions, but I have found tons > > of resources on HDL programming, but very little on actually going from > > software to hardware. > > You must not compare CPLD and PFGAs by the need of an external > storage. CPLDs have up too 512 FlipFlop Macrocells, wheras the > FPGAs have thousends to millions of Flipflop macrocells. > The CPLDs have their own EEPROM onboard, while the FPGAs need > something external. This allows you to (re)load the FPGA from a > processor.
You'll find that out soon enough when you try to fit your design in a CPLD. If you're trying to stick to instant-on operation and one power supply and the design still doesn't fit in a CPLD that you're willing to pay for, you could try an antifuse based FPGA from Quicklogic or Actel. When you write your HDL, keep in mind that you're describing hardware not writing software. The code you write fills out a huge logic graph that gets reduced by the synthesis tool. If you do something wrong some of your circuits get reduced to nothing, so fitting the design before you've debugged it with a simulator might give overly optimistic results. -- Brad Eckert
Brad Eckert wrote:

> Rene Tschaggelar <none@none.net> wrote in message news:<4049dd26$0$710$5402220f@news.sunrise.ch>... > >>Scott McDonnell wrote:
> When you write your HDL, keep in mind that you're describing hardware > not writing software. The code you write fills out a huge logic graph > that gets reduced by the synthesis tool. If you do something wrong > some of your circuits get reduced to nothing, so fitting the design > before you've debugged it with a simulator might give overly > optimistic results.
There's another way this can trick you. I've designed blocks of logic that I wasn't yet prepared to connect to the rest of the part. I happily tied the inputs to ground and the synthesis tool happily deleted the whole thing as reduceable. No problem unless you're counting macrocells and you think that what you have left included that logic.
Thanks everyone for all the responses with information and real world
advice. I think I will probably work with CPLDs to begin with, just to get
myself familiar with the tools, synthesis, simulation, etc.. then I will
move on to FPGAs to implement in some of my real projects. I see Devry eSOC
boards on Ebay going fairly cheap that would give me a platform to start
making things happen. These are based on Altera Max Plus CPLDs and have dip
switches, 7 segment displays, JTAG interface, and protoboard pins.

Perhaps the best approach to that last bit would be to take a project I have
built with discrete logic and attempt to implement it in HDL. That way I
know exactly what to expect and what might be wrong if it doesn't work like
it should.

As far as languages - mostly, I am familiar with ABEL, but from the Verilog
and VHDL source I have seen, it shouldn't be too much of a leap to work in
those languages instead. I've been looking for a good reference book from
Amazon that will help ease the transistion.

Anyways, thanks again,
Scott McDonnell


"Scott McDonnell" <devilingr@NOSPAMexcite.com> wrote in message
news:l4f2c.122531$Xp.542113@attbi_s54...
> Ok, I am about to get myself a dev kit from Xilinx or Lattice to start > working in HDL language. The know the basics of HDL programming, and have > the materials to learn the rest, now I just need to start experimenting
with
> real parts. > > This question is about synthesis (and is a bit premature, I confess.) The > only disadvantage I see to using FPGAs in a design is that some kind of
ROM
> must be attached to configure the FPGA. After I have a final, working
design
> and want a single chip solution, what is the next step? Do I send my code
to
> a vendor that makes masked parts? Is there a OTP FPGA? Are there FPGAs
with
> flash ROM built in? > > Sorry if these questions seem like newbie questions, but I have found tons > of resources on HDL programming, but very little on actually going from > software to hardware. > > Thanks for the help! > Scott > >

The 2024 Embedded Online Conference