FPGARelated.com
Forums

FPGA choice advice needed

Started by Mouarf May 6, 2005
hello all,

Could someone give me an advice of the best FPGA(s) that meets following 
requirements:

Application: PCI board to be connected to an automotive bus (CAN, or 
LIN, or FlexRay etc...), an IP will be integrated for each of thoses 
busses (only 1 bus type per PCI board, several channels).

The application must include:
- a 5V PCI target core (32 bit, 33Mhz), how much does this cost?
- the PCI core owns a Win98 (option: Linux) driver and an API to map the 
dual port RAM (ie: the application gets a pointer to the dual port RAM 
and use it as memory without any function to be called when accessing 
PCI hardware), how much does this cost?
- a dual port RAM core (maybe with anti collision feature or boundary 
areas), with a size of at least 512kbit or a large FIFO, how much does 
this cost? What is the RAM size range that is possible to build in a FPGA?
- the automotive bus IP core (I will code it)
- a non BGA package because of higher production cost and hardware debug 
difficulties and low pin count (<150)
- low price (very very small quantities), below $40 in single quantity 
(for one or 2 FPGA that will do the job), and low power consumption (ok, 
everyone ask for that!)
- Xilinx or Altera because the FPGA community (like this newsgroup) know 
their product well (ie: good support)
- free 16 or 32 bit processor core (or already integrated core like ARM 
or PowerPC or maybe LEON) with well documented free development tools 
(gcc...) or used by many open source projects, the firmware  code will 
be stored in an external parallel Flash memory.

I know that I should first code and then choose the best FPGA that fits 
the application but I must make a preselection in order to have more 
ideas about the board architecture, power consumption and price...

Should I consider that everything fits in a 300kGate FPGA?

Could someone tell me and approximate number of required Kgate for each 
block mentionned above?

For more flexibility in the future (eg: available IC for processor or 
automotive bus), I've thought about using 2 FPGA on the board:
- one for PCI interface, very large dual port RAM and a small FIFO (both 
with the same connexion to external local bus), this will be the same 
for every new board
- one for the automotive bus controller, and the processor (and its RAM) 
that will have an external connection to the RAM inside the first FPGA, 
this board can be changed to use a fast microcontroller instead of 
processor core and/or to use an already existing CAN/LIN controller.

Which FPGA would you recommend for both?


Other question:
Does someone know if there is an equivalent product table as 
http://www.xilinx.com/products/tables/fpga.htm but for Altera, Actel or 
Lattice?
I've recently assisted implementing a pci slave in a Lattice EC device.
That was 3.3v pci.  The reference design on Lattice's website take ~ 1k
LUTs.
As far as the embedded ram, you're not going to get 500k in a non BGA
package
from anyone.  You need to either use two devices or use a BGA.
CAN controller should be less than 2k LUTs.
Don't think Lattice has a free micro, but you can get 8051s & such from
open cores.  Here is the product table for the EC family.
http://www.latticesemi.com/products/fpga/ecp/index.cfm


Mouarf wrote:
> hello all, > > Could someone give me an advice of the best FPGA(s) that meets
following
> requirements: > > Application: PCI board to be connected to an automotive bus (CAN, or > LIN, or FlexRay etc...), an IP will be integrated for each of thoses > busses (only 1 bus type per PCI board, several channels). > > The application must include: > - a 5V PCI target core (32 bit, 33Mhz), how much does this cost? > - the PCI core owns a Win98 (option: Linux) driver and an API to map
the
> dual port RAM (ie: the application gets a pointer to the dual port
RAM
> and use it as memory without any function to be called when accessing
> PCI hardware), how much does this cost? > - a dual port RAM core (maybe with anti collision feature or boundary
> areas), with a size of at least 512kbit or a large FIFO, how much
does
> this cost? What is the RAM size range that is possible to build in a
FPGA?
> - the automotive bus IP core (I will code it) > - a non BGA package because of higher production cost and hardware
debug
> difficulties and low pin count (<150) > - low price (very very small quantities), below $40 in single
quantity
> (for one or 2 FPGA that will do the job), and low power consumption
(ok,
> everyone ask for that!) > - Xilinx or Altera because the FPGA community (like this newsgroup)
know
> their product well (ie: good support) > - free 16 or 32 bit processor core (or already integrated core like
ARM
> or PowerPC or maybe LEON) with well documented free development tools
> (gcc...) or used by many open source projects, the firmware code
will
> be stored in an external parallel Flash memory. > > I know that I should first code and then choose the best FPGA that
fits
> the application but I must make a preselection in order to have more > ideas about the board architecture, power consumption and price... > > Should I consider that everything fits in a 300kGate FPGA? > > Could someone tell me and approximate number of required Kgate for
each
> block mentionned above? > > For more flexibility in the future (eg: available IC for processor or
> automotive bus), I've thought about using 2 FPGA on the board: > - one for PCI interface, very large dual port RAM and a small FIFO
(both
> with the same connexion to external local bus), this will be the same
> for every new board > - one for the automotive bus controller, and the processor (and its
RAM)
> that will have an external connection to the RAM inside the first
FPGA,
> this board can be changed to use a fast microcontroller instead of > processor core and/or to use an already existing CAN/LIN controller. > > Which FPGA would you recommend for both? > > > Other question: > Does someone know if there is an equivalent product table as > http://www.xilinx.com/products/tables/fpga.htm but for Altera, Actel
or
> Lattice?
Teo a &#4294967295;crit :
> I've recently assisted implementing a pci slave in a Lattice EC device. > That was 3.3v pci. The reference design on Lattice's website take ~ 1k > LUTs. > As far as the embedded ram, you're not going to get 500k in a non BGA > package > from anyone. You need to either use two devices or use a BGA. > CAN controller should be less than 2k LUTs. > Don't think Lattice has a free micro, but you can get 8051s & such from > open cores. Here is the product table for the EC family. > http://www.latticesemi.com/products/fpga/ecp/index.cfm
OK, thanks for your feedback Do you know how was the PCI driver implemented? Are you talking about this PCI controller http://www.latticesemi.com/products/devtools/ip/pcitarget32/index.cfm ? My problem with opencore uC cores is that I did not find any suitable with powerfull development tool (compiler and debugger)...
Here is the free reference design for pci 32 bit slave.
http://www.latticesemi.com/products/devtools/ip/refdesigns/pcitarget.cfm

