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 03-07-2007, 09:59 PM
axr0284
Guest
 
Posts: n/a
Default Introducing picosecond delay between two output signals

Hi,
I would like to know what are the common methods of introducing
delays as low as 10ps between two outputs in an FPGA. I do not
currently have a specific FPGA in mind. I am just looking for a
general answer.

I know there are DCMs but this usually adds jitter and one needs to
wait for the DCM output to phase lock before the signal is stable and
it might take too long in our case. Basically I would want to power up
a board and have the delay be set in as short a time as possible. I
also need to minimise jitter to a minimum so that the two signals are
NEVER high at the same time. Thanks for any answer.
Amish

Reply With Quote
  #2 (permalink)  
Old 03-07-2007, 10:14 PM
Austin Lesea
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Amish,

The only method I am aware of is hand routing. 10ps is too small to
really be able to hold to in all cases. With 35ps p-p jitter (minimum)
in any FPGA, and +/- 10 ps route matching (due to process variations
chip to chip), this may be impossible.

Austin

axr0284 wrote:
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA. I do not
> currently have a specific FPGA in mind. I am just looking for a
> general answer.
>
> I know there are DCMs but this usually adds jitter and one needs to
> wait for the DCM output to phase lock before the signal is stable and
> it might take too long in our case. Basically I would want to power up
> a board and have the delay be set in as short a time as possible. I
> also need to minimise jitter to a minimum so that the two signals are
> NEVER high at the same time. Thanks for any answer.
> Amish
>

Reply With Quote
  #3 (permalink)  
Old 03-07-2007, 10:16 PM
John_H
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

"axr0284" <[email protected]> wrote in message
news:[email protected] oups.com...
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA. I do not
> currently have a specific FPGA in mind. I am just looking for a
> general answer.
>
> I know there are DCMs but this usually adds jitter and one needs to
> wait for the DCM output to phase lock before the signal is stable and
> it might take too long in our case. Basically I would want to power up
> a board and have the delay be set in as short a time as possible. I
> also need to minimise jitter to a minimum so that the two signals are
> NEVER high at the same time. Thanks for any answer.
> Amish


The jitter you get from having the FPGA in your signal path will far
outweigh the delay difference you're looking for.

To get delay resolution down to about 100 ps in the Spartan 3 family
devices, for instance, carry chains can be manipulated in interesting ways.

To get below 10 ps resolution, you really need a precision external circuit.

For arbitrary tunable delays, I've worked with I/Q modulators in the past to
generate a phase-shifted clock with sub-degree granularity (though not
necessarily sub-degree precision) using DACs and RF devices. You can easily
achieve 10 ps granularity through this external clock control; it makes it
easier to keep the edges clean when the timing edges don't rely on the FPGA.

- John_H


Reply With Quote
  #4 (permalink)  
Old 03-08-2007, 01:25 AM
Manny
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

On Mar 7, 9:59 pm, "axr0284" <[email protected]> wrote:
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA. I do not
> currently have a specific FPGA in mind. I am just looking for a
> general answer.
>
> I know there are DCMs but this usually adds jitter and one needs to
> wait for the DCM output to phase lock before the signal is stable and
> it might take too long in our case. Basically I would want to power up
> a board and have the delay be set in as short a time as possible. I
> also need to minimise jitter to a minimum so that the two signals are
> NEVER high at the same time. Thanks for any answer.
> Amish


Actually, in theory I think you would be able to introduce delays in
the order of 10ps. However controlling these is totally different
matter. Back in the day, and I have to say for the record that I'm not
that old, we used to introduce delays using the old fashioned RC tau
way. So you might be able to relay certain bank or I/O by adding
carefully calibrated RC network. Having said that, I don't think you
would be able to have tight control over the timing simplying because
what you'r asking more is more that what component imperfections can
offer you. Another thing to keep in mind is the drive introduced by
your measing device.

Reply With Quote
  #5 (permalink)  
