From: Jeremy Ralph on
If one wanted to develop an FPGA-based hardware accelerator that could
attach to the average PC to process data stored in PC memory what
options are there available.

Decision factors are:
+ ease of use (dev kit, user's guide, examples)
+ ability to move data with minimal load on the host PC
+ cost
+ scalability (i.e. ability to upsize RAM and FPGA gates)
+ ability to instantiate a 32 bit RISC (or equiv)

Someone recommended the TI & Altera Cyclone II PCIe dev board, which is
said to be available soon. Any other recommendations?

Also, what is the best way to move data between PC mem to FPGA? DMA?
What transfer rates should one realistically expect?

Thanks,
Jeremy




---
PDTi [ http://www.productive-eda.com ]
SpectaReg -- Spec-down code and doc generation for register maps

From: Falk Brunner on
Jeremy Ralph schrieb:

> If one wanted to develop an FPGA-based hardware accelerator that could
> attach to the average PC to process data stored in PC memory what
> options are there available.

Nice idea, but to beat a nowady CPU (Pentium 4 and Athlon 64 etc.) and a
nowadays GPU (Nvidi Gforce whatever-is-uptodate etc.) is hard to
achive even with the big guys in the business. (yeah, yeah, special task
can be optimized to run faster on FPGA based hardware, but to speed up
"normal" PC tasks is difficult)

> Decision factors are:
> + ease of use (dev kit, user's guide, examples)
> + ability to move data with minimal load on the host PC
> + cost
> + scalability (i.e. ability to upsize RAM and FPGA gates)
> + ability to instantiate a 32 bit RISC (or equiv)

> Someone recommended the TI & Altera Cyclone II PCIe dev board, which is
> said to be available soon. Any other recommendations?

> Also, what is the best way to move data between PC mem to FPGA? DMA?

Sure.

> What transfer rates should one realistically expect?

PCI is 133 Mbyte/s max.
AGP is 2 GByte/s max. (AFAIK)
PCI-Express is nx250 Mbyte/s (with n up to 16)

MfG
Falk
From: Piotr Wyderski on
Jeremy Ralph wrote:

> If one wanted to develop an FPGA-based hardware accelerator that could
> attach to the average PC to process data stored in PC memory what
> options are there available.

What could it accelerate? Modern PCs are quite fast beasts...
If you couldn't speed things up by a factor of, say, 300%, your
device would be useless. Modest improvements by several tens
of percents can be neglected -- Moore's law constantly works
for you. FPGAs are good for special-purpose tasks, but there
are not many such tasks in the realm of PCs.

> + ability to instantiate a 32 bit RISC (or equiv)

You already have a high-performance CPU on board, why do you
need another one? Use your FPGA to do something massively parallel
and let the CPU perform the CPU-ish stuff. The high rank Xilinx
devices contain one or more PowerPCs for that purpose and that
solution seems to be the best possible.

> Also, what is the best way to move data between PC mem to FPGA? DMA?

DMA is good, there are PCI frontend IP cores available.

> What transfer rates should one realistically expect?

132MiB/s when not overclocked.

Best regards
Piotr Wyderski

From: Jeremy Ralph on
Thanks Falk, for the numbers. Any reason why AGP couldn't be used
for non-graphics streams?



---
PDTi [ http://www.productive-eda.com ]
SpectaReg -- Spec-down code and doc generation for register maps

From: Jeremy Ralph on
Hi Piotr,

Thanks for your response. Please find my comments below:

>>>What could it accelerate? Modern PCs are quite fast beasts...
>>If you couldn't speed things up by a factor of, say, 300%, your
>>device would be useless. Modest improvements by several tens
>>of percents can be neglected -- Moore's law constantly works
>>for you. FPGAs are good for special-purpose tasks, but there
>>are not many such tasks in the realm of PCs.

So let's say one was able to demo a 50% performance improvement for
some specialized task using FPGA, custom RTL and HAL. Let's say the
design is scalable such that with 8X FPGA gates I'd get a 8*50%
performance improvement. Yes, FPGAs are costly and can't compare to
ASICs... but 50% in an FPGA could mean 400% in an ASIC. Moore's law
also holds true for ASICS and FPGAs.

>>You already have a high-performance CPU on board, why do you
>>need another one? Use your FPGA to do something massively parallel
>>and let the CPU perform the CPU-ish stuff. The high rank Xilinx
>>devices contain one or more PowerPCs for that purpose and that
>>solution seems to be the best possible.

If the 32 bit RISC was optimized for some specialized task, then it
might make sense to have it alongside a high-performance CPU. For
acceleration stuff I don't envision a RISC being too useful. More
interested in prototyping some RISC centric soft-IP designs. Hoping to
kill two birds with one stone and find a board that can be used for
both applications.

Cheers,
Jeremy

---
PDTi [ http://www.productive-eda.com ]
SpectaReg -- Spec-down code and doc generation for register maps

 |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8
Prev: systemc
Next: sqrt(a^2 + b^2) in synthesizable VHDL?