Not sure exactly what features you want in a compiler & debugger, but
there are some out there like http://www.pjrc.com/tech/8051/

Mouarf,

If you need a 512Kb fifo, check out the Stratix I and II parts from
Altera.  The M-RAMs are 576Kb.  However, I don't know if $40 is going
to possible, especially when you add in the cost for a programming
PROM.  Same is true for the Xilinx V2P or V4s.  As for PCI cores, both
Xilinx and Altera have cores that require an annual fee.  Price depends
on if it is a slave or master core.  As far as I know Altera and Xilinx
only support 3.3V PCI.  Why do you need 5V?   Finally, you're not going
to get a free 16b or 32b microprocessor core unless you use an open
source solution.  That said, both Xilinx and Altera have IP you can
purchase.  I would expect the fees would be similar to a PCI core.

John

John M a &#4294967295;crit :
> Mouarf, > > If you need a 512Kb fifo, check out the Stratix I and II parts from > Altera. The M-RAMs are 576Kb. However, I don't know if $40 is going > to possible, especially when you add in the cost for a programming > PROM. Same is true for the Xilinx V2P or V4s. As for PCI cores, both > Xilinx and Altera have cores that require an annual fee. Price depends > on if it is a slave or master core. As far as I know Altera and Xilinx > only support 3.3V PCI. Why do you need 5V? Finally, you're not going > to get a free 16b or 32b microprocessor core unless you use an open > source solution. That said, both Xilinx and Altera have IP you can > purchase. I would expect the fees would be similar to a PCI core. > > John >
OK a PCI 3,3V would fit but do you have an idea about prices for IPs (PCI target, processor, CAN etc...)?
At this link the source is free for a pci 32 bit  slave.
http://www.latticesemi.com/products/devtools/ip/refdesigns/pcitarget.cfm

Don't know about CAN controller costs, you might want to use a discrete
device to avoid the IP price.  Open cores is best for free processors.
Good luck.

If you are just looking to experiment then the Xilinx PCI Core can be run on 
evaluation mode. Buy costs vary on license 32bit / 33MHz of the order 
$2000-5000. If you are a student there are education licensing as well. I 
believe there is one on opencores but it;s size may be quite large.

$40 does not go far and Virtex and Stratix families are almost certainly out 
of that range unless you happen to be an extremely large user or go for the 
smallest parts in the range. For automotive applications Spartan-3 is a good 
fit for your application although I'm a bit biased to Xilinx. It is getting 
very difficult to get parts that are not BGA, or fine pitch like the QFN, 
let alone larger parts in an easy to use package. We should have something 
for hobby / student market in the shape of a low cost module in 2/3 months 
to assist with this problem.

For simple size comparision I would use number of raw LUTs and flip-flops 
followed by memory size /organisation. The latter is not always simple as 
block rams can sometimes be inefficient for given applications. Xilinx have 
an advantage in this area with the ability to do local rams and shift 
register elements SRL16s from LUTs. This resource is in addition to block 
rams.

Low cost processors I would look at opencores. Processors like MicoBlaze can 
be evaluated free but the kit does cost $495 if you need to buy the license.

If you need a very large memory then bear in mind that FPGA ram is 
relatively expensive. However standalone Dual Port Memories are getting 
expensive too. For the large FIFO consider using a single interface memory 
ram, or dram, and use your FPGA as a controller to time multiplex access the 
data reads and writes.  Smaller FIFOs are good things to do in your FPGA.

John Adair
Enterpoint Ltd. - Home of MINI-CAN, PCI and CAN Development Board.
http://www.enterpoint.co.uk



"Mouarf" <toto@toto.de> wrote in message 
news:427b6277$0$284$636a15ce@news.free.fr...
> hello all, > > Could someone give me an advice of the best FPGA(s) that meets following > requirements: > > Application: PCI board to be connected to an automotive bus (CAN, or LIN, > or FlexRay etc...), an IP will be integrated for each of thoses busses > (only 1 bus type per PCI board, several channels). > > The application must include: > - a 5V PCI target core (32 bit, 33Mhz), how much does this cost? > - the PCI core owns a Win98 (option: Linux) driver and an API to map the > dual port RAM (ie: the application gets a pointer to the dual port RAM and > use it as memory without any function to be called when accessing PCI > hardware), how much does this cost? > - a dual port RAM core (maybe with anti collision feature or boundary > areas), with a size of at least 512kbit or a large FIFO, how much does > this cost? What is the RAM size range that is possible to build in a FPGA? > - the automotive bus IP core (I will code it) > - a non BGA package because of higher production cost and hardware debug > difficulties and low pin count (<150) > - low price (very very small quantities), below $40 in single quantity > (for one or 2 FPGA that will do the job), and low power consumption (ok, > everyone ask for that!) > - Xilinx or Altera because the FPGA community (like this newsgroup) know > their product well (ie: good support) > - free 16 or 32 bit processor core (or already integrated core like ARM or > PowerPC or maybe LEON) with well documented free development tools > (gcc...) or used by many open source projects, the firmware code will be > stored in an external parallel Flash memory. > > I know that I should first code and then choose the best FPGA that fits > the application but I must make a preselection in order to have more ideas > about the board architecture, power consumption and price... > > Should I consider that everything fits in a 300kGate FPGA? > > Could someone tell me and approximate number of required Kgate for each > block mentionned above? > > For more flexibility in the future (eg: available IC for processor or > automotive bus), I've thought about using 2 FPGA on the board: > - one for PCI interface, very large dual port RAM and a small FIFO (both > with the same connexion to external local bus), this will be the same for > every new board > - one for the automotive bus controller, and the processor (and its RAM) > that will have an external connection to the RAM inside the first FPGA, > this board can be changed to use a fast microcontroller instead of > processor core and/or to use an already existing CAN/LIN controller. > > Which FPGA would you recommend for both? > > > Other question: > Does someone know if there is an equivalent product table as > http://www.xilinx.com/products/tables/fpga.htm but for Altera, Actel or > Lattice?
many thanks for these answers and advices.

Some more questions:
- How is the IP licence managed? I mean, in evaluation mode, is there a 
time limite (or whatever) in ISE web edition, is it downloadable or do I 
need to get in touch with Xilinx sales men?

- When buying IP, are there royalties on each PCI board sold? What is 
the difference in the IP with those different licence? Are there some 
limitations?

- Are IP availble in a complete set of VHDL code etc or is it a 
precompiled file set?

- Could you give me a link to Xilinx PCI IP core, there are many 
available on their website, I don't know which you are talking about?

My project is mainly an evaluation/learning project. I want to learn 
FPGA designs with a real and complete project (software, driver, digital 
design, hardware) that could be done in any company (I've studied VHDL/ 
Verilog years ago but only with simulations).

Since my budget is not so large, I would like to least estimate my 
project costs (with commercial IP in evaluation mode first, then if the 
project is a succes, I plan to buy them) before starting and asking for 
funds to some company that would be interested in this project (some are 
ready to help me and wait for my budget estimation).

Best regards

John Adair a &#4294967295;crit :
> If you are just looking to experiment then the Xilinx PCI Core can be run on > evaluation mode. Buy costs vary on license 32bit / 33MHz of the order > $2000-5000. If you are a student there are education licensing as well. I > believe there is one on opencores but it;s size may be quite large. > > $40 does not go far and Virtex and Stratix families are almost certainly out > of that range unless you happen to be an extremely large user or go for the > smallest parts in the range. For automotive applications Spartan-3 is a good > fit for your application although I'm a bit biased to Xilinx. It is getting > very difficult to get parts that are not BGA, or fine pitch like the QFN, > let alone larger parts in an easy to use package. We should have something > for hobby / student market in the shape of a low cost module in 2/3 months > to assist with this problem. > > For simple size comparision I would use number of raw LUTs and flip-flops > followed by memory size /organisation. The latter is not always simple as > block rams can sometimes be inefficient for given applications. Xilinx have > an advantage in this area with the ability to do local rams and shift > register elements SRL16s from LUTs. This resource is in addition to block > rams. > > Low cost processors I would look at opencores. Processors like MicoBlaze can > be evaluated free but the kit does cost $495 if you need to buy the license. > > If you need a very large memory then bear in mind that FPGA ram is > relatively expensive. However standalone Dual Port Memories are getting > expensive too. For the large FIFO consider using a single interface memory > ram, or dram, and use your FPGA as a controller to time multiplex access the > data reads and writes. Smaller FIFOs are good things to do in your FPGA. > > John Adair > Enterpoint Ltd. - Home of MINI-CAN, PCI and CAN Development Board. > http://www.enterpoint.co.uk
Hope not being too much OT here.

I think the cheapest PCI platform might well be the MaxII kit.
Alas, the MaxII doesn't have the "guts" to be an SOPC platform,
so if you absolutely want an embedded processor, you'll
need another board.
But if you first want to get familiar with PCI and test an actual
solution, it might be an easy start.

Bert Cuzeau