Old 03-08-2007, 02:34 AM
Peter Alfke
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Signal propagation velocityon a pc-board is fairly stable and well-
controlled at half the speed of light, i.e. 6 inches or 15 cm per
nanosecond.
You are asking for 1% of that, so figure 60 mil/10 ps or 1.5 mm/10 ps.
Pretty small !
Peter Alfke

On Mar 7, 1:59 pm, "axr0284" <[email protected]> wrote:
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA. I do not
> currently have a specific FPGA in mind. I am just looking for a
> general answer.
>
> I know there are DCMs but this usually adds jitter and one needs to
> wait for the DCM output to phase lock before the signal is stable and
> it might take too long in our case. Basically I would want to power up
> a board and have the delay be set in as short a time as possible. I
> also need to minimise jitter to a minimum so that the two signals are
> NEVER high at the same time. Thanks for any answer.
> Amish



Reply With Quote
  #6 (permalink)  
Old 03-08-2007, 02:36 AM
KJ
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals


"axr0284" <[email protected]> wrote in message
news:[email protected] oups.com...
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA. I do not
> currently have a specific FPGA in mind. I am just looking for a
> general answer.


A transmission line external to the FPGA of the appropriate length would be
about the best approach for something that small.

Kevin Jennings


Reply With Quote
  #7 (permalink)  
Old 03-08-2007, 06:45 AM
Ulrich Bangert
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Austin,

> With 35ps p-p jitter (minimum) in any FPGA...


I am currently designing some circuitry that needs to have jitter as low as
possible, therefore this spec is most interesting for me. Are you talking
about jitter introduced by DCMs or does ANY logic contained in an FPGA
exhibit this jitter even when clocked with a low jitter clock. I have a 0.8
ps RMS jitter clock source available (DS4077). If the logic that I would
like to clock with it would make a 35 ps pp minimum jitter out of it this
would be a sheer catastrophe for me!

Best regards
Ulrich Bangert

"Austin Lesea" <[email protected]> schrieb im Newsbeitrag
news:[email protected]...
> Amish,
>
> The only method I am aware of is hand routing. 10ps is too small to
> really be able to hold to in all cases. With 35ps p-p jitter (minimum)
> in any FPGA, and +/- 10 ps route matching (due to process variations
> chip to chip), this may be impossible.
>
> Austin
>
> axr0284 wrote:
> > Hi,
> > I would like to know what are the common methods of introducing
> > delays as low as 10ps between two outputs in an FPGA. I do not
> > currently have a specific FPGA in mind. I am just looking for a
> > general answer.
> >
> > I know there are DCMs but this usually adds jitter and one needs to
> > wait for the DCM output to phase lock before the signal is stable and
> > it might take too long in our case. Basically I would want to power up
> > a board and have the delay be set in as short a time as possible. I
> > also need to minimise jitter to a minimum so that the two signals are
> > NEVER high at the same time. Thanks for any answer.
> > Amish
> >



Reply With Quote
  #8 (permalink)  
Old 03-08-2007, 11:04 AM
Daniel S.
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Ulrich Bangert wrote:
> Austin,
>
>> With 35ps p-p jitter (minimum) in any FPGA...

>
> I am currently designing some circuitry that needs to have jitter as low as
> possible, therefore this spec is most interesting for me. Are you talking
> about jitter introduced by DCMs or does ANY logic contained in an FPGA
> exhibit this jitter even when clocked with a low jitter clock. I have a 0.8
> ps RMS jitter clock source available (DS4077). If the logic that I would
> like to clock with it would make a 35 ps pp minimum jitter out of it this
> would be a sheer catastrophe for me!


Someone else posted a similar question a few months ago, also asking about the feasibility
of using FPGAs to work with 10ps-class events. Back then, all the local experts agreed
that the routing fabric inside FPGAs will add many times this much jitter to any signal
passing through it, even if the FPGA is only doing a direct routing from one IOB to another.

