Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 145325

Article: 145325
Subject: Re: DONE_cycle:6 setting neccessary in bitgen
From: Gabor <gabor@alacron.com>
Date: Fri, 5 Feb 2010 12:40:25 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 1:53=A0pm, John_H <newsgr...@johnhandwork.com> wrote:
> On Feb 5, 3:59=A0am, Sean Durkin <news_MO...@tuxroot.de> wrote:
>
>
>
> > This just had me stuck for 2 days, measuring ripple on my supply,
> > checking my clocks, checking the layout and so on. I probably would've
> > sent the board out for x-rays to check for soldering issues next, hadn'=
t
> > I by chance run across a colleague in the corridor who had the same
> > problem 5 years ago.
>
> So did you solve your problem then? =A0The title suggests the problem
> was found.
>
> A system which stops generating a clock once the done pin goes high
> still needs a couple more clocks with the default Done=3D4 time
> position. =A0Changing to Done=3D6 got rid of the head scratching many,
> many years ago.

Just remember that there was a reason for the default setting,
namely to allow an orderly startup of multiple devices.  If
you're only starting up one device on this configuration chain
there's no need to delay startup until after DONE goes high.

Article: 145326
Subject: Re: Board layout for FPGA
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Fri, 5 Feb 2010 21:38:05 +0000 (UTC)
Links: << >>  << T >>  << A >>
(comp.dsp added, as there are people there who consider these problems.)

rickman <gnuarm@gmail.com> wrote:
> On Feb 5, 6:42 am, Symon <symon_bre...@hotmail.com> wrote:
(snip)

>> In my designs, and perhaps yours too, the power plane, such as it is, is
>> useless as a reference plane for the simple reason that it's chopped up
>> into many different pours for all the different voltages. I don't think
>> you are suggesting a separate layer for each separate voltage? So, there
>> will be slots in the plane, and every time a fast signal passes across
>> this slot, you'll get the thing radiating as a good slot antenna does!
>> You could add a bunch of bypass caps to bridge between the planes, but
>> there's rarely space for this with a dense BGA design. For sure, if your
>> planes are close together in the middle of your stack, this problem is
>> small, but then you need wider surface traces to get the impedance you
>> require.

It is not at all easy to figure out the impedance of ground 
(or power) planes.  There have been long discussions, either here
or in other groups, about signals crossing slots between planes.
I believe that it isn't as simple as you say, but one should still
be careful about it.

>> So, I recommend multiple ground planes close to all your signals. A
>> thick core in the centre of the board to make up the correct thickness.
>> Then you can simply forget about any slot issues. Like you say, this
>> lets you keep the traces thin and with a lower characteristic impedance,
>> which is normally what you want when routing BGA FPGAs. The two ground
>> planes should be well bonded with vias, so there isn't a problem when a
>> signal goes through a via and passes from being referred to one ground
>> plane to the other.
 
> Below, you talk about the connecting of the power and ground plane by
> spacing to be of little value and yet propose that vias are adequate
> to couple multiple ground planes.  I find that interesting.  For a
> signal passing between layers the return current would have a long
> path to reach a via and back.

I believe, for the most part, it doesn't do that.  The capacitance
of even a single plane is high enough at the higher frequencies
that for the most part the return current doesn't have to take
the long way around.  
 
>> I reject the notion of placing a power plane and a ground plane close
>> together in the middle of the board to get the benefit of the
>> inter-plane capacitance for bypassing reasons. Don't get me wrong, it
>> won't hurt, but IMO the amount of capacitance gained is tiny, and even
>> though it is a very high Q capacitor, getting the power to the die is
>> stymied by the inductance of the vias and BGA balls that are part of the
>> PDS. 

I think I agree with this.  The way to actually see this is to
calculate the radial propagation of the signal into the plane 
from the via.  The impedance (both inductance and capacitance)
will change with radial distance and frequency.  

>> If your power plane is in the middle of the board, the signal path
>> of these vias are longer. You don't care about the supply stiffness on
>> your plane, it's on the die that counts. 

Well, I think it is both.  For a single supply via, yes.  But if you
add them all up, then the ground plane has to supply (or sink) the
total of all the vias, and some of that comes from the interplane
capacitance.  The via inductance will be most important at the
highest frequencies.  The ground plane at slightly lower, but 
still significant frequencies.  At some point there is a tradeoff
between the two, and you have to figure out what that means in terms
of plane positioning.

>> If you graunch off the metal
>> cover of an FPGA you'll see that the manufacturer has already had to add
>> bypass caps on the BGA substrate for this very reason. Furthermore, if
>> you have a PCB ground plane close to the surface and hence close to the
>> FPGA, the cavity between the PCB ground plane and the ground plane in
>> the FPGA is smaller, reducing the inductance of the vias and BGA balls
>> and so reducing stuff like ground bounce.
>> So, IMO, the disadvantages of having the planes further from your
>> signals and components more than outweigh the tiny gain in bypass
>> capacitance you gain.
 
> I'm a bit unclear on what you are saying.  You are suggesting that the
> impedance of the vias is enough that you should put the planes as
> close as possible to the component surface, but then you recommend
> putting the decoupling caps on the back side much further away from
> the component with longer vias.

To see this, you have to think of it in frequency (Fourier) space.
The switching currents have frequency components over a wide 
range, with a peak somewhere near 1/(transition time) but 
significant over a range of lower frequencies.  The highest ones
are supplied by the internal capacitors.  The next lower ones
by the ground plane itself, near the via.  Lower still by the
ground plane farther away, where interplane capacitance is important. 
Then there are the onboard bypass capacitors, the power supply
bypass capacitors, the power supply filter capacitors, etc.
 
>> I say better is to put your bypass caps as close as possible to the
>> FPGA, and maybe use puddles of copper close to the ground planes to
>> maximise the via and capacitor utilization. Here's an article showing
>> what I mean. Fig. 2.

>> http://www.x2y.com/bypass/mount/backside_cap.pdf

>> Whatever, YMMV, and I'm sure your designs work just fine. It's hard to
>> cock it up, but I contend that the dual ground plane design I suggest
>> above is nigh on impossible to go wrong with from an SI point of view,
>> even if you have absolutely no clue what you're doing. That's why I use it!
 
> Yes, one common element is that most designs apply overkill in the
> supply decoupling area.  When an engineer uses a method and it works,
> it is like the elephant protection charm... you don't see any
> elephants do you, so it must be working!
 
> I would likely not use the offset coupled planes you describe mainly
> because it only works well for boards with active components on only
> one side.
 
> In Lee Ritchey's class I asked about adding caps to the package to
> overcome lead inductance causing ground bounce.  He showed me that the
> bounce is caused by the switching currents of driving an external
> signal travel in a loop and independent of any capacitance on the
> package, still have to travel through the leads of the part (even if
> they are only bonding leads).  In fact, there is *nothing* you can do
> about the series inductance of pins in a package other than fix the
> package.  That is why I seriously doubt that the small added
> inductance of 30 mil of a via is significant in any but the highest
> speed designs.  But as you say, YMMV.

Yes.  The problem comes with switching a large number of lines
at very close to the same time.  Since they won't be at exactly
the same time (propagation delay to the pads) the highest frequency
components aren't as important as you might think.  The peak
frequency of the ground current, then, will depend on how close
the transitions are to each other more than the transition rate.

Now, consider writing zero to a 64 bit data bus.  All drivers
going low on the same clock cycle!

-- glen

Article: 145327
Subject: Re: Board layout for FPGA
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Fri, 5 Feb 2010 21:42:26 +0000 (UTC)
Links: << >>  << T >>  << A >>
Mike Harrison <mike@whitewing.co.uk> wrote:

(snip)

> up to date, James Larson created "Motherboard Operation" - players 
> take it in turns to snip components from a working, running PC 
> motherboard until it stops working...  

> This was accompanied by "PC PSU Buckaroo" - players choose and add 
> more and more loads to an old PC power supply until it fails.... 

I haven't tried it recently, but it used to be that PC power
supplies would fail at zero load.  I did it once (I don't remember
why) and smoked one.  (Yes, real smoke.)  

The original PC/AT had an optional hard disk drive.  If you didn't
buy one there was a load resistor on the power supply to meet the
minimum load requirement.  You would think that the AT motherboard
would take enough current, but it seems not.

-- glen 

Article: 145328
Subject: Re: Board layout for FPGA
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Fri, 5 Feb 2010 21:53:39 +0000 (UTC)
Links: << >>  << T >>  << A >>
rickman <gnuarm@gmail.com> wrote:
> On Feb 5, 8:45 am, Symon <symon_bre...@hotmail.com> wrote:
(really big snip)

>> with a thick centre core and routed powers. This way the internal signal
>> layers are shielded. I tend to agree. The ssggss stack I suggested
>> because I almost always use laser drilled micro-vias on my boards, so I
>> need two signal layers on the outside. Also, my enclosures do the EMC
>> shielding. With standard vias, sgssgs is probably better.

(snip) 
 
> As to the return current having to "jump" between layers being a
> problem, if you use the ssgpss stackup and have the power and ground
> very close rather than widely spaced, the capacitive coupling allows
> the signal to switch between them without issue.  In fact, when
> splitting a plane for multiple power sections, the return current will
> switch from one power plane, to the ground plane and back to the next
> power plane as if they were all one plane.  This is because of the
> capacitive coupling between layers.  Of course this only works for the
> highest frequency components of the signals, but that's all we really
> care about, no?
 
> -------+  +-------> Return Current
> =======|  |======== Power Planes
>       |  |
>       +--+
> =================== Ground Plane

Yes.  Actually, I believe that for the really highest frequency
components, that they are supplied by the plane itself.  (Especially
as signals won't be switching at exactly the same time.)

The slightly lower ones, but only slightly, will take the path
you mention.  Frequencies with wavelength shorter than the long
path around won't be able to take that path.  The lower frequencies
are still there, though, but at low enough levels that ordinary
bypass capacitors and interplane capacitance will take care of them.

-- glen 

Article: 145329
Subject: Re: using an FPGA to emulate a vintage computer
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Fri, 5 Feb 2010 21:57:28 +0000 (UTC)
Links: << >>  << T >>  << A >>
In comp.arch.fpga Eric Chomko <pne.chomko@comcast.net> wrote:
> Has anyone created a copy machine of an old system using an FPGA? I
> was wondering if it would be possible to take an entire SWTPC 6800 and
> compile the schematics and have it run on an FPGA board.? Wouldn't
> even have to be the latest Xylinx product, I suspect.

I haven't done it yet, but I am interested.  I have a Digilent
Spartan3E board for that purpose.  I think it is big enough for
the whole system for many of those machines.

-- glen

Article: 145330
Subject: Re: DONE_cycle:6 setting neccessary in bitgen
From: Sean Durkin <news_MONTH@tuxroot.de>
Date: Fri, 05 Feb 2010 23:24:05 +0100
Links: << >>  << T >>  << A >>
John_H wrote:
> So did you solve your problem then?  The title suggests the problem
> was found.
Yes, it just took me awhile to get there.

> A system which stops generating a clock once the done pin goes high
> still needs a couple more clocks with the default Done=4 time
> position. 
As I said, I've never seen this before when using iMPACT. I'd expect it
would know how many clock cycles are needed.

When uploading the bitstream with a microcontroller or something, I
always keep clocking for awhile after the bitfile is transferred, but
with iMPACT (which I use in the lab for quick first tests before the
rest of the infrastructure is up and running) this has never been
necessary. Nor have I ever had to fiddle with the startup sequence before.

> Changing to Done=6 got rid of the head scratching many,
> many years ago.
Well, I've never needed that setting until now. I guess I've done about
ten boards myself and used a dozen others, and never changed that setting.

The question is: why does this happen on this particular board and not
on any others I've ever encountered? Just trying to understand where
this comes from.

cu,
Sean

-- 
Replace "MONTH" with the three-letter abbreviation of the current month
and the two-digit code for the current year (simple, eh?).

Article: 145331
Subject: Re: DONE_cycle:6 setting neccessary in bitgen
From: Sean Durkin <news_MONTH@tuxroot.de>
Date: Fri, 05 Feb 2010 23:43:37 +0100
Links: << >>  << T >>  << A >>
Gabor wrote:
> I have seen this exact problem with embedded programming.  The
> processor
> would stop CCLK (slave serial in this case, but the same idea) as soon
> as it saw DONE, but it would only check for DONE starting after the
> last bit of the configuration bitstream.  The problem only showed up
> for some iterations of the design, because apparently the bitstream
> doesn't always end on a byte boundary and the number of extra bits
> might or might not be enough to clock the FPGA into the end of the
> startup sequence.
I've had this happen when using .bit-files, since they include stuff
like date and project name, which I usually auto-generate in a script
wenn running the flow, hence the size varies. But these days I usually
only program bin-files, since then that problem went away at least.

But anyway, shouldn't iMPACT be smart enough to know how many clock
cycles are needed? And why doesn't it complete the rest of the startup
sequence only on this one particular board?

Maybe it's just a bug in IMPACT... :)

cu,
Sean

-- 
Replace "MONTH" with the three-letter abbreviation of the current month
and the two-digit code for the current year (simple, eh?).

Article: 145332
Subject: Re: Constraining minimum hold times (Xilinx)
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Fri, 5 Feb 2010 23:55:48 +0000 (UTC)
Links: << >>  << T >>  << A >>
rickman <gnuarm@gmail.com> wrote:
...
> I guess I was hoping for a little more detail than just "it's from the
> data sheet".  Like I said, to get a clock to output timing requires
> you to add several numbers depending on the IO types you are using.
> Exactly what part are you using and what IO types and configuation?
> The post layout timing will only be as accurate as the information it
> is provided with.  I'm not trying to be a pain, but I noticed that
> this number exactly matches the base number for clock to output
> timing, XC3S200A, DCM not in use -4 speed grade.  This value is only
> valid if you are using LVCMOS25 on both the clock port and the output
> with 12 mA drive.  Of course, it is possible that this same value came
> from some other combination of chip and configuration.

LVCMOS25 is default, if nothing else is constrained. And the timing report 
for the LVCMOS/fast/8 mA case said something like
  COMP "adbus<0>" OFFSET = OUT 11 ns BEFORE | MAXDELAY    |     0.064ns|
    11.064ns|       0|           0

-- 
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Article: 145333
Subject: Re: using an FPGA to emulate a vintage computer
From: Mike Treseler <mtreseler@gmail.com>
Date: Fri, 05 Feb 2010 16:33:24 -0800
Links: << >>  << T >>  << A >>
Eric Chomko wrote:
> Has anyone created a copy machine of an old system using an FPGA? I
> was wondering if it would be possible to take an entire SWTPC 6800 and
> compile the schematics and have it run on an FPGA board.? Wouldn't
> even have to be the latest Xylinx product, I suspect.

No fpga, but same idea:
http://www.grc.com/pdp-8/pdp-8.htm


       -- Mike Treseler

Article: 145334
Subject: Re: using an FPGA to emulate a vintage computer
From: "Chris Burrows" <cfbsoftware@hotmail.com>
Date: Sat, 6 Feb 2010 11:17:50 +1030
Links: << >>  << T >>  << A >>
"Eric Chomko" <pne.chomko@comcast.net> wrote in message 
news:badc12c3-cb2b-4ce9-9543-237d60fc22d5@o8g2000vbm.googlegroups.com...
> Has anyone created a copy machine of an old system using an FPGA?

There have recently been some discussions along these lines in the 
comp.lang.modula2 newsgroup regarding different ways of re-implementing a 
Lilith.

Also MiniMig is an Amiga 500 re-implemented using an FPGA.

http://en.wikipedia.org/wiki/Minimig

--
Chris Burrows
CFB Software
http://www.cfbsoftware.com/modula2



Article: 145335
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Patrick Maupin <pmaupin@gmail.com>
Date: Fri, 5 Feb 2010 16:55:23 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 12:49=A0pm, Gabor <ga...@alacron.com> wrote:
> On Feb 5, 1:13=A0pm, austin <aus...@xilinx.com> wrote:
>
>
>
> > Pat,
>
> > We have encrypted hspice models as shown, mostly only for Virtex
> > family parts, for "heavy lifting" customers who require them.
>
> > Since the devices models belong to Toshiba, IBM, UMC (etc.), these
> > must be protected (they do not belong to us), so the hspice encrypted
> > models are what we support. =A0Period.
>
> > IBIS models exist for all families, and parts. =A0These are per the IBI=
S
> > standard, so any tool that works with the IBIS standard should support
> > these models. =A0If it doesn't then we need to know (file a webcase so
> > we can see why it didn't work).
>
> > The latest IBIS extension is for the high speed serial IO on newer
> > parts, also supported per the standard.
>
> > xSpice (n, p, x, etc. take your pick) are not supported. =A0Period.
>
> > Austin
>
> A quick Google of "convert IBIS models to spice" brings up quite
> a few conversion tools. =A0Perhaps you could try to run the Spartan
> 3A IBIS model through a converter?

On my computer, googling "convert IBIS models to spice" brought up a
lot of pointers to a SINGLE tool from 1998, and a lot of tools which
go from spice to IBIS.  But, you might be more adept at googling than
me, so if you find more than the tool at intusoft, please share.

Thanks,
Pat

Article: 145336
Subject: Re: using an FPGA to emulate a vintage computer
From: Alex Freed <alex_news@mirrow.com>
Date: Fri, 05 Feb 2010 16:57:03 -0800
Links: << >>  << T >>  << A >>
Eric Chomko wrote:
> Has anyone created a copy machine of an old system using an FPGA? I
> was wondering if it would be possible to take an entire SWTPC 6800 and
> compile the schematics and have it run on an FPGA board.? Wouldn't
> even have to be the latest Xylinx product, I suspect.

I did. Some 8 years ago.

http://alexfreed.com/FPGApple/

And then a few other vintage computers.

-Alex.

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---

Article: 145337
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Patrick Maupin <pmaupin@gmail.com>
Date: Fri, 5 Feb 2010 17:03:51 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 12:13=A0pm, austin <aus...@xilinx.com> wrote:

> xSpice (n, p, x, etc. take your pick) are not supported. =A0Period.

Thanks for the clarification.  A simple perusal of the web page when I
was tired didn't make that fact clear.

And I understand that you can't share third-party IP.  But, it seems
like you're in a perfect position to build a simplified model, check
it against the third party IP models, and distribute it with no
warranties and the caveat that it is simplified, and matches
reasonably well, but not perfectly.

I don't know if you tally these things or not, but if you do, please
put me down in the category of "would like to see pin spice models
available."

Thanks,
Pat

Article: 145338
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Patrick Maupin <pmaupin@gmail.com>
Date: Fri, 5 Feb 2010 17:13:00 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 7:03=A0pm, Patrick Maupin <pmau...@gmail.com> wrote:

> And I understand that you can't share third-party IP. =A0But, it seems
> like you're in a perfect position to build a simplified model, check
> it against the third party IP models, and distribute it with no
> warranties and the caveat that it is simplified, and matches
> reasonably well, but not perfectly.

To add to this, intusoft apparently has a more up-to-date ibis->spice
converter for paying customers (and other EDA vendors may as well).
If the fabs don't object to Xilinx shipping the data in an IBIS file,
they certainly shouldn't be able to object to you converting that data
back to a spice model using such a third-party tool.

Again, Xilinx is in the best position to do this, because (1) then the
conversion is only done one place and hopefully only has to be paid
for once; and (2) somebody who can legally use the original spice
model can eyeball the results of a few sims to make sure the converter
didn't go completely wacky.

I may not represent most of your customers, in that I'm completely
paranoid about how things work, but the more I think about it, the
more I think that, personally, even if I wanted to use your IBIS
models, I can't trust them, because it sounds like you haven't round-
tripped them back to spice and checked that they match the original
models reasonably well.

Best regards,
Pat

Article: 145339
Subject: Re: Board layout for FPGA
From: Symon <symon_brewer@hotmail.com>
Date: Sat, 06 Feb 2010 01:42:19 +0000
Links: << >>  << T >>  << A >>
On 2/5/2010 9:53 PM, glen herrmannsfeldt wrote:
>
> Yes.  Actually, I believe that for the really highest frequency
> components, that they are supplied by the plane itself.  (Especially
> as signals won't be switching at exactly the same time.)
>
Hi Glen,
If these highest frequencies are supplied by the planes, why do Xilinx 
and Altera put capacitors on the BGA substrate? That must cost money. 
Are they wrong?
Thanks, Symon.



Article: 145340
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Symon <symon_brewer@hotmail.com>
Date: Sat, 06 Feb 2010 02:05:59 +0000
Links: << >>  << T >>  << A >>
On 2/5/2010 2:44 AM, Patrick Maupin wrote:

> Xilinx Spartan 3A pin
>

>
> Any thoughts?
>
> Thanks,
> Pat

Pat, the pins are a 10pf capacitor.

HTH, Syms.

p.s. More or less!


Article: 145341
Subject: Re: Board layout for FPGA
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Sat, 6 Feb 2010 02:24:20 +0000 (UTC)
Links: << >>  << T >>  << A >>
Symon <symon_brewer@hotmail.com> wrote:
> On 2/5/2010 9:53 PM, glen herrmannsfeldt wrote:

>> Yes.  Actually, I believe that for the really highest frequency
>> components, that they are supplied by the plane itself.  (Especially
>> as signals won't be switching at exactly the same time.)

> If these highest frequencies are supplied by the planes, why do Xilinx 
> and Altera put capacitors on the BGA substrate? That must cost money. 
> Are they wrong?

OK, not quite the highest frequencies, but almost.

The highest that get through the inductance of the package and
past the internal capacitors.

I think it isn't so hard to calculate the impedance of an 
infinite plane with a hole (via) as a function of frequency.
That should partly answer the question.

-- glen

Article: 145342
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Patrick Maupin <pmaupin@gmail.com>
Date: Fri, 5 Feb 2010 18:26:53 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 8:05=A0pm, Symon <symon_bre...@hotmail.com> wrote:
> On 2/5/2010 2:44 AM, Patrick Maupin wrote:
>
> > Xilinx Spartan 3A pin
>
> > Any thoughts?
>
> > Thanks,
> > Pat
>
> Pat, the pins are a 10pf capacitor.
>
> HTH, Syms.
>
> p.s. More or less!

Thanks, Symon, that is indeed very useful.

My current needs are in regard to the differential receiver (probably
in LVDS mode).  I have a (slow, around 1 MHz) Manchester-encoded
differential signal that might be at a really low level (or a really
high level!), and that requires level shifting as well.  I want to
bring it in to the LVDS pins, probably through a small external
preamplifier with some AC coupling.  Naturally, I want to simplify the
preamp as much as possible, so it would be great to be able to
simulate it in conjunction with the receiver.

Obviously, simulating the receiver as a couple of caps to ground and
looking at the voltages at the pins to make sure they are within LVDS
spec is a good start, but it would be really excellent to be able to
see the recovered signal out the back of the receiver in the
simulation.

Basically, I'm just trying to save an external comparator.  Slow
comparators are available in smallish quantities for under 30 cents,
but the prices for faster ones just seem unreasonable, and since I'm
doing all the clock and data recovery digitally, I prefer to have a
fair degree of accuracy on the location of the signal edges.

Thanks,
Pat

Article: 145343
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Patrick Maupin <pmaupin@gmail.com>
Date: Fri, 5 Feb 2010 18:35:44 -0800 (PST)
Links: << >>  << T >>  << A >>
> Basically, I'm just trying to save an external comparator. =A0Slow
> comparators are available in smallish quantities for under 30 cents,
> but the prices for faster ones just seem unreasonable, and since I'm
> doing all the clock and data recovery digitally, I prefer to have a
> fair degree of accuracy on the location of the signal edges.

Forgot to mention.  In this design, I have a lot of pins available.
The smallest FPGA is a sunk cost, with a lot of resources which I am
trying to use cleverly (but not so cleverly I get burned in
production).  Since the signal is so slow, I  am considering providing
hysteresis to the comparator by outputting the decoded signal back out
an LVDS transmit pair.  At 1 MHz, even a 15 ns prop delay in providing
a tiny hysteresis should not be a problem, I don't think, but I'd love
to have a reasonably accurate model to test this against.

Thanks,
Pat

Article: 145344
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Brian Davis <brimdavis@aol.com>
Date: Fri, 5 Feb 2010 19:23:00 -0800 (PST)
Links: << >>  << T >>  << A >>
Patrick wrote:
>
> But, you might be more adept at googling than me, so if you
>find more than the tool at intusoft, please share.
>
 I poked a stick at the free Intusoft tool some years
back, it didn't help me much as the IBIS models I needed
to translate were a later version than it supported.

 I have manually extracted info from the IBIS tables
and package models to set up LTspice runs; this works
well when verified against lab measurements.

-----------

 FWIW, I posted an simple, unverified LVDS LTSPICE sim
here a few years ago showing problems that arise when
driving a typical FPGA input from a fast LVDS A/D with
sub-ns high impedance current source outputs :
  http://groups.google.com/group/comp.arch.fpga/msg/ab999f47d42e50f8
  http://fpgastuff.googlepages.com/lvds_current.pdf
  http://fpgastuff.googlepages.com/lvds_current.zip

-----------
Free tools that might help:

Edality's IBIS tool has a free viewer-only mode that I find useful:
  http://www.edality.com/ibisds/v1/

Eispice looks interesting ( haven't used this one yet ),
includes some sort of IBIS model support:
  http://www.thedigitalmachine.net/eispice.html

Brian

Article: 145345
Subject: Re: Simulating Spartan 3A pins in ltspice
From: Patrick Maupin <pmaupin@gmail.com>
Date: Fri, 5 Feb 2010 19:35:32 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 9:23=A0pm, Brian Davis <brimda...@aol.com> wrote:
> Patrick wrote:
>
> > But, you might be more adept at googling than me, so if you
> >find more than the tool at intusoft, please share.
>
> =A0I poked a stick at the free Intusoft tool some years
> back, it didn't help me much as the IBIS models I needed
> to translate were a later version than it supported.
>
> =A0I have manually extracted info from the IBIS tables
> and package models to set up LTspice runs; this works
> well when verified against lab measurements.
>
> -----------
>
> =A0FWIW, I posted an simple, unverified LVDS LTSPICE sim
> here a few years ago showing problems that arise when
> driving a typical FPGA input from a fast LVDS A/D with
> sub-ns high impedance current source outputs :
> =A0http://groups.google.com/group/comp.arch.fpga/msg/ab999f47d42e50f8
> =A0http://fpgastuff.googlepages.com/lvds_current.pdf
> =A0http://fpgastuff.googlepages.com/lvds_current.zip
>
> -----------
> Free tools that might help:
>
> Edality's IBIS tool has a free viewer-only mode that I find useful:
> =A0http://www.edality.com/ibisds/v1/
>
> Eispice looks interesting ( haven't used this one yet ),
> includes some sort of IBIS model support:
> =A0http://www.thedigitalmachine.net/eispice.html
>
> Brian

Very good links!  Thanks!

I don't know how, but I missed them when I did some research before I
posted my question.

Pat

Article: 145346
Subject: Re: Constraining minimum hold times (Xilinx)
From: rickman <gnuarm@gmail.com>
Date: Fri, 5 Feb 2010 22:41:46 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 6:55=A0pm, Uwe Bonnes <b...@elektron.ikp.physik.tu-
darmstadt.de> wrote:
> rickman <gnu...@gmail.com> wrote:
>
> ...
>
> > I guess I was hoping for a little more detail than just "it's from the
> > data sheet". =A0Like I said, to get a clock to output timing requires
> > you to add several numbers depending on the IO types you are using.
> > Exactly what part are you using and what IO types and configuation?
> > The post layout timing will only be as accurate as the information it
> > is provided with. =A0I'm not trying to be a pain, but I noticed that
> > this number exactly matches the base number for clock to output
> > timing, XC3S200A, DCM not in use -4 speed grade. =A0This value is only
> > valid if you are using LVCMOS25 on both the clock port and the output
> > with 12 mA drive. =A0Of course, it is possible that this same value cam=
e
> > from some other combination of chip and configuration.
>
> LVCMOS25 is default, if nothing else is constrained. And the timing repor=
t
> for the LVCMOS/fast/8 mA case said something like
> =A0 COMP "adbus<0>" OFFSET =3D OUT 11 ns BEFORE | MAXDELAY =A0 =A0| =A0 =
=A0 0.064ns|
> =A0 =A0 11.064ns| =A0 =A0 =A0 0| =A0 =A0 =A0 =A0 =A0 0

Maybe I am missing something, but your original post said "XC200A and
LVCMOS25/12mA/Fast slew drive TICKOF is 5.24 ns and timing can be met
(16.666 -5.24 =3D 11.42 > 11)"  The 5.24 ns value matches the data sheet
value for LVCMOS25 on both the clock input and the driver output with
12 mA fast slew and not using the DCM.  Using the 8 mA drive you list
above adds 0.38 ns giving 5.62 ns.  Subtracting from 16.666 gives
11.046 which is close to the result above, but not a perfect match.  I
don't know if there is still a mismatch between your constraints and
the data I am using or maybe the timing file is more up to date than
the data sheet.  Either way, I guess I am asking if the description of
your I/Os is as above, both the clock input and the driver output at
LVCMOS25 and the output at 8 mA FAST and the DCM is not being used.
If you want to get a little more margin in your timing, which is where
I think you are taking this, you can utilize the DCM and improve your
margin by almost 2 ns!

Rick

Article: 145347
Subject: Re: Board layout for FPGA
From: rickman <gnuarm@gmail.com>
Date: Fri, 5 Feb 2010 23:50:47 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 4:38 pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> (comp.dsp added, as there are people there who consider these problems.)
>
> rickman <gnu...@gmail.com> wrote:
> > On Feb 5, 6:42 am, Symon <symon_bre...@hotmail.com> wrote:
>
> (snip)
>
> >> So, I recommend multiple ground planes close to all your signals. A
> >> thick core in the centre of the board to make up the correct thickness.
> >> Then you can simply forget about any slot issues. Like you say, this
> >> lets you keep the traces thin and with a lower characteristic impedance,
> >> which is normally what you want when routing BGA FPGAs. The two ground
> >> planes should be well bonded with vias, so there isn't a problem when a
> >> signal goes through a via and passes from being referred to one ground
> >> plane to the other.
> > Below, you talk about the connecting of the power and ground plane by
> > spacing to be of little value and yet propose that vias are adequate
> > to couple multiple ground planes.  I find that interesting.  For a
> > signal passing between layers the return current would have a long
> > path to reach a via and back.
>
> I believe, for the most part, it doesn't do that.  The capacitance
> of even a single plane is high enough at the higher frequencies
> that for the most part the return current doesn't have to take
> the long way around.

What do you base this on?  And what do you mean by the "capacitance of
even a single plane"???  What is the sound of one hand clapping?
Isn't capacitance measured between two conductors?  Above you said,
"The two ground planes should be well bonded with vias, so there isn't
a problem when a signal goes through a via and passes from being
referred to one ground plane to the other."  How is bonding the planes
with vias useful if the current has to go all the way to a via and
back in order to follow the trace???


> >> I reject the notion of placing a power plane and a ground plane close
> >> together in the middle of the board to get the benefit of the
> >> inter-plane capacitance for bypassing reasons. Don't get me wrong, it
> >> won't hurt, but IMO the amount of capacitance gained is tiny, and even
> >> though it is a very high Q capacitor, getting the power to the die is
> >> stymied by the inductance of the vias and BGA balls that are part of the
> >> PDS.
>
> I think I agree with this.  The way to actually see this is to
> calculate the radial propagation of the signal into the plane
> from the via.  The impedance (both inductance and capacitance)
> will change with radial distance and frequency.

That is why Lee Ritchey's course was such an eye opener for me.  There
are any number of ways you can "calculate" and theorize what happens
in power planes.  But unless you verify it by testing in hardware, you
are just whistling in the dark.  Lee has done that.  One test he made
that really impressed me was to show that a decoupling cap does not
need to be close to a pin to work well.  If the power and ground plane
are closely spaced, the impedance is very low.  If you understand
transmission lines, you will know that the current into (or out of) a
driver into the transmission line is constant until the signal reaches
the other end and depending on what load it finds, either continues
until the reflection returns to the driver (as in a series terminated
line with high impedance load) or keeps flowing as when it reaches the
decoupling cap.  So if the cap is further away, the transmission line
supplies the current for decoupling until the wave front reaches the
cap.  The point is that the planes have to be closely coupled for
there to be a high enough capacitance (also known as a low enough
impedance) to provide the current until the pulse reaches the cap.

Lee actually built a board and has measurement data to show this.  So
analyze away if you want, but how can you dispute measurements?


> >> If your power plane is in the middle of the board, the signal path
> >> of these vias are longer. You don't care about the supply stiffness on
> >> your plane, it's on the die that counts.
>
> Well, I think it is both.  For a single supply via, yes.  But if you
> add them all up, then the ground plane has to supply (or sink) the
> total of all the vias, and some of that comes from the interplane
> capacitance.  The via inductance will be most important at the
> highest frequencies.  The ground plane at slightly lower, but
> still significant frequencies.  At some point there is a tradeoff
> between the two, and you have to figure out what that means in terms
> of plane positioning.

What exactly is any of this based on?


> >> If you graunch off the metal
> >> cover of an FPGA you'll see that the manufacturer has already had to add
> >> bypass caps on the BGA substrate for this very reason. Furthermore, if
> >> you have a PCB ground plane close to the surface and hence close to the
> >> FPGA, the cavity between the PCB ground plane and the ground plane in
> >> the FPGA is smaller, reducing the inductance of the vias and BGA balls
> >> and so reducing stuff like ground bounce.
> >> So, IMO, the disadvantages of having the planes further from your
> >> signals and components more than outweigh the tiny gain in bypass
> >> capacitance you gain.
> > I'm a bit unclear on what you are saying.  You are suggesting that the
> > impedance of the vias is enough that you should put the planes as
> > close as possible to the component surface, but then you recommend
> > putting the decoupling caps on the back side much further away from
> > the component with longer vias.
>
> To see this, you have to think of it in frequency (Fourier) space.
> The switching currents have frequency components over a wide
> range, with a peak somewhere near 1/(transition time) but
> significant over a range of lower frequencies.  The highest ones
> are supplied by the internal capacitors.  The next lower ones
> by the ground plane itself, near the via.  Lower still by the
> ground plane farther away, where interplane capacitance is important.
> Then there are the onboard bypass capacitors, the power supply
> bypass capacitors, the power supply filter capacitors, etc.
>
>
>
> >> I say better is to put your bypass caps as close as possible to the
> >> FPGA, and maybe use puddles of copper close to the ground planes to
> >> maximise the via and capacitor utilization. Here's an article showing
> >> what I mean. Fig. 2.
> >>http://www.x2y.com/bypass/mount/backside_cap.pdf
> >> Whatever, YMMV, and I'm sure your designs work just fine. It's hard to
> >> cock it up, but I contend that the dual ground plane design I suggest
> >> above is nigh on impossible to go wrong with from an SI point of view,
> >> even if you have absolutely no clue what you're doing. That's why I use it!
> > Yes, one common element is that most designs apply overkill in the
> > supply decoupling area.  When an engineer uses a method and it works,
> > it is like the elephant protection charm... you don't see any
> > elephants do you, so it must be working!
> > I would likely not use the offset coupled planes you describe mainly
> > because it only works well for boards with active components on only
> > one side.
> > In Lee Ritchey's class I asked about adding caps to the package to
> > overcome lead inductance causing ground bounce.  He showed me that the
> > bounce is caused by the switching currents of driving an external
> > signal travel in a loop and independent of any capacitance on the
> > package, still have to travel through the leads of the part (even if
> > they are only bonding leads).  In fact, there is *nothing* you can do
> > about the series inductance of pins in a package other than fix the
> > package.  That is why I seriously doubt that the small added
> > inductance of 30 mil of a via is significant in any but the highest
> > speed designs.  But as you say, YMMV.
>
> Yes.  The problem comes with switching a large number of lines
> at very close to the same time.  Since they won't be at exactly
> the same time (propagation delay to the pads) the highest frequency
> components aren't as important as you might think.  The peak
> frequency of the ground current, then, will depend on how close
> the transitions are to each other more than the transition rate.

The high frequency components are the only ones I care about for
ground bounce.  The problem is caused by series inductance.  The lower
the frequency, the lower the impact.  But still, ground bounce is
largely a package problem which you can do nothing about on the board
other than make it worse.

Another really amazing thing I got from Lee's course is that there are
any number of engineers who get it wrong.  I'm not talking about
typical board designers, I am talking about engineers designing chips
and packages.  He has any number of examples where he was called in to
fix a problem and he told them to throw it out and start over doing it
right.  In one case, they wanted to use some chip that Lee found had
too much lead impedance and would ground bounce all the noise margin
out of the logic levels.  So they had to scrap the idea of using the
chip.

Rick

Article: 145348
Subject: Re: Board layout for FPGA
From: rickman <gnuarm@gmail.com>
Date: Sat, 6 Feb 2010 00:13:29 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 5, 9:24=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> Symon <symon_bre...@hotmail.com> wrote:
> > On 2/5/2010 9:53 PM, glen herrmannsfeldt wrote:
> >> Yes. =A0Actually, I believe that for the really highest frequency
> >> components, that they are supplied by the plane itself. =A0(Especially
> >> as signals won't be switching at exactly the same time.)
> > If these highest frequencies are supplied by the planes, why do Xilinx
> > and Altera put capacitors on the BGA substrate? That must cost money.
> > Are they wrong?
>
> OK, not quite the highest frequencies, but almost.
>
> The highest that get through the inductance of the package and
> past the internal capacitors.
>
> I think it isn't so hard to calculate the impedance of an
> infinite plane with a hole (via) as a function of frequency.
> That should partly answer the question.

Two different problems.  The capacitance of the power and ground
planes closely spaced is effective at frequencies well above that
where capacitors become highly inductive and the impedance rises to a
point of being useless.  So any caps used inside the package are not
there to handle "the highest frequencies".  To be honest, I don't know
why they would put caps inside the package unless their packages are
poorly designed, unless it is to account for poor designers...  In a
discussion some time back between an engineer and a Xilinx rep about
the "recommended" decoupling caps, it was admitted that their
recommendation was overkill for most designs since there is such a
wide range of designs implemented in their parts.  Reading between the
lines I would say this means they were recommending overkill for the
designers who can't figure it out for themselves.  When was the last
time a design review said you had too many decoupling caps?  I firmly
believe what Lee Ritchey showed me (that only a fraction of the number
of caps normally used are really needed) but I still try to use one
per power pin!  Call it superstition or just lack of confidence in
myself.  But no one's design failed because he used too many caps on
the power plane.

BTW, Lee Ritchey's book, "Right the First Time..." is available on CD
for $25.  I recommend it.  Everything I have said here is from what I
learned in his course using that book.

Rick

Article: 145349
Subject: Re: Board layout for FPGA
From: whygee <yg@yg.yg>
Date: Sat, 06 Feb 2010 09:42:37 +0100
Links: << >>  << T >>  << A >>
Hi Rick !

rickman wrote:
> Lee Ritchey showed me (that only a fraction of the number
> of caps normally used are really needed) but I still try to use one
> per power pin!  Call it superstition or just lack of confidence in
> myself.  But no one's design failed because he used too many caps on
> the power plane.

Excellent point, I feel concerned by this remark :-)

> Rick
yg

-- 
http://ygdes.com / http://yasep.org



Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search