[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [oc] Beginner seeks advice
Bob,
> I think that an FPGA would be an ideal way to speed up this operation
> by performing it in parallel directly in hardware. If the tiles were hard
> coded, I calculate about 60,000 OR gates are needed. This would
> require 128 input pins and 2508 output pins though. I assume that
> an FPGA is flexible enough to implement multiplexers etc to
> allow data to be loaded and read out in smaller chunks.
You assume correctly. Note that you would have to multiplex the outputs
anyway if you are going to read the results back into the PC. In fact,
this is probably the hardest part of the whole project: a PCI interface
is very complex and hard to get right, an ISA interface is slower but
some recent PCs don't include it any more. Many cheap FPGA kits use a
parallel (printer) interface to talk to the PC.
> a) is it a feasible project to achieve within the budget
It most certainly is, but you might be disapointed with the results
unless you have extensively profiled your application and determined
that speeding up this operation would have a significant impact (at
least enough to compensate for the added overhead of communicating with
the chip!). I once designed a very simple CPU that had no adder. It
took 700 clocks just to add two integers, so an obvious improvement was
to include an adder that could do the same thing in a single clock. I
ran all the benchmarks again and to my surprise they only became six
times faster - way less than I was expecting.
But if you are doing this for the experience and not for the results it
will probably be worth it.
> b) could it be implemented on one or a few inexpensive chips
> (Xilinx XCV50 say)
Probably. It is hard to say from just your estimate of OR gates since
some designs are more efficient than others on different FPGAs.
> c) which chips and tools are best to get started with
I am very impressed with the new Spartan II line from Xilinx. At $21
for the 150K gate model (single quantity at Insight Electronics) it is
a real bargain. I am still trying to find out if you can program it
with the cheapest version of the software (Foundation Base) or not.
Since you don't have much experience with hardware, it would be better
to start with a kit like http://www.xess.com/prod009.html (though this
particular one might be too small for you) where you get everything you
need. Otherwise you might waste weeks and weeks trying to find a
problem only to discover it is a bad solder joint or something. All the
Xess kits interface to the PC via the parallel port, so you might
prefer to look elsewhere for something that goes into a PCI slot.
Unfortunately, all the ones like that which I have seen so far are way
over your budget.
-- Jecel