Dedicated high-precision time bases are heavily shielded, temperature-controlled, built
with highly specialized single-function low-noise ASICs fed with extensively
regulated/filtered power supplies, etc., none of which applies to FPGA in a remotely
comparable scale. On top of all the wonderful external noise sources such as radio
interference, radiations, magnetic and capacitive coupling with the surroundings, etc.,
FPGAs generate their own heat, their own electromagnetic noises and all the other
wonderful junk that spews jitter all over the fabric. Keep in mind that each electron
moving through the FPGA adds its own tiny bit of noise and jitter while each transistor
happily amplifies the noise of every electron bumping into its gate and that there are
millions of transistors in the smallest modern FPGAs.

You might have better luck by looking at the smallest CPLDs you can find: much fewer
transistors, much less on-chip hardware, much simpler routing fabric, etc., this means
much less internal noise and much fewer routing uncertainties but also pretty much no
chance to do routing tricks to tweak timings.

Maybe an hypothetical Virtex 7 would be able to do 10ps... but by the time these
materialize, people will be posting here to ask for sub-ps precision and we'll have to
tell them to wait for the Virtex 11.
Reply With Quote
  #9 (permalink)  
Old 03-08-2007, 01:28 PM
axr0284
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Thanks for all the answers. I guess using an external component might
be more appropriate in this case. We used to use the AD9501 but it's
going obsolete thus the problem. Anyways I'll keep digging for a
solution. Thanks,
Amish


Reply With Quote
  #10 (permalink)  
Old 03-08-2007, 02:07 PM
John_H
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

axr0284 wrote:
> Thanks for all the answers. I guess using an external component might
> be more appropriate in this case. We used to use the AD9501 but it's
> going obsolete thus the problem. Anyways I'll keep digging for a
> solution. Thanks,
> Amish


You can use the FPGA to do all the random logic you need on the signal
but you must then *reclock* the signal external to the FPGA with your
high precision clock. The output from the FPGA will be "sloppy"
compared to your sub-picosecond jitter. A reclocked output will restore
your extrememly low jitter performance.
Reply With Quote
  #11 (permalink)  
Old 03-08-2007, 02:08 PM
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

On Mar 8, 7:28 am, "axr0284" <[email protected]> wrote:
> Thanks for all the answers. I guess using an external component might
> be more appropriate in this case. We used to use the AD9501 but it's
> going obsolete thus the problem. Anyways I'll keep digging for a
> solution. Thanks,
> Amish



For all my 10ps programmable delay line applications, I just use the
On Semiconductor MC10EP195.

http://www.onsemi.com/PowerSolutions...o?id=MC10EP195

Just remember that while ps may be very small, they Hertz just as
much.

Regards,

John McCaskill
www.fastertechnology.com


Reply With Quote
  #12 (permalink)  
Old 03-08-2007, 02:18 PM
Daniel S.
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

axr0284 wrote:
> Thanks for all the answers. I guess using an external component might
> be more appropriate in this case. We used to use the AD9501 but it's
> going obsolete thus the problem. Anyways I'll keep digging for a
> solution. Thanks,
> Amish


I tried searching a bit but did not find anything that comes close... the nearest I have
seen was a Maxim part that had 25ns jitter and was marketed as a "programmable delay line"
instead of "programmable delay generator".

I am almost certain I have seen the AD9501 (or a similar old chip, if there is any) pop up
in one or two threads here over the last year. With some luck, the people involved may
still be around.
Reply With Quote
  #13 (permalink)  
Old 03-08-2007, 04:10 PM
Austin Lesea
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Ulrich,

Just go into any CMOS chip, and then immediately leave that chip.

That is 35 ps right there (a 74AHC04 for example).

If you use LVDS, and have perfect terminations, maybe it becomes 25 ps.

Call it a limitation of the technology of bulk CMOS.

If you do anything else, the number just gets bigger.

If you anything wrong, the number also gets bigger (bad bypassing, bad
SI, etc.)

Austin
Reply With Quote
  #14 (permalink)  
Old 03-08-2007, 07:21 PM
Brian Drummond
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

On 7 Mar 2007 13:59:49 -0800, "axr0284" <[email protected]> wrote:

>Hi,
> I would like to know what are the common methods of introducing
>delays as low as 10ps between two outputs in an FPGA. I do not
>currently have a specific FPGA in mind. I am just looking for a
>general answer.


That sounds like 2mm of PCB trace to me.

- Brian

Reply With Quote
  #15 (permalink)  
Old 03-09-2007, 05:08 AM
Jerry Coffin
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

In article <[email protected] .com>,
[email protected] says...
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA.


Do it on the PC board? Depending on board material, a 10 ps delay
translates to adding about 2 mm to a trace length.

A worked out example of the math: an FR-4 microstrip has a dielectric
constant of about 3.4, giving a transission velocity of:

(3e8 m/s)/sqrt(3.4) = 1.63e8 m/s

Multiplying by 10 ps (1e-11) cancels the seconds, giving 1.63e-3 m, or
1.63 millimeters.

Of course, you need to adjust the dielectric constant for the material
you're using, or you can end up wrong by a fairly substantial margin.

--
Later,
Jerry.

The universe is a figment of its own imagination.
Reply With Quote
  #16 (permalink)  
Old 03-09-2007, 01:54 PM
Paul
Guest
 
Posts: n/a
Default Re: Introducing picosecond delay between two output signals

Your main problem is that the temperature and voltage variations that
you're going to get in the FPGA will by FAR outweight the 10ps you're
looking for. To prove this to yourself, take a simple design and run
it through your place and route tools. Then open up timing analyzer
and look at a path, any path at all. But make sure to select the
option to give you both setup & hold paths. This is best case and
worst cast. Lowest voltage & highest temperature is your setup path
or worst case delay.... highest voltage and lowest temperature is
your best case delay or hold path. I promise you those two numbers
will vary by more than 10ps for almost any route in your part. Even
the virtex 5, which can give you a temp/voltage compensated output
delay (the virex 4 would give you an input dealy, but no output) only
has a delay resolution in the order of 75ps. Anywho... if ya think
about it - 10ps is a 100GHz signal.... there's a reason FPGAs
currently max out in the 500MHz range.... the variations are just too
big over temp and voltage. That's also why FPGA designs are usually
synchronous designs and the level sensitive world is generally left to
ASICs.

That being said... you're going to have a hard time getting a reliable
10ps delay in any manner - even analog sorts of manners - unless
you're in a strictly controlled environment.... but good luck

-Paul


On Mar 7, 4:59 pm, "axr0284" <[email protected]> wrote:
> Hi,
> I would like to know what are the common methods of introducing
> delays as low as 10ps between two outputs in an FPGA. I do not
> currently have a specific FPGA in mind. I am just looking for a
> general answer.
>
> I know there are DCMs but this usually adds jitter and one needs to
> wait for the DCM output to phase lock before the signal is stable and
> it might take too long in our case. Basically I would want to power up
> a board and have the delay be set in as short a time as possible. I
> also need to minimise jitter to a minimum so that the two signals are
> NEVER high at the same time. Thanks for any answer.
> Amish



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
Writing output signals to text file (VHDL)? Vitaliy FPGA 9 12-15-2006 11:34 AM
Input setup time & Output valid delay jajo FPGA 1 11-18-2006 04:43 PM
Creating Variable Delay for output signals in an XCV1000 John D. Davis FPGA 4 08-08-2005 11:36 PM
Serial I/O - Delay Output JT FPGA 3 06-27-2005 03:31 PM
ANN: Introducing MANIK - a 32 bit Soft-Core RISC Processor Sandeep Dutta Verilog 16 12-14-2004 06:23 PM


All times are GMT +1. The time now is 12:05 PM.


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