|
 |
|
|
PARTS board |
Reconfigurable computing systems are computers based on hardware,
most of which can be arbitrarily defined to suit the needs of the
particular problem to be solved.
At Interval, we are studying both the development of reconfigurable
computing systems and a number of the specific applications they make
possible. Because of their inherent parallelism and low-level hardware
base, reconfigurable computing systems can offer significantly better
levels of performance for certain applications than conventional computing
architectures. But there is much that we don't understand about
reconfigurable computing. Here are some of the issues that interest
us:
How should reconfigurable systems be organized? Is it possible to create
a single organization that can address a wide range of problems? How do
the specific requirements of an application result in bottlenecks in
a reconfigurable computing system? How can these systems be
programmed effectively? What kinds of languages and tools are suited to
the task?
To pursue these questions, we have built a reconfigurable computer we call
PARTS (Programmable and Reconfigurable Tool Set), a PCI board which can be
plugged into a conventional PC.
Currently, reconfigurable computing systems are constructed from
integrated circuit chips called Field Programmable Gate Arrays, or FPGAs
for short. These chips typically contain a large array of small logic
elements, a set of wires for connecting them, and a set of programmable
switches that can be used in conjunction with the wires to create arbitrary
circuits between the logic elements. The switches are controlled by
data bits stored in memory on the chip. Once a particular pattern
of data has been loaded into an FPGA, a corresponding complex hardware
structure will be realized in it. Physical pins on the FPGA can also be
connected to the logical elements in the chip allowing the hardware structure
in a particular FPGA to interact with other FPGAs and other types of
devices like memories or bus interfaces.
 |
|
|
The structure of an FPGA. |
|
The PARTS board consists of a 4 X 4 array of large FPGAs that have
random access memory chips interspersed among them. Connectors on the board
allow us to tie it directly to high-speed sources of data such as video
cameras.
One area of interest to us has been the use of the PARTS board as a vehicle
to explore applications in image and signal processing. A particularly
interesting application of the PARTS board
that we've studied extensively is the
computation of stereo depth.
Stereo vision
References:
Shoup, R., "Parameterized Convolution
Filtering in a Field Programmable Gate Array,"
in proceedings of IEEE FPGA '93.
|