Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Programable Delay line in Spartan FPGA?

Status
Not open for further replies.

Scheldoniq

Junior Member level 1
Joined
Oct 31, 2012
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,407
Maybe a stupid question.
This is the Spartan 3A FPGA to implement or 6 programable delay line with a step around 1ns and 10-20 steps.
If so, how ?
 

what do you mean delay line? like a shift register? what is the context?
 

I have 1pps time stamp from GPS and information which contains an error.
Delay line should match 1PPS delay so as to compensate for the error
 

I presume, that a synchronous delay, e.g. a shift register as suggested by TrickyDicky doesn't work for the intended timing resolution.

So logic cell delay is the only feasible option. You can expect about 0.2 to 0.3 ns per logic cell plus a basic IO delay. Unfortunately logic cell delay is inaccurate by PVT (process, voltage, temperature) variations. A possible solution is to calibrate logic cell delay dynamically by comparing it with a known clock period, the method is partly used for FPGA internal delay generation. Another problem is delay variation caused by FPGA routing and granularity of logic blocks.

Profound knowledge of FPGA hardware structures and low-level synthesis constraints is necessary to control these things.
 

Is this delay line going to be a static delay, to compensate for antenna delay? Or is it going to be dynamic, to compensate for the quantization error in the 1PPS?
If it is the latter, and you want to compensate for quantization error, I have to ask what the end goal is. If you want to put it in the loop of a PLL then there may be better ways. For example take the quantization error (available over serial link?) and use the value to steer a DAC output which then gets added into the loop filter.

And as FvM mentioned, if you want to really do the delay in fpga, better count on some serious reading. If you want to compensate for quantization error in a gpsdo like setting, a dac output injected into loop filter will be easier I suspect.
 

I would like to dynamically compensate for the quantization error in the 1PPS.
Yes I have available information from the GPS
 

What's the output of this corrected 1PPS connected to? Presumably you want more than just a pretty blinky led that goes blink every second. The reason I ask ... well, see previous post. If you use the 1pps for a gpsdo or something similar there may be easier approaches. If it's something else, then what is the nature of this something else.

Additionally, what kind of delay range and resolution are you looking for?
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top