On Mar 29, 11:47=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
> On Mar 29, 8:31=A0pm, KJ <kkjenni...@sbcglobal.net> wrote:
>
> Kevin, you're turning my stomach in knots here. =A0You're regurgitating
> transmission line theory quoting "edge rates" without apparent
> consideration for the extremely minute distances involved. =A0At 250-750
> mil, you will NOT see a classic step, reflect, step kind of response.
>
I have considered the distances...and every post said that the
termination is probably not needed, but is cheap insurance if it turns
out to be needed for some unforeseen reason down the road.
> And when's the last time you really fixed a signal by capacitively
> loading it? =A0
Never...nor did I suggest it here.
> Your suggestion that lightening the driver's load with a
> series resistor (hence, reducing initial overshoot that I've seen on
> the scope in many families) exacerbates the problem is downright
> ludicrous.
>
Not my suggestion at all. What I said was that you series terminate
when the load is at the end of a line; parallel terminate if you have
multiple loads along the line. Radarman said he was going to
implement someone's suggestion to route the clock to the SRAM and then
feed it back to the FPGA...sounds like two loads to me, SRAM in the
middle, FPGA at the end.
> Please stop parroting <snip>
I don't parrot...I gave sound advice that you seem to have trouble
understanding. I run the sims, make the measurements, add insurance
where necessary, been doing this successfully for a long time too.
Time to end this thread
Kevin Jennings
Reply by Nial Stewart●March 30, 20102010-03-30
As others have said you at least need to have series termination on your
clock, unless you're bringing it back to the FPGA then parallel terminate it
at the end.
CycloneIII s have on chip termination which you could try using for this, but
this only has two settings, 25R and 50R so if you need to tweak values you're
stuffed (although you can add an external resistor to set the termination
value).
I'd play safe and add an external resistor.
Nial.
Reply by John_H●March 30, 20102010-03-30
On Mar 29, 8:31=A0pm, KJ <kkjenni...@sbcglobal.net> wrote:
> On Mar 28, 5:27=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
>
> > On Mar 28, 1:22=A0pm, KJ <kkjenni...@sbcglobal.net> wrote:
> > > If you're going to feed the clock back, then you'll want to parallel
> > > terminate to ground rather than series terminate at the source.
>
> > I figured the external lines are small enough that the transmission
> > line characteristics are no longer as important as the lumped model.
>
> Depends on the edge rates...but likely true that no termination might
> be needed. =A0The point is to add one resistor as insurance against a
> nasty surprise on an unexpectedly high edge rate.
>
> > Having a series resistor could help the transmitter avoid too much of
> > a surge.
>
> If you're talking abou the 'surge' from when the I/O switches, then
> series termination causes the large surge, parallel termination has
> much smaller AC current changes.
>
> > =A0The termination at the final destination is the classical
> > version, however. =A0Having room for both can help, perhaps more than
> > hinder.
>
> Ummm...nothing 'classical' about it. =A0If you have a multi-drop net and
> you need clean edges at each load, you don't use series termination,
> you use parallel.
>
> If you have a driver that can't provide a clean incident wave
> switching edge into the PCB then you need to rethink having a multi-
> drop net, go back to having one load and then series terminate...in
> the radarman's case, that would mean not feeding back the SRAM clock
> back to the FPGA.
>
> Kevin Jennings
Kevin, you're turning my stomach in knots here. You're regurgitating
transmission line theory quoting "edge rates" without apparent
consideration for the extremely minute distances involved. At 250-750
mil, you will NOT see a classic step, reflect, step kind of response.
And when's the last time you really fixed a signal by capacitively
loading it? Your suggestion that lightening the driver's load with a
series resistor (hence, reducing initial overshoot that I've seen on
the scope in many families) exacerbates the problem is downright
ludicrous.
Please stop parroting what you heard in transmission line theory; it's
good stuff but it doesn't apply for these flight times with the SSTL
drivers involved. Take some time and check out the signal fidelity on
boards with various terminations with a high end scope or run some
IBIS simulations to see what really happens when traces become lumped
elements rather than transmission lines.
Reply by KJ●March 29, 20102010-03-29
On Mar 28, 5:27=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
> On Mar 28, 1:22=A0pm, KJ <kkjenni...@sbcglobal.net> wrote:
> > If you're going to feed the clock back, then you'll want to parallel
> > terminate to ground rather than series terminate at the source.
>
> I figured the external lines are small enough that the transmission
> line characteristics are no longer as important as the lumped model.
Depends on the edge rates...but likely true that no termination might
be needed. The point is to add one resistor as insurance against a
nasty surprise on an unexpectedly high edge rate.
> Having a series resistor could help the transmitter avoid too much of
> a surge.
If you're talking abou the 'surge' from when the I/O switches, then
series termination causes the large surge, parallel termination has
much smaller AC current changes.
> =A0The termination at the final destination is the classical
> version, however. =A0Having room for both can help, perhaps more than
> hinder.
Ummm...nothing 'classical' about it. If you have a multi-drop net and
you need clean edges at each load, you don't use series termination,
you use parallel.
If you have a driver that can't provide a clean incident wave
switching edge into the PCB then you need to rethink having a multi-
drop net, go back to having one load and then series terminate...in
the radarman's case, that would mean not feeding back the SRAM clock
back to the FPGA.
Kevin Jennings
Reply by Symon●March 29, 20102010-03-29
On 3/29/2010 5:09 PM, radarman wrote:
>
> Apparently I was wrong, there is a small, but significant, difference
> between pins even on the same physical side of the chip. I also failed
> to notice that Vref pins used as I/O affect timing.
>
Well, kinda. I would say that there is a small and (almost always)
negligible difference between the pins' flight time. The fact that only
Xilinx Ed pointed out where to find the flight times indicates that very
few posters on CAF have ever worried about them. Similarly, small
differences on the PCB are also insignificant, and trying to eliminate
them is an unnecessary task. FWIW, with QFPs you will never have to
worry about these data, as the packages are rubbish for high-speed signals.
> However, the whole point of this exercise was to learn, and I'm doing
> plenty of that. Perhaps it's time to throw together a spreadsheet with
> all the timing figure in it, and do a proper budget.
Right, you'll get no disagreement from me on that one. From that, you
will be able to judge how much length matching effort you need to do on
your PCB.
Cheers, Syms.
Reply by radarman●March 29, 20102010-03-29
On Mar 29, 10:38=A0am, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
> On Mar 28, 2:42=A0pm, Symon <symon_bre...@hotmail.com> wrote:
>
>
>
> > On 3/28/2010 10:28 PM, John_H wrote:
>
> > > On Mar 28, 3:38 pm, Symon<symon_bre...@hotmail.com> =A0wrote:
> > >> On 3/26/2010 9:13 PM, radarman wrote:
>
> > >>> I've only done one other "high speed" design, with a Gig-E PHY, but=
I
> > >>> was able to get all of the signals to within +/- 5 mils on that boa=
rd.
>
> > >> When you did this, you took into account the different flight times =
in
> > >> the packages themselves, I hope! For sure the leadframes don't have
> > >> matched lengths on the signals from the die to the PCB pad.
>
> > >> In summary, what the other guys said, 6 inches a ns!
>
> > >> Cheers, Syms.
>
> > > The flight times in the package shouldn't hit the timing budget at
> > > all. =A0The timing for both the SRAM and FPGA will be worst case for =
any
> > > pin. =A0And what's a few 10s of picoseconds?
>
> > Well, I agree, but did you read his post? He's making trace lengths
> > match to within 5 mils! That's what I'm trying to suggest may be a wast=
e
> > of effort.
>
> > Cheers, Syms.
>
> > p.s. FWIW, you can get the flight times of BGA packages from Xilinx, if
> > you ask nicely.- Hide quoted text -
>
> > - Show quoted text -
>
> You don't need to ask Xilinx for this information for the flipchip
> packages because it is available from the ISE partgen tool.
>
> Example: partgen -v xc6slx240tff1156
>
> This command will generate a PKG file that includes the tracelength in
> um (microns). Where 1000 microns =3D 1.0 mm. =A0Multiplying the trace
> length by 6.0-7.1ps/mm will give the flight time within the package.
>
> Ed McGettigan
> --
> Xilinx Inc.
Altera has a page with the relevant data as well:
http://www.altera.com/technology/signal/board-design-guidelines/sgl-bdg-ind=
ex.html
Apparently I was wrong, there is a small, but significant, difference
between pins even on the same physical side of the chip. I also failed
to notice that Vref pins used as I/O affect timing.
However, the whole point of this exercise was to learn, and I'm doing
plenty of that. Perhaps it's time to throw together a spreadsheet with
all the timing figure in it, and do a proper budget.
Reply by Ed McGettigan●March 29, 20102010-03-29
On Mar 28, 2:42=A0pm, Symon <symon_bre...@hotmail.com> wrote:
> On 3/28/2010 10:28 PM, John_H wrote:
>
>
>
>
>
> > On Mar 28, 3:38 pm, Symon<symon_bre...@hotmail.com> =A0wrote:
> >> On 3/26/2010 9:13 PM, radarman wrote:
>
> >>> I've only done one other "high speed" design, with a Gig-E PHY, but I
> >>> was able to get all of the signals to within +/- 5 mils on that board=
.
>
> >> When you did this, you took into account the different flight times in
> >> the packages themselves, I hope! For sure the leadframes don't have
> >> matched lengths on the signals from the die to the PCB pad.
>
> >> In summary, what the other guys said, 6 inches a ns!
>
> >> Cheers, Syms.
>
> > The flight times in the package shouldn't hit the timing budget at
> > all. =A0The timing for both the SRAM and FPGA will be worst case for an=
y
> > pin. =A0And what's a few 10s of picoseconds?
>
> Well, I agree, but did you read his post? He's making trace lengths
> match to within 5 mils! That's what I'm trying to suggest may be a waste
> of effort.
>
> Cheers, Syms.
>
> p.s. FWIW, you can get the flight times of BGA packages from Xilinx, if
> you ask nicely.- Hide quoted text -
>
> - Show quoted text -
You don't need to ask Xilinx for this information for the flipchip
packages because it is available from the ISE partgen tool.
Example: partgen -v xc6slx240tff1156
This command will generate a PKG file that includes the tracelength in
um (microns). Where 1000 microns =3D 1.0 mm. Multiplying the trace
length by 6.0-7.1ps/mm will give the flight time within the package.
Ed McGettigan
--
Xilinx Inc.
Reply by Symon●March 29, 20102010-03-29
On 3/29/2010 3:56 PM, radarman wrote:
> On Mar 28, 2:38 pm, Symon<symon_bre...@hotmail.com> wrote:
>> On 3/26/2010 9:13 PM, radarman wrote:
>>
>>
>>
>>> I've only done one other "high speed" design, with a Gig-E PHY, but I
>>> was able to get all of the signals to within +/- 5 mils on that board.
>>
>> When you did this, you took into account the different flight times in
>> the packages themselves, I hope! For sure the leadframes don't have
>> matched lengths on the signals from the die to the PCB pad.
>>
>
> No, because I wasn't aware that the internal wire bond lengths would
> be that dramatically different in a QFP. Those are big packages, and I
> had assumed that all of the wire bond points on the die would be
> around the periphery of the die. I've seen x-ray images of QFP's in
> the past, and the bond wires looked pretty much like you would expect
> - end launched from the die to an internal ring.
>
On Mar 28, 2:38=A0pm, Symon <symon_bre...@hotmail.com> wrote:
> On 3/26/2010 9:13 PM, radarman wrote:
>
>
>
> > I've only done one other "high speed" design, with a Gig-E PHY, but I
> > was able to get all of the signals to within +/- 5 mils on that board.
>
> When you did this, you took into account the different flight times in
> the packages themselves, I hope! For sure the leadframes don't have
> matched lengths on the signals from the die to the PCB pad.
>
> In summary, what the other guys said, 6 inches a ns!
>
> Cheers, Syms.
No, because I wasn't aware that the internal wire bond lengths would
be that dramatically different in a QFP. Those are big packages, and I
had assumed that all of the wire bond points on the die would be
around the periphery of the die. I've seen x-ray images of QFP's in
the past, and the bond wires looked pretty much like you would expect
- end launched from the die to an internal ring.
Thus, I figured that it would be sufficient to make sure all the
critical signals in a bundle were in the same bank, and on the same
physical side. For that design, I used an EP3C16E144C7, and the GMII
port fit nicely along one side in banks 7 and 8. If the pin pitch had
been the same on both parts, it would have looked like a straight bus
between the two chips.
Reply by Symon●March 29, 20102010-03-29
On 3/29/2010 5:03 AM, John_H wrote:
>
> TIMING BUDGET !!!!
>
> I had an engineer at my previous place of employ who quite literally
> "broke" a layout person with the outrageous constraints for the DDR2,
> mostly waaaay too tight and sometimes conflicting.
>
> Do the budget, know the needs, plan the clock, open your windows.