Pipelining of FPGA code

D

dash82

Hi,

I am trying to understand what Pipelined designing/architecture for
FPGA's mean ?

I went through documents which list all the benefits of using
pipelining for FPGA's. But, none of them explicitly explained how
pipelined architecture was better (efficiency-wise) against a non-
pipelined architecture. I would'nt generally ask such kind of
questions in a forum. But going through books and
searching in Google didnt help me.

It would help me if someone could point to some article / book /
example (and
preferably a Verilog /VHDL based one) which explains pipelining at in
depth.

Thanks.

Shah.
 
T

Thomas Stanka

I am trying to understand what Pipelined designing/architecture for
FPGA's mean ?

The same as pipelined in any other HW architecture.
A very basic answer is:
The calculation of f = A + ((B + C) * D) could be done in one clock
cycle, which slows down the maximum clock cycle of your device, as the
longest datapath is through two adders and one multiplier.
If you pipeline, you add registers in between and use three clock
cycles to get the result with much faster clock cycles.
f1 = B+C, f2 = f1 * D, f = A + f2
The overall speed for one calculation would slow down a bit, as you
add two register delays and need your clock to be slow enough for the
slowest part of the operation. If you need this operation done for a
datastream, you gain each clock cycle after the second one a new value
for f(t) as f1(t+2) and f2(t+1) is calculated in parallel to f(t).

bye Thomas
 
D

David R Brooks

Thomas said:
The same as pipelined in any other HW architecture.
A very basic answer is:
The calculation of f = A + ((B + C) * D) could be done in one clock
cycle, which slows down the maximum clock cycle of your device, as the
longest datapath is through two adders and one multiplier.
If you pipeline, you add registers in between and use three clock
cycles to get the result with much faster clock cycles.
f1 = B+C, f2 = f1 * D, f = A + f2
The overall speed for one calculation would slow down a bit, as you
add two register delays and need your clock to be slow enough for the
slowest part of the operation. If you need this operation done for a
datastream, you gain each clock cycle after the second one a new value
for f(t) as f1(t+2) and f2(t+1) is calculated in parallel to f(t).
http://en.wikipedia.org/wiki/Pipelining
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top