FPGARelated.com
Forums

Which FPGA and memory to use? The eternal X vs. A question.

Started by Alex Freed December 8, 2007
I need to build a sort of a simple video processor to drive a TFT LCD 
screen in an embedded system. The plan is to use a small and cheap FPGA 
with some memory. Low cost is very important, so fast SRAM is not an 
option.

I want to test the concept on an off-the-shelf board before making my 
own, so I got the Spartan 3E "starter kit" that comes with DDR SDRAM.
Unfortunately I can't make the memory work using the core generator.
Most likely I'm not doing something right, but maybe there is some 
problem with the hardware.

While searching for info on SDRAM interfacing I got an impression that 
the DDR SDRAM is very difficult to use and the board layout is very 
critical. For my application 133 MHZ DDR is a heck of an overkill as I 
only need to read 16 bits of consecutive data at 50 MHz (burst) max.

So regular SDRAM is probably a better choice. I'm also using Micron 
SDRAM elsewhere on my device (with the PXA255 CPU).

Looking for a board with built in SDRAM I came across the $150 Altera 
DE1. Traditionally I used X more than A, but those were CPLDs rather 
than FPGAs. The data sheet looks promising. Only 2 power voltages. Same 
cost (Cyclone 2 vs. Spartan 3e).

There is also PSRAM as an option and a Digilent board with S3e and 
PSRAM, but it is more expensive than plain SDRAM by far.

My volume is about 10,000 a year. I figure about $5 for FPGA and $1.5 
for SDRAM (8 MB). PSRAM is more like $5.

Am I missing something? I'd like to hear opinions before making the next 
move.

Thanks.

-Alex.
On Dec 8, 1:39 am, Alex Freed <al...@mirrow.com> wrote:
> I need to build a sort of a simple video processor to drive a TFT LCD > screen in an embedded system. The plan is to use a small and cheap FPGA > with some memory. Low cost is very important, so fast SRAM is not an > option. > > I want to test the concept on an off-the-shelf board before making my > own, so I got the Spartan 3E "starter kit" that comes with DDR SDRAM. > Unfortunately I can't make the memory work using the core generator. > Most likely I'm not doing something right, but maybe there is some > problem with the hardware.
[...]
> There is also PSRAM as an option and a Digilent board with S3e and > PSRAM, but it is more expensive than plain SDRAM by far. > > My volume is about 10,000 a year. I figure about $5 for FPGA and $1.5 > for SDRAM (8 MB). PSRAM is more like $5. > > Am I missing something? I'd like to hear opinions before making the next > move.
Howdy Alex, First the eval board: yes, it is most likely not a problem with your board. If you are counting pennies on your BOM and need a decent amount of RAM, SDRAM (or DDR - its cheaper this week) is the only way to go, so you need to take the time to debug the one you have. Now, vendors: if your product is really that cost sensitive, get 5k or 10k piece prices from all of the vendors. Include Lattice and others in the mix as well. Whomever has the most responsive sales and support organization, combined with the lowest price, wins your business. The companies will try to turn you against the others, and turn it into a religious argument - but it doesn't sound like you are doing anything that requires pushing any envelopes, so multiple parts from multiple vendors will do. All you need is a good idea of which device size in each family is required so that you can do valid price comparisons. Use the free tools from each company (or request an eval copy) for that if you need. Good luck! Marc
On Dec 8, 8:50 am, Marc Randolph <mr...@my-deja.com> wrote:
> On Dec 8, 1:39 am, Alex Freed <al...@mirrow.com> wrote: > > > > > I need to build a sort of a simple video processor to drive a TFT LCD > > screen in an embedded system. The plan is to use a small and cheap FPGA > > with some memory. Low cost is very important, so fast SRAM is not an > > option. > > > I want to test the concept on an off-the-shelf board before making my > > own, so I got the Spartan 3E "starter kit" that comes with DDR SDRAM. > > Unfortunately I can't make the memory work using the core generator. > > Most likely I'm not doing something right, but maybe there is some > > problem with the hardware. > [...] > > There is also PSRAM as an option and a Digilent board with S3e and > > PSRAM, but it is more expensive than plain SDRAM by far. > > > My volume is about 10,000 a year. I figure about $5 for FPGA and $1.5 > > for SDRAM (8 MB). PSRAM is more like $5. > > > Am I missing something? I'd like to hear opinions before making the next > > move. > > Howdy Alex, > > First the eval board: yes, it is most likely not a problem with your > board. If you are counting pennies on your BOM and need a decent > amount of RAM, SDRAM (or DDR - its cheaper this week) is the only way > to go, so you need to take the time to debug the one you have. > > Now, vendors: if your product is really that cost sensitive, get 5k or > 10k piece prices from all of the vendors. Include Lattice and others > in the mix as well. Whomever has the most responsive sales and > support organization, combined with the lowest price, wins your > business. The companies will try to turn you against the others, and > turn it into a religious argument - but it doesn't sound like you are > doing anything that requires pushing any envelopes, so multiple parts > from multiple vendors will do. All you need is a good idea of which > device size in each family is required so that you can do valid price > comparisons. Use the free tools from each company (or request an eval > copy) for that if you need. > > Good luck! > > Marc
One other thing: if you're using an FPGA that doesn't have built in configuration memory (I think each vendor may have one line that does), don't forget to include that in your preliminary BOM. Marc
> My volume is about 10,000 a year. I figure about $5 for FPGA and $1.5 > for SDRAM (8 MB). PSRAM is more like $5. > > Am I missing something? I'd like to hear opinions before making the next > move.
Regarding the "X vs. A" discussion, I encourage you to price out options from all competitors, and see what's right. For instance, Actel's Fusion line of flash-based FPGAs includes a built-in oscillator, D/A and A/D converter, temperature monitor, NVRAM, etc..... You might find that it suits your overall (low-cost, low- power) requirements. K.
Alex Freed <alexf@mirrow.com> wrote:

> >I need to build a sort of a simple video processor to drive a TFT LCD >screen in an embedded system. The plan is to use a small and cheap FPGA >with some memory. Low cost is very important, so fast SRAM is not an >option. > >I want to test the concept on an off-the-shelf board before making my >own, so I got the Spartan 3E "starter kit" that comes with DDR SDRAM. >Unfortunately I can't make the memory work using the core generator. >Most likely I'm not doing something right, but maybe there is some >problem with the hardware. > >While searching for info on SDRAM interfacing I got an impression that >the DDR SDRAM is very difficult to use and the board layout is very >critical. For my application 133 MHZ DDR is a heck of an overkill as I >only need to read 16 bits of consecutive data at 50 MHz (burst) max.
Most DDR wil operate down to 81 MHz. At 81MHz it is not so difficult to get DDR working. Just stay away from the MIG tools for simple down to earth solutions.
>So regular SDRAM is probably a better choice. I'm also using Micron >SDRAM elsewhere on my device (with the PXA255 CPU).
You can probably design a controller which does both SDRAM and DDR. The control signals are very similar. The only difference is that DDR outputs data on both edges.
>Looking for a board with built in SDRAM I came across the $150 Altera >DE1. Traditionally I used X more than A, but those were CPLDs rather >than FPGAs. The data sheet looks promising. Only 2 power voltages. Same >cost (Cyclone 2 vs. Spartan 3e). > >There is also PSRAM as an option and a Digilent board with S3e and >PSRAM, but it is more expensive than plain SDRAM by far. > >My volume is about 10,000 a year. I figure about $5 for FPGA and $1.5 >for SDRAM (8 MB). PSRAM is more like $5. > >Am I missing something? I'd like to hear opinions before making the next >move.
One thing to watch out for is that (AFAIK) Altera has no memory in their slices. In Xilinx FPGAs it is possible to use the lookup table as a 1x16 bit memory. This can prove very usefull for creating small memories (like dual buffers, fifos, etc). In Altera devices you'll need to use flipflops. A 32x16 memory uses 16 slices in a Xilinx device and probably at least 256 or 512 slices (some extra slices are needed for the memory decoder and data muxes) in an Altera device. -- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
On Dec 8, 8:55 am, n...@puntnl.niks (Nico Coesel) wrote:
> Alex Freed <al...@mirrow.com> wrote: > > >I need to build a sort of a simple video processor to drive a TFT LCD > >screen in an embedded system. The plan is to use a small and cheap FPGA > >with some memory. Low cost is very important, so fast SRAM is not an > >option. > > >I want to test the concept on an off-the-shelf board before making my > >own, so I got the Spartan 3E "starter kit" that comes with DDR SDRAM. > >Unfortunately I can't make the memory work using the core generator. > >Most likely I'm not doing something right, but maybe there is some > >problem with the hardware. > > >While searching for info on SDRAM interfacing I got an impression that > >the DDR SDRAM is very difficult to use and the board layout is very > >critical. For my application 133 MHZ DDR is a heck of an overkill as I > >only need to read 16 bits of consecutive data at 50 MHz (burst) max. > > Most DDR wil operate down to 81 MHz. At 81MHz it is not so difficult > to get DDR working. Just stay away from the MIG tools for simple down > to earth solutions. > > >So regular SDRAM is probably a better choice. I'm also using Micron > >SDRAM elsewhere on my device (with the PXA255 CPU). > > You can probably design a controller which does both SDRAM and DDR. > The control signals are very similar. The only difference is that DDR > outputs data on both edges. > > >Looking for a board with built in SDRAM I came across the $150 Altera > >DE1. Traditionally I used X more than A, but those were CPLDs rather > >than FPGAs. The data sheet looks promising. Only 2 power voltages. Same > >cost (Cyclone 2 vs. Spartan 3e). > > >There is also PSRAM as an option and a Digilent board with S3e and > >PSRAM, but it is more expensive than plain SDRAM by far. > > >My volume is about 10,000 a year. I figure about $5 for FPGA and $1.5 > >for SDRAM (8 MB). PSRAM is more like $5. > > >Am I missing something? I'd like to hear opinions before making the next > >move. > > One thing to watch out for is that (AFAIK) Altera has no memory in > their slices. In Xilinx FPGAs it is possible to use the lookup table > as a 1x16 bit memory. This can prove very usefull for creating small > memories (like dual buffers, fifos, etc). In Altera devices you'll > need to use flipflops. A 32x16 memory uses 16 slices in a Xilinx > device and probably at least 256 or 512 slices (some extra slices are > needed for the memory decoder and data muxes) in an Altera device. > > -- > Reply to nico@nctdevpuntnl (punt=.) > Bedrijven en winkels vindt U opwww.adresboekje.nl- Hide quoted text - > > - Show quoted text -
Hi Alex and Nico, The Stratix III devces allow individual LABS to be configured as small grain distributed memory. More details can be found at: http://www.altera.com/products/devices/stratix3/overview/architecture/st3-trimatrix.html The Stratix III devices have the additional advantage of being the most power efficient devices in their class today. Hope this helps, Subroto Datta Altera Corp.
"Nico Coesel" <nico@puntnl.niks> wrote in message 
news:475acaae.411023049@news.planet.nl...
> Alex Freed <alexf@mirrow.com> wrote: > > One thing to watch out for is that (AFAIK) Altera has no memory in > their slices. In Xilinx FPGAs it is possible to use the lookup table > as a 1x16 bit memory. This can prove very usefull for creating small > memories (like dual buffers, fifos, etc). In Altera devices you'll > need to use flipflops. A 32x16 memory uses 16 slices in a Xilinx > device and probably at least 256 or 512 slices (some extra slices are > needed for the memory decoder and data muxes) in an Altera device.
Brand A has M4K (4K bits) and M512 (512 bits) available depending on which device you're targetting. That's just the basic memory primitive, if you need more Quartus will assemble the proper number of these primitives, you won't be constructing look up tables from logic and flops if your code is written per the usual template for synthesizable memory devices. Different but roughly equivalent to brand X. KJ
"KJ" <kkjennings@sbcglobal.net> wrote:

> >"Nico Coesel" <nico@puntnl.niks> wrote in message >news:475acaae.411023049@news.planet.nl... >> Alex Freed <alexf@mirrow.com> wrote: >> >> One thing to watch out for is that (AFAIK) Altera has no memory in >> their slices. In Xilinx FPGAs it is possible to use the lookup table >> as a 1x16 bit memory. This can prove very usefull for creating small >> memories (like dual buffers, fifos, etc). In Altera devices you'll >> need to use flipflops. A 32x16 memory uses 16 slices in a Xilinx >> device and probably at least 256 or 512 slices (some extra slices are >> needed for the memory decoder and data muxes) in an Altera device. > >Brand A has M4K (4K bits) and M512 (512 bits) available depending on which >device you're targetting. That's just the basic memory primitive, if you >need more Quartus will assemble the proper number of these primitives, you >won't be constructing look up tables from logic and flops if your code is >written per the usual template for synthesizable memory devices. Different >but roughly equivalent to brand X.
Not at all. The way Xilinx's devices work is much more flexible and consumes less routing resources because the memory can be mixed/combined with logic. If you need to bring signals to and from a memory block, you'll need more routing resources and require the logic to be concentrated close to the memory. Both resulting in more delays, lower speed and hot spots on the die. -- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
Alex Freed <alexf@mirrow.com> wrote:

> >I need to build a sort of a simple video processor to drive a TFT LCD >screen in an embedded system. The plan is to use a small and cheap FPGA >with some memory. Low cost is very important, so fast SRAM is not an >option.
Why not choose a CPU with build-in LCD controller? For instance, the LCD controller in the Blackfin from Analog Devices should -according to the maximum pixel clock- be able to do 1280x1024 @ 50Hz. You can buy 2 Blackfins for the price of one FPGA and get the design ready much faster. -- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
Marc Randolph wrote:

Thanks for comments, Marc
>> >> First the eval board: yes, it is most likely not a problem with your >> board. If you are counting pennies on your BOM and need a decent >> amount of RAM, SDRAM (or DDR - its cheaper this week) is the only way >> to go, so you need to take the time to debug the one you have.
OK, I didn't doubt much that SDRAM was the way to go, but I got an impression that DDR is way more difficult to work with and I don't need the bandwidth. So probably the regular SDR is it. Especially considering I already have it in my BOM.
>> >> Now, vendors: if your product is really that cost sensitive, get 5k or >> 10k piece prices from all of the vendors. Include Lattice and others >> in the mix as well.
Probably not. I'm well used to X tools, somewhat used to A tools and unless there is a huge potential win would rather not learn yet another toolset.
>> Use the free tools from each company (or request an eval >> copy) for that if you need.
As I said I was using the tools for a long time. It's just the SDRAM that I have zero experience with.
> > One other thing: if you're using an FPGA that doesn't have built in > configuration memory (I think each vendor may have one line that > does), don't forget to include that in your preliminary BOM.
Well, modern FPGAs from both X and A work with dirt cheap commodity serial flash. However I have a hard CPU with 32 MB of flash, so I can configure FPGAs for free. More flexible too. -Alex.