FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > VHDL

VHDL comp.lang.vhdl newsgroup / Usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-30-2007, 06:06 AM
dash82
Guest
 
Posts: n/a
Default Pipelining of FPGA code

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.
Reply With Quote
  #2 (permalink)  
Old 11-30-2007, 08:42 AM
Thomas Stanka
Guest
 
Posts: n/a
Default Re: Pipelining of FPGA code

On 30 Nov., 06:06, dash82 <dhavalru...@gmail.com> wrote:
> 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
Reply With Quote
  #3 (permalink)  
Old 11-30-2007, 11:51 PM
David R Brooks
Guest
 
Posts: n/a
Default Re: Pipelining of FPGA code

Thomas Stanka wrote:
> On 30 Nov., 06:06, dash82 <dhavalru...@gmail.com> wrote:
>> 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).
>

http://en.wikipedia.org/wiki/Pipelining
Reply With Quote
  #4 (permalink)  
Old 12-02-2007, 03:36 AM
dash82
Guest
 
Posts: n/a
Default Re: Pipelining of FPGA code

On Nov 30, 5:51 pm, David R Brooks <daveb...@iinet.net.au> wrote:
> Thomas Stanka wrote:
> > On 30 Nov., 06:06, dash82 <dhavalru...@gmail.com> wrote:
> >> 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).

>
> http://en.wikipedia.org/wiki/Pipelining


Thank you !
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pipelining of FPGA code dash82 FPGA 5 12-02-2007 03:29 AM
RISC pipelining question bobrics FPGA 0 10-21-2005 10:29 AM
Pipelining question Divyang M VHDL 10 03-31-2005 11:36 PM
pipelining tulip VHDL 0 11-05-2004 06:35 AM
Pipelining in VHDL koko VHDL 2 04-29-2004 08:51 PM


All times are GMT +1. The time now is 03:29 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved