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

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-25-2006, 04:27 PM
dh2006
Guest
 
Posts: n/a
Default Double buffering

I've read much about Double Buffering, especially that it is good
practice (on Xilinx devices) to double buffer data signals (such as ADC
inputs), and place the double buffer in the IOB associated with the
pin.

Can someone explain to me, what double buffering is and why you would
use it? Any links to reference information would be appreciated.

Many thanks.

Reply With Quote
  #2 (permalink)  
Old 11-29-2006, 07:46 AM
Guest
 
Posts: n/a
Default Re: Double buffering


dh2006 schrieb:

> I've read much about Double Buffering, especially that it is good
> practice (on Xilinx devices) to double buffer data signals (such as ADC
> inputs), and place the double buffer in the IOB associated with the
> pin.
>
> Can someone explain to me, what double buffering is and why you would
> use it? Any links to reference information would be appreciated.
>
> Many thanks.

Double buffering is one way of syncronising signals which are being
passed between clock domains, primarily in order to prevent problems
with metastability.Its not only xilinx devices in which this is used
its used in any situation where signals which are asyncronous to some
logic need to be syncronised.There are other methods which can be used
to achieve the same thing.A google search on metestabilty will give you
further information.

Reply With Quote
  #3 (permalink)  
Old 12-02-2006, 01:05 AM
Daniel S.
Guest
 
Posts: n/a
Default Re: Double buffering

[email protected] wrote:
> dh2006 schrieb:
>
>> I've read much about Double Buffering, especially that it is good
>> practice (on Xilinx devices) to double buffer data signals (such as ADC
>> inputs), and place the double buffer in the IOB associated with the
>> pin.
>>
>> Can someone explain to me, what double buffering is and why you would
>> use it? Any links to reference information would be appreciated.
>>
>> Many thanks.

> Double buffering is one way of syncronising signals which are being
> passed between clock domains, primarily in order to prevent problems
> with metastability.Its not only xilinx devices in which this is used
> its used in any situation where signals which are asyncronous to some
> logic need to be syncronised.There are other methods which can be used
> to achieve the same thing.A google search on metestabilty will give you
> further information.


.... and as an extra precision, "not only Xilinx devices" does not only
mean Altera's, Cypress and other programmable logic companies.
Double-registered async inputs are common fare in clocked digital
circuits of any sort, ASICs are not somehow magically exempted from this.
Reply With Quote
  #4 (permalink)  
Old 12-04-2006, 10:01 AM
Ben Jones
Guest
 
Posts: n/a
Default Re: Double buffering


"dh2006" <[email protected]> wrote in message
news:[email protected] oups.com...
> I've read much about Double Buffering, especially that it is good
> practice (on Xilinx devices) to double buffer data signals (such as ADC
> inputs), and place the double buffer in the IOB associated with the
> pin.
> Can someone explain to me, what double buffering is and why you would
> use it? Any links to reference information would be appreciated.


"Double buffering" is a very vague term and means different things in
different contexts. Here are a few things it might mean in FPGA terms:

* Double-registering - as a previous poster pointed out, it is very common
to use two ranks of synchronizing flip-flops when moving from one clock
domain to another. This is a favourite topic in these parts so you'll have
no difficulty in finding an abundance of information about that. :-)

* Double data rate - many FPGAs nowadays have a special configuration
flip-flops to cater for DDR SDRAM and the like. These allow data to be clock
in and out to the external device on both edges of the reference clock,
while still permitting a single-clock design inside the FPGA itself. Refer
to your device datasheet to find out how these can be used.

* Double-buffering - say this to a designer of DSP or graphics processing
hardware and they will immediately think of a pair of RAM blocks being used
as a buffer between two processing elements in a so-called "ping pong"
configuration. This is a method for increasing the throughput of a system,
by allowing the data source to write a block of data to memory 'A' while the
data processing unit is reading the previous block from memory 'B'. When
both operations are done, A and B are swapped and the processing continues.

Judging from your use of the phrase "good practice", I think you are
probably refering to double-registering for synchronization. In which case,
do listen to the many experts who inhabit this group and you will likely
save yourself much pain and suffering!

Cheers,

-Ben-


Reply With Quote
Reply

Bookmarks


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
Buffering the critical path. vssumesh FPGA 17 09-21-2006 08:39 AM
OVL assertion for double SOP event [email protected] Verilog 8 08-11-2006 04:22 PM
Kingston ValueRAM double deckers Jonathan Schneider FPGA 2 11-13-2005 07:02 AM
Clock buffering in VirtexE FPGA vssumesh FPGA 16 07-14-2005 06:37 PM
Clock doubler to double an input 13.5 Mhz methi FPGA 12 06-08-2005 02:28 PM


All times are GMT +1. The time now is 11:59 AM.


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