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 145950

Article: 145950
Subject: Re: using an FPGA to emulate a vintage computer
From: Eric Chomko <pne.chomko@comcast.net>
Date: Mon, 1 Mar 2010 09:05:14 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 26, 5:54=A0pm, Peter Flass <Peter_Fl...@Yahoo.com> wrote:
> Scott Lurndal wrote:
> > "(see below)" <yaldni...@blueyonder.co.uk> writes:
> >> On 24/02/2010 20:37, in article hm6fbd6...@news6.newsguy.com, "Michael
> >> Wojcik" <mwoj...@newsguy.com> wrote:
>
> >>> (see below) wrote:
> >>>> Just the usual red tape: return address, frame pointer of caller; an=
d either
> >>>> a static pointer or some housekeeping for 'display' registers (if us=
ed) to
> >>>> access non-locals. But bear in mind that in decent languages arrays =
are
> >>>> storable values, so a value array parameter gets copied in toto, unl=
ike C.
> >>> It will be in C if the array is wrapped in a struct. Letting array
> >> That is passing a struct, not an array.
>
> >>> parameters decay to pointers was a feature of early C that couldn't b=
e
> >>> changed for historical reasons, but when the standardization committe=
e
> >>> added support for struct parameters, they made them first-class.
> >>> struct (and not the misnamed "typedef") is C's mechanism for creating
> >>> new types and ADTs, so if you want a pass-by-value array in C, the
> >>> correct thing to do is to put it in a struct.
> >> Yes. Preposterous, isn't it?
>
> > Q? =A0Why would anyone want to pass an array by value?
>
> Because you can?

In Perl there is the 'shift' statement, which allows access to an
array by value.

Article: 145951
Subject: Re: free waveform drawing tool
From: timinganalyzer <timinganalyzer@gmail.com>
Date: Mon, 1 Mar 2010 09:40:15 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 28, 8:06=A0pm, "jimwu88NOOOS...@yahoo.com" <jimw...@gmail.com>
wrote:
> On Feb 23, 10:43=A0pm, timinganalyzer <timinganaly...@gmail.com> wrote:
>
>
>
>
>
> > On Feb 23, 10:56=A0am, timinganalyzer <timinganaly...@gmail.com> wrote:
>
> > > On Feb 14, 9:12=A0am, rickman <gnu...@gmail.com> wrote:
>
> > > > On Feb 8, 7:51=A0pm, timinganalyzer <timinganaly...@gmail.com> wrot=
e:
>
> > > > > Hello serkan,
>
> > > > > The latest version of the TimingAnalyzer now reads VCD files and
> > > > > automatically converts and saves it as a timing diagram. =A0This =
is
> > > > > useful for documenting simulation results for specifications, rev=
iews,
> > > > > and presentations.
>
> > > > >http://www.timing-diagrams.com/dokuwiki/doku.php?id=3Ddocs:vcd_fil=
es
>
> > > > > Dan
>
> > > > > On Feb 5, 5:29=A0pm, "M.Randelzhofer" <techsel...@gmx.de> wrote:
>
> > > > > > "Serkan" <ok...@su.sabanciuniv.edu> schrieb im Newsbeitragnews:=
382d6281-244f-48d7-a0ae-ff76e69316db@p24g2000yqm.googlegroups.com...
>
> > > > > > > Any suggestions for a free waveform drawing tool?
>
> > > > > > > inkscape or word alike tools take too much time for edition.
> > > > > > > some free tools does not let more than 10 clock cycles
> > > > > > > some free tools does not let more than 5 or 6 signals
>
> > > > > > > kind regards
> > > > > > > serkan
>
> > > > > >http://www.timing-diagrams.com/doku.php
>
> > > > > > MIKE
>
> > > > I am having trouble figuring out other aspects of using this progra=
m.
> > > > I noticed that the author's web site doesn't have a forum for users=
,
> > > > so I've started a Yahoo group for users to discuss this program and
> > > > hopefully provide support to one another.
>
> > > >http://tech.groups.yahoo.com/group/TimingAnalyzer/
>
> > > > I am trying to draw a diagram to help me visualize the advantages o=
f
> > > > replacing registers with latches in designs with tight timing. =A0I=
t
> > > > seems like an uphill struggle given that I can't tell if the things=
 I
> > > > try don't work because that isn't the way the tool works or if I'm
> > > > just not using it right. =A0I'm not finding this tool to be very
> > > > intuitive. =A0But then maybe I'm just not thinking along the right
> > > > vein.
>
> > > > Rick- Hide quoted text -
>
> > > > - Show quoted text -
>
> > > Hi Rick,
>
> > > I was away for week and didn't see your response. =A0Yes, =A0the prog=
ram
> > > is now freeware and I'm the only developer at this time. =A0I work fu=
ll
> > > time as a design engineer so I don't get a lot of time to develop the
> > > program. =A0As a result, =A0progress is slow but I'm always working o=
n new
> > > features and bug fixes. =A0I'm focusing the next few releases on bug
> > > fixes and improvements and better documentation.. =A0I did at one tim=
e
> > > have a user forum, so I will add that back again. =A0There is also a =
new
> > > code repository started for python scripts at:
>
> > >http://code.google.com/p/timing-analyzer-plugins/
>
> > > Printing will be supported, =A0but for now, you have to save the diag=
ram
> > > as an image and print the image. =A0 I realize the program is not as
> > > polished as some of the commercial quality alternatives, but that wil=
l
> > > change in time.
>
> > > If you have any questions, =A0just let me know, my email is:
>
> > > timinganaly...@gmail.com
>
> > > Thanks, Dan
>
> > Hi Rick,
>
> > I added 3 new user forums on the website. =A0GUI HELP, =A0Script HELP,
> > and New Features and Improvement Request.
>
> >www.timing-diagrams.com/forums/index.php
>
> > -Dan
>
> I can't figure out how to add uncertainty window to a bus. Any trick?
>
> Thanks!- Hide quoted text -
>
> - Show quoted text -

You have to add a Delay and include the uncertainty in the values for
min, typ, and max.

1) select the source edge ( click in edge) from a clock or other
signal
2) select the destination edge (click in edge with shft key down) in
the bus
3) add Menu - Delay (ctrl 7).  That brings up the Delay Panel and the
User Delay and Constraints Panel on the left
4) select User Delays and Constraints Panel. (click in tab).
5) make a User delay that contains the min, typ, and max delay values
with the uncertainties. Add the User Delay
6) select the User Delay Panel(click in tab).  select that User Delay
in the Delay Panel. Add the delay.

Once a User Delay has been added, it can be used in other Delays and
steps 4 and 5 in the procedure above are not needed.

I hope this helps.
Dan

Article: 145952
Subject: Re: using an FPGA to emulate a vintage computer
From: scott@slp53.sl.home (Scott Lurndal)
Date: 01 Mar 2010 18:48:35 GMT
Links: << >>  << T >>  << A >>
Michael Wojcik <mwojcik@newsguy.com> writes:
>Scott Lurndal wrote:
>> 
>> I've never promoted or suggested that one put an array in a struct
>> and pass it by value, I frankly think it would be a stupid thing to
>> do in a C program.
>
>Is it a stupid idea, or a good one, in all the languages that support
>it? Is this just a special attribute of C?

Perhaps stupid was a bit strong.  As an OS designer/implementer, I
find the copy to be a problem;  perhaps for other applications, it
would make some sense (although most the apps I can think of that
process arrays are probably better off in FORTRAN or R or Mathematica.

>
>> I was curious if anyone thought passing an array by value was a
>> _good_ idea.
>
>It might be if you want the callee to be able to modify its copy of
>the array without affecting the caller's. Just like any other
>pass-by-value object.
>
>If the callee would have had to make a copy of the array anyway, why
>not let the compiler do the work?

Yes, a point.  However, I'd be concerned about the adverse affect on
performance if used for subtantially large arrays.

scott

Article: 145953
Subject: Re: using an FPGA to emulate a vintage computer
From: Joe Pfeiffer <pfeiffer@cs.nmsu.edu>
Date: Mon, 01 Mar 2010 12:19:50 -0700
Links: << >>  << T >>  << A >>
Charles Richmond <frizzle@tx.rr.com> writes:
> Joe Pfeiffer wrote:
>>
>> Since C99, you can allocate an array with a variable number of elements
>> like this:
>>
>>     printf(" array size >> ");
>>     scanf("%d", &size);
>>
>>     int awry[size];
>
> But how about the second dimension, Joe??? Can you allocate:
>
>       int awry2[size][size];

Yes (just tried it)
-- 
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)

Article: 145954
Subject: Re: using an FPGA to emulate a vintage computer
From: Peter Flass <Peter_Flass@Yahoo.com>
Date: Mon, 01 Mar 2010 18:25:51 -0500
Links: << >>  << T >>  << A >>
Joe Pfeiffer wrote:
> Charles Richmond <frizzle@tx.rr.com> writes:
>> Joe Pfeiffer wrote:
>>> Since C99, you can allocate an array with a variable number of elements
>>> like this:
>>>
>>>     printf(" array size >> ");
>>>     scanf("%d", &size);
>>>
>>>     int awry[size];
>> But how about the second dimension, Joe??? Can you allocate:
>>
>>       int awry2[size][size];
> 
> Yes (just tried it)

Hey!  C's finally caught up to PL/I.  Only took them 50 years, and then 
of course all the features are just tacked-on in true C fashion, instead 
of thought-through.

Article: 145955
Subject: Re: Frustration with Vendors!
From: rickman <gnuarm@gmail.com>
Date: Mon, 1 Mar 2010 15:36:32 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 1, 5:38=A0am, "Nial Stewart"
<nial*REMOVE_TH...@nialstewartdevelopments.co.uk> wrote:
> > I really have to say that paying for Hyperlynx once is a lot cheaper
> > than fixing board, after board, with bad SI. =A0In fact one re-spin of
> > the pcb is about what the tool costs.
>
> Austin,
>
> Out of interest I've asked about Hyperlynx pricing.
>
> There are many different pricing options, but the perpetual licences
> for Hyperlynx are...
>
> EXT (MHz version) line (schematic I presume) and board simulation ~ GPB =
=A316K
>
> GHz (GHz version) line and board sim ~ GBP =A338K
>
> This might be what it costs to re-spin a board if you're paying a large
> CEM to kit and build 20 Virtex boards, but for most of us a re-spin
> won't cost anything like that.
>
> We don't all work for large corporations.
>
> Nial.

Even so, I have *never* had to respin a board because of SI issues.  A
full blown simulation tool is not the only way to analyze this sort of
stuff, regardless of what you will hear.  Heck how often do you even
have the full details of your loading to use with a high end tool?
You have to extract that data from the layout program and they don't
pull if from a universal Gerber file.  You have to be using a
compatible layout program... more big bucks, otherwise needlessly
spent.

Rick

Article: 145956
Subject: Re: Spice simulation of IBIS details - model examples
From: rickman <gnuarm@gmail.com>
Date: Mon, 1 Mar 2010 15:56:47 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 1, 4:30=A0am, Jared Casper <jaredcas...@gmail.com> wrote:
> On 03/01/2010 12:17 AM, -jg wrote:
>
> > The V-I tables can give the output impedance. For overshoot, use the N-
> > CH values, and for min-slew checks, use the (usually slightly higher)
> > P-CH values.
>
> I'm not sure if it is that straight forward. =A0From
>
> "The Development of Analog SPICE Behavioral Model Based on IBIS Model"
> Ying Wang and Han Ngee Tan, Proceedings of the Ninth Great Lakes
> Symposium on VLSI, (March 1999)http://www.cecs.uci.edu/~papers/compendium=
94-03/papers/1999/glsvlsi99...
>
> =A0> It must be cautioned that the IV tables of an IBIS
> =A0> model are purely based on DC condition and should not
> =A0> be used for transient simulation.
> ...
> =A0> Thus, the approach of deriving switching signal only
> =A0> based on static information, i.e., DC IV tables is not
> =A0> valid. The dynamic information provided by IBIS model
> =A0> must be adopted in the generation of analog SPICE
> =A0> behavioral model. The model building principle is to map
> =A0> all IBIS information of both static and dynamic into the
> =A0> SPICE model.
>
> I would recommend a read through of that paper if you want to make a
> SPICE model based on IBIS data (it is only four pages long).
>
> This paper is built on the methodology presented in this paper, which
> gives a bit more info:
>
> "Extraction of Transient Behavioral Model of Digital I/O Buffers from
> IBIS" =A0- by Peivand Tehrani, Yuzhe Chen and Jiayuan Fang, 46th IEEE
> Electronic Components & Technology Conference (May 28-31, 1996)http://www=
.sigrity.com/papers/ectc96/ectc96ibis.pdf
>
> Jared Casper

I can attest to the fact that there are things going on that are very
different from the static conditions.  I ran an IBIS simulation on the
file provided by the vendor... actually, I don't thin it was a
simulation as much as just a display of the waveform shown in the IBIS
file.  It clearly shows a quick rise time (~1 ns) to a level lower
than Vdd because of the 100 ohm load to ground.  But after about 2-3
ns the voltage drops off and remains constant for the duration of the
20 ns data sample.  I am pretty sure you can't generate this waveform
with a simple RLC model.  It also makes me suspicious of the entire
IBIS file thing.  It just seems like this is a very poor way to model
an I/O, but then I haven't looked at it in detail.  I do know that the
one time I used a simulator, it did not give results so much like what
we measured.  It predicted severe overshoot on the bus lines and we
observed very little.

Rick

Article: 145957
Subject: Re: Spice simulation of IBIS details - model examples
From: -jg <jim.granville@gmail.com>
Date: Mon, 1 Mar 2010 16:11:28 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 2, 12:56=A0pm, rickman <gnu...@gmail.com> wrote:
>=A0It clearly shows a quick rise time (~1 ns) to a level lower
> than Vdd because of the 100 ohm load to ground. =A0But after about 2-3
> ns the voltage drops off and remains constant for the duration of the
> 20 ns data sample. =A0I am pretty sure you can't generate this waveform
> with a simple RLC model. =A0It also makes me suspicious of the entire
> IBIS file thing. =A0

Yes, that sounds simply broken. Like the sim-engine,
and the model got out of step.
Did your scope 'reality check' look anything like that?

> It just seems like this is a very poor way to model
> an I/O, but then I haven't looked at it in detail.

IBIS is simplified output from the 'real spice'.
So they just have single numbers for ramp rates, and
a table plot for I-V.

 Given the limits of the information in the IBIS, you should still be
able to get useful spice data points.
 Certainly more than enough, to correlate with bench measurements, and
for clock ringing (which is what you were looking for).

Tho I'm not sure I'd try and get Eye patterns from it ;)
It's  best to use Hyperlynx for that level of analysis.

 Those spice examples look quite plausible to me.
Both show ringing, but with (expected) quite different amplitudes and
phases.

Article: 145958
Subject: Re: Spice simulation of IBIS details - model examples
From: rickman <gnuarm@gmail.com>
Date: Mon, 1 Mar 2010 16:44:24 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 1, 7:11=A0pm, -jg <jim.granvi...@gmail.com> wrote:
> On Mar 2, 12:56=A0pm, rickman <gnu...@gmail.com> wrote:
>
> >=A0It clearly shows a quick rise time (~1 ns) to a level lower
> > than Vdd because of the 100 ohm load to ground. =A0But after about 2-3
> > ns the voltage drops off and remains constant for the duration of the
> > 20 ns data sample. =A0I am pretty sure you can't generate this waveform
> > with a simple RLC model. =A0It also makes me suspicious of the entire
> > IBIS file thing. =A0
>
> Yes, that sounds simply broken. Like the sim-engine,
> and the model got out of step.
> Did your scope 'reality check' look anything like that?

The "sim-engine" is just a display of the contents of the V-t curve
given in the model.  I found it in the file and the data is exactly
like the curve drawn.


> > It just seems like this is a very poor way to model
> > an I/O, but then I haven't looked at it in detail.
>
> IBIS is simplified output from the 'real spice'.
> So they just have single numbers for ramp rates, and
> a table plot for I-V.
>
> =A0Given the limits of the information in the IBIS, you should still be
> able to get useful spice data points.
> =A0Certainly more than enough, to correlate with bench measurements, and
> for clock ringing (which is what you were looking for).
>
> Tho I'm not sure I'd try and get Eye patterns from it ;)
> It's =A0best to use Hyperlynx for that level of analysis.

What the heck do you feed into Hyperlynx?  That is what the IBIS
models are supposed to be for from what I have read.  Hyperlynx is not
spice, it uses the IBIS models for the drivers and inputs and it gets
info on your pcb from your layout package.  All in all, it is a *very*
expensive way to design high speed PCBs and like I said, I didn't find
it produced very good results.


> =A0Those spice examples look quite plausible to me.
> Both show ringing, but with (expected) quite different amplitudes and
> phases.

In the end we picked a 12 mA, FAST output which gives a 6 ns rise time
with a small wiggle in the rising edge at around 2.6 volts pretty well
above the typical threshold.  With an 8 mA drive the rise time is
slower and the wiggle shows up further down in the curve near the
threshold.  The common factor is a ~4 ns time delay which matches the
end of the initial pulse in the V-t curve data.  I don't think any of
this is ringing due to reflections in the trace.  A 6 ns rise time
would require a trace a foot or more long to create any noticeable
reflection.  The trace on this board is maybe 3 inches long total.  I
don't know what the IBIS data is about.

Rick

Article: 145959
Subject: LVDS i/o in a SystemVerilog Interface block
From: fpgabuilder <parekh.sh@gmail.com>
Date: Mon, 1 Mar 2010 17:28:38 -0800 (PST)
Links: << >>  << T >>  << A >>
I need to instantiate LVDS interfaces in my top-level.  I am planning
to use SV interface blocks.  Altera's documentation suggests that LVDS
i/os should only be instantiated using a megafunction.  But the
interface blocks do not allow hierarchy so I cannot instantiate a
megafunction inside the interface block.

Any thoughts on this?

Article: 145960
Subject: Re: Spice simulation of IBIS details - model examples
From: -jg <jim.granville@gmail.com>
Date: Mon, 1 Mar 2010 17:37:37 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 2, 1:44=A0pm, rickman <gnu...@gmail.com> wrote:
> On Mar 1, 7:11=A0pm, -jg <jim.granvi...@gmail.com> wrote:
>
>
> What the heck do you feed into Hyperlynx? =A0That is what the IBIS
> models are supposed to be for from what I have read. =A0Hyperlynx is not
> spice, it uses the IBIS models for the drivers and inputs and it gets
> info on your pcb from your layout package. =A0All in all, it is a *very*
> expensive way to design high speed PCBs and like I said, I didn't find
> it produced very good results.

 The top end Hyperlynx products, include the trace parasitics, and
lossy transmission line models. So if you are serious about eye
patterns, they are a good idea.
 If you just want ringing/drive selector, then yes, they could be an
overkill.

 Hence the spice alternative.


>
> In the end we picked a 12 mA, FAST output which gives a 6 ns rise time
> with a small wiggle in the rising edge at around 2.6 volts pretty well
> above the typical threshold. =A0With an 8 mA drive the rise time is
> slower and the wiggle shows up further down in the curve near the
> threshold. =A0The common factor is a ~4 ns time delay which matches the
> end of the initial pulse in the V-t curve data. =A0I don't think any of
> this is ringing due to reflections in the trace. =A0A 6 ns rise time
> would require a trace a foot or more long to create any noticeable
> reflection. =A0The trace on this board is maybe 3 inches long total. =A0I
> don't know what the IBIS data is about.

 I used 22nH, and 5pF as the load, and got noticable ringing effects,
with fast-ish edges.

 That ~3 inch trace will be 30-40nH, and rather more than 5pF, so your
slower edges should give similar results.

 Try it and see :)

 -jg




Article: 145961
Subject: Need support for differential 1.2V IOStandard on Virtex-6
From: Shant <shant.moses@gmail.com>
Date: Mon, 1 Mar 2010 18:53:26 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi all,

I'm designing an LPDDR2 SDRAM memory interface controller for a
Virtex-6 FPGA based on the DDR3 interface controller provided by MIG
3.3.

The memory interface signals need a 1.2V IOStandard. For the single-
ended signals, either LVCMOS12 or HSTL_I_12 IOStandard can be used.
The problem is on the differential (CK and DQS) signals, there is no
differential 1.2V IOStandard supported. Is there any workaround for
this issue? Is it possible to configure the logic to a 1.5V IOStandard
(for example DIFF_SSTL15) and tweak VCCO and VREF in such a way to get
the IOB lines within the desired 1.2V swing?

Regards,
Shant

Article: 145962
Subject: Re: Spice simulation of IBIS details - model examples
From: rickman <gnuarm@gmail.com>
Date: Mon, 1 Mar 2010 21:15:02 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 1, 8:37=A0pm, -jg <jim.granvi...@gmail.com> wrote:
> On Mar 2, 1:44=A0pm, rickman <gnu...@gmail.com> wrote:
>
> > On Mar 1, 7:11=A0pm, -jg <jim.granvi...@gmail.com> wrote:
>
> > What the heck do you feed into Hyperlynx? =A0That is what the IBIS
> > models are supposed to be for from what I have read. =A0Hyperlynx is no=
t
> > spice, it uses the IBIS models for the drivers and inputs and it gets
> > info on your pcb from your layout package. =A0All in all, it is a *very=
*
> > expensive way to design high speed PCBs and like I said, I didn't find
> > it produced very good results.
>
> =A0The top end Hyperlynx products, include the trace parasitics, and
> lossy transmission line models. So if you are serious about eye
> patterns, they are a good idea.
> =A0If you just want ringing/drive selector, then yes, they could be an
> overkill.
>
> =A0Hence the spice alternative.
>
>
>
> > In the end we picked a 12 mA, FAST output which gives a 6 ns rise time
> > with a small wiggle in the rising edge at around 2.6 volts pretty well
> > above the typical threshold. =A0With an 8 mA drive the rise time is
> > slower and the wiggle shows up further down in the curve near the
> > threshold. =A0The common factor is a ~4 ns time delay which matches the
> > end of the initial pulse in the V-t curve data. =A0I don't think any of
> > this is ringing due to reflections in the trace. =A0A 6 ns rise time
> > would require a trace a foot or more long to create any noticeable
> > reflection. =A0The trace on this board is maybe 3 inches long total. =
=A0I
> > don't know what the IBIS data is about.
>
> =A0I used 22nH, and 5pF as the load, and got noticable ringing effects,
> with fast-ish edges.
>
> =A0That ~3 inch trace will be 30-40nH, and rather more than 5pF, so your
> slower edges should give similar results.
>
> =A0Try it and see :)
>
> =A0-jg

I'm talking about the boards.  I get virtually no ringing with the
slower edge rates.  The fastest, 20 mA/FAST, setting gives pronounced
ringing and 16 mA has some as well.  They are both 2 ns or less rise
times.  At 12 ns the ringing is gone and I only see the tiny notch in
the rising edge that I am convinced is not ringing or reflection.
BTW, a transmission line does not ring.  You can get reflections, but
unless there is some sort of feedback in your IO driver that is
oscillating, you won't see true ringing with a transmission line...
unless there is something with transmission lines that I didn't
learn.  It is often that reflections look like ringing because they
echo several times at lower amplitude each time around.  No?

Rick

Article: 145963
Subject: Re: Spice simulation of IBIS details - model examples
From: -jg <jim.granville@gmail.com>
Date: Mon, 1 Mar 2010 22:08:15 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 2, 6:15=A0pm, rickman <gnu...@gmail.com> wrote:
>
> I'm talking about the boards. =A0I get virtually no ringing with the
> slower edge rates. =A0The fastest, 20 mA/FAST, setting gives pronounced
> ringing and 16 mA has some as well. =A0They are both 2 ns or less rise
> times. =A0At 12 ns the ringing is gone and I only see the tiny notch in
> the rising edge that I am convinced is not ringing or reflection.

It depends on your terminology.
The notch I mention below, I would call ringing, as it
comes from a LCR+Slope model. It is effectively ringing summed onto
the slowish rise time, and is not huge, but large enough to see a
slight reverse in voltage.

> BTW, a transmission line does not ring. =A0You can get reflections, but
> unless there is some sort of feedback in your IO driver that is
> oscillating, you won't see true ringing with a transmission line...
> unless there is something with transmission lines that I didn't
> learn. =A0It is often that reflections look like ringing because they
> echo several times at lower amplitude each time around. =A0No?
>
> Rick

Just for fun, I added some guestimate numbers from what you said, and
added a probe to the driving end, and voila, guess what?

A small notch appears, on the driving end ;)

Which end were you probing, your end, or connector, or the customers
FPGA pin ?

-jg

Article: 145964
Subject: Re: LVDS i/o in a SystemVerilog Interface block
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Tue, 02 Mar 2010 09:39:41 +0000
Links: << >>  << T >>  << A >>
On Mon, 1 Mar 2010 17:28:38 -0800 (PST), fpgabuilder wrote:

>I need to instantiate LVDS interfaces in my top-level.  I am planning
>to use SV interface blocks.  Altera's documentation suggests that LVDS
>i/os should only be instantiated using a megafunction.  But the
>interface blocks do not allow hierarchy so I cannot instantiate a
>megafunction inside the interface block.
>
>Any thoughts on this?

This sounds to me like an inappropriate use of SV interfaces.
When you say "I am planning to use SV interface blocks", what
exactly do you intend?  Interfaces are useful in certain 
situations, but you definitely would not want to use them
everywhere in your design.  In particular, you should avoid
using interfaces for the design's top-level I/O because it
will inevitably cause trouble with other tools in the flow.

It is not quite true that "interfaces do not allow hierarchy".
You cannot create a *module* instance inside an interface,
but you certainly can have an *interface* instance inside
another.  However, nested interface instances are not
necessarily synthesizable.
-- 
Jonathan Bromley

Article: 145965
Subject: Re: Frustration with Vendors!
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Tue, 2 Mar 2010 09:54:07 -0000
Links: << >>  << T >>  << A >>
> Even so, I have *never* had to respin a board because of SI issues.

Neither have I, but I haven't exactly been pushing the boundaries for
the last couple of years.

>  A

> full blown simulation tool is not the only way to analyze this sort of

> stuff, regardless of what you will hear.  Heck how often do you even
> have the full details of your loading to use with a high end tool?
> You have to extract that data from the layout program and they don't
> pull if from a universal Gerber file.


I think Hyperlynx will pull in Gerbers OK.

At least it should for what it costs.


Nial 



Article: 145966
Subject: Help with avoiding ground-loops on my PCB+external
From: digitaljanitor <b7grabn98q@sneakemail.com>
Date: Tue, 2 Mar 2010 02:14:54 -0800 (PST)
Links: << >>  << T >>  << A >>
All,

Apologies for the cross-post, I know a lot of people who deal with
FPGAs are also experts with PCBs, stack-ups, high-speed layout, hoping
for some good ideas from both groups.  I'm not an expert on board
design or electronics, but I'm trying to do things right from the
start...

My issue in a nut shell:  How can I properly prevent ground-loops from
external connections that interface to my board?  I receive several
digital signals streams from two to four external boards, single-
ended, ~5 Mbps, almost zero-balanced.  My board has sensitive analog
and audio/video and I'd like to avoid the possibility of ground-loops,
60 Hz hum, etc.

I know of three methods to isolate and I list the methods and my
thoughts.

1.  I can use a capacitor in-series with each input signal and level-
shift it back so my digital ICs will properly trigger and keep the
ext_GND isolated from my sys_GND.  I have tested this and it's
reliable for my configuration.

But!  I'm very worried about EMI and return currents.  If I use a
capacitor to couple the external signal in AND I don't connect
ext_GND(s) to my sys_GND, I fear that the return current from the
input signal will see an impedance discontinuity and cause me MORE EMI
headaches.  I reason that the current should flow in a loop and while
the capacitor isolates my two systems, the return current will still
have to go back to the original source and since my GNDs are
discontiguous, I have a high-impedance return (maybe through free
space) and this will couple more noise into my system.

2.  I can use an isolation transformer (1:1) and a capacitor on the
input side to avoid saturating the core (strip DC) and use a cap on
the output & restore the DC.

I wonder if the capacitance between windings, other parasitics and EM
"leakage" however won't end up defeating the purpose of isolation and
will end up coupling noise from the external circuits into my system.
Since my signals are single-ended I don't have a differential receiver
to reject the common-mode noise either.

I'm also uncertain if the return current has a path, but based on my
recollection of transformers, the load impedance is reflected back to
the source, so there is a "path" and both sides are coupled together.

3.  I can use a digital isolator (NVE, ADI) and have it straddle the
external input block and my digital system.

The issue here is the need for power on the external input side that
would have to be isolated from the digital side.  I also wonder, since
the NVE/ADI parts end up using magnetic isolation techniques, will
they end up broadcasting any EM?

Thank you!
Sam.

Article: 145967
Subject: Re: Frustration with Vendors!
From: Kim Enkovaara <kim.enkovaara@iki.fi>
Date: Tue, 02 Mar 2010 12:21:42 +0200
Links: << >>  << T >>  << A >>
rickman wrote:
> On Mar 1, 5:38 am, "Nial Stewart"

> Even so, I have *never* had to respin a board because of SI issues.  A
> full blown simulation tool is not the only way to analyze this sort of
> stuff, regardless of what you will hear.  Heck how often do you even
> have the full details of your loading to use with a high end tool?

I haven't seen a complex board without need for respin and SI is one
of the reasons quite often. For me complex board is 15+ layers, high
speed busses (600+MHz DDR), differential gigabit traces, board full of
components and quite big boards. Even with simulation there are
suprises, but the more time is spent on simulation the better quality
the board usually is.

Especially crosstalk is a real problem in complex boards, and without
automatic batch simulation quite impossible to handle without very
conservative design rules. And with too conservative rules the designs
do not to fit to the boards.

It quite normal in complex boards to have ibis models for most of
the chips already in the component database, and some defaults for
others and layout is extracted from the design databases. In the
more expensive tools the flow has been automated in recent years.

Next stage is power integrity simulation of the boards. With hundreds
of amps of current the power distribution is a real problem and
hard to analyze.

--Kim

Article: 145968
Subject: Re: Spice simulation of IBIS details - model examples
From: Kim Enkovaara <kim.enkovaara@iki.fi>
Date: Tue, 02 Mar 2010 12:37:52 +0200
Links: << >>  << T >>  << A >>
rickman wrote:

> What the heck do you feed into Hyperlynx?  That is what the IBIS
> models are supposed to be for from what I have read.  Hyperlynx is not
> spice, it uses the IBIS models for the drivers and inputs and it gets
> info on your pcb from your layout package.  All in all, it is a *very*
> expensive way to design high speed PCBs and like I said, I didn't find
> it produced very good results.

Hyperlynx also can use spice (hspice or eldo) models, so you can use a
mixture of ibis and spice models for the simulation. And I think also
AMS and IBIS-AMI is supported.

And also the trace models do not have to come from the layout. I have
used the tool often for design exploration. For example checking the
termination schemes (ODT vs. separate resistors etc.) and the results
have matched quite well to the real world. Altough the trace was only
based on PCB stackup model, vias and trace lengths on different layers.

--Kim

Article: 145969
Subject: Tabula. (FPGA start up)
From: Symon <symon_brewer@hotmail.com>
Date: Tue, 02 Mar 2010 11:22:07 +0000
Links: << >>  << T >>  << A >>
This lot seems to be revealing a bit more about their stuff.

http://www.mercurynews.com/breaking-news/ci_14493616

http://www.tabula.com



Article: 145970
Subject: Re: Tabula. (FPGA start up)
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Tue, 02 Mar 2010 12:04:40 +0000
Links: << >>  << T >>  << A >>
On Tue, 02 Mar 2010 11:22:07 +0000, Symon wrote:

>This lot seems to be revealing a bit more about their stuff.
>http://www.mercurynews.com/breaking-news/ci_14493616
>http://www.tabula.com

Thanks for the heads-up.  Any startup may simply vanish 
without trace in a puff of hot air, but this lot look as
though they may have one of the few really innovative
and potentially disruptive ideas to hit FPGAs in recent
times.

Commercial reality being what it is, it is unlikely that
hobbyists and small design shops will be able to get their
hands on real tools and devices at a sensible price for
quite some time.  But I reckon it's still worth watching.
-- 
Jonathan Bromley

Article: 145971
Subject: Re: Help with avoiding ground-loops on my PCB+external
From: rickman <gnuarm@gmail.com>
Date: Tue, 2 Mar 2010 04:45:15 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 2, 5:14=A0am, digitaljanitor <b7grabn...@sneakemail.com> wrote:
> All,
>
> Apologies for the cross-post, I know a lot of people who deal with
> FPGAs are also experts with PCBs, stack-ups, high-speed layout, hoping
> for some good ideas from both groups. =A0I'm not an expert on board
> design or electronics, but I'm trying to do things right from the
> start...
>
> My issue in a nut shell: =A0How can I properly prevent ground-loops from
> external connections that interface to my board? =A0I receive several
> digital signals streams from two to four external boards, single-
> ended, ~5 Mbps, almost zero-balanced. =A0My board has sensitive analog
> and audio/video and I'd like to avoid the possibility of ground-loops,
> 60 Hz hum, etc.
>
> I know of three methods to isolate and I list the methods and my
> thoughts.
>
> 1. =A0I can use a capacitor in-series with each input signal and level-
> shift it back so my digital ICs will properly trigger and keep the
> ext_GND isolated from my sys_GND. =A0I have tested this and it's
> reliable for my configuration.
>
> But! =A0I'm very worried about EMI and return currents. =A0If I use a
> capacitor to couple the external signal in AND I don't connect
> ext_GND(s) to my sys_GND, I fear that the return current from the
> input signal will see an impedance discontinuity and cause me MORE EMI
> headaches. =A0I reason that the current should flow in a loop and while
> the capacitor isolates my two systems, the return current will still
> have to go back to the original source and since my GNDs are
> discontiguous, I have a high-impedance return (maybe through free
> space) and this will couple more noise into my system.
>
> 2. =A0I can use an isolation transformer (1:1) and a capacitor on the
> input side to avoid saturating the core (strip DC) and use a cap on
> the output & restore the DC.
>
> I wonder if the capacitance between windings, other parasitics and EM
> "leakage" however won't end up defeating the purpose of isolation and
> will end up coupling noise from the external circuits into my system.
> Since my signals are single-ended I don't have a differential receiver
> to reject the common-mode noise either.
>
> I'm also uncertain if the return current has a path, but based on my
> recollection of transformers, the load impedance is reflected back to
> the source, so there is a "path" and both sides are coupled together.
>
> 3. =A0I can use a digital isolator (NVE, ADI) and have it straddle the
> external input block and my digital system.
>
> The issue here is the need for power on the external input side that
> would have to be isolated from the digital side. =A0I also wonder, since
> the NVE/ADI parts end up using magnetic isolation techniques, will
> they end up broadcasting any EM?
>
> Thank you!
> Sam.

I guess my first question is to figure out if any of this is
overkill.  When you say you have signals coming from "external"
boards, do you mean a separate chassis?  If the boards are in the same
case, then proper grounding techniques should do the job.

If you are sure that you need this sort of isolation there is a third
choice, optical isolation.  5 Mbps is not beyond the speed of
optoisolators.  A quick search turns up parts rated up to 50 Mbps.
The input devices require no special circuitry and output devices
simply require a power supply that is separate and isolated since this
becomes the only path for conducted noise.

I guess my real concern is that if you are so worried about the return
current and coupled EMI from the external digital signals, why don't
you put the digital electronics on a separate card?  That is the best
way to provide proper isolation from the digital noise... at least the
best first step.

Rick

Article: 145972
Subject: Re: Spice simulation of IBIS details - model examples
From: rickman <gnuarm@gmail.com>
Date: Tue, 2 Mar 2010 05:07:52 -0800 (PST)
Links: << >>  << T >>  << A >>
On Mar 2, 1:08=A0am, -jg <jim.granvi...@gmail.com> wrote:
> On Mar 2, 6:15=A0pm, rickman <gnu...@gmail.com> wrote:
>
>
>
> > I'm talking about the boards. =A0I get virtually no ringing with the
> > slower edge rates. =A0The fastest, 20 mA/FAST, setting gives pronounced
> > ringing and 16 mA has some as well. =A0They are both 2 ns or less rise
> > times. =A0At 12 ns the ringing is gone and I only see the tiny notch in
> > the rising edge that I am convinced is not ringing or reflection.
>
> It depends on your terminology.
> The notch I mention below, I would call ringing, as it
> comes from a LCR+Slope model. It is effectively ringing summed onto
> the slowish rise time, and is not huge, but large enough to see a
> slight reverse in voltage.
>
> > BTW, a transmission line does not ring. =A0You can get reflections, but
> > unless there is some sort of feedback in your IO driver that is
> > oscillating, you won't see true ringing with a transmission line...
> > unless there is something with transmission lines that I didn't
> > learn. =A0It is often that reflections look like ringing because they
> > echo several times at lower amplitude each time around. =A0No?
>
> > Rick
>
> Just for fun, I added some guestimate numbers from what you said, and
> added a probe to the driving end, and voila, guess what?
>
> A small notch appears, on the driving end ;)
>
> Which end were you probing, your end, or connector, or the customers
> FPGA pin ?
>
> -jg

The driver.  Does it show up at the same time for both 8 and 12 mA
drive?

Rick

Article: 145973
Subject: Re: Help with avoiding ground-loops on my PCB+external
From: "Joe G \(Home\)" <joe.g@optusnet.com.au>
Date: Wed, 3 Mar 2010 00:30:31 +1100
Links: << >>  << T >>  << A >>
Please clarify exactly what type of signals you wish to isolate.

Analog Video?

Digial Video?

Analog  - AC with DC component?  just AC?

Other

There are many ways to isolate...for particular type of signals... so please 
clarify exactly what type of signals.

Yes  -for digital you might try some of the AD iCoupler isolators (some even 
pass power 50mA to the isolated side).

Joe 



Article: 145974
Subject: Re: Help with avoiding ground-loops on my PCB+external
From: "petrus bitbyter" <pieterkraltlaatditweg@enditookhccnet.nl>
Date: Tue, 2 Mar 2010 14:38:38 +0100
Links: << >>  << T >>  << A >>

"digitaljanitor" <b7grabn98q@sneakemail.com> schreef in bericht 
news:5770b06c-0a2a-4000-9545-e68e179b9dea@b9g2000pri.googlegroups.com...
> All,
>
> Apologies for the cross-post, I know a lot of people who deal with
> FPGAs are also experts with PCBs, stack-ups, high-speed layout, hoping
> for some good ideas from both groups.  I'm not an expert on board
> design or electronics, but I'm trying to do things right from the
> start...
>
> My issue in a nut shell:  How can I properly prevent ground-loops from
> external connections that interface to my board?  I receive several
> digital signals streams from two to four external boards, single-
> ended, ~5 Mbps, almost zero-balanced.  My board has sensitive analog
> and audio/video and I'd like to avoid the possibility of ground-loops,
> 60 Hz hum, etc.
>
> I know of three methods to isolate and I list the methods and my
> thoughts.
>
> 1.  I can use a capacitor in-series with each input signal and level-
> shift it back so my digital ICs will properly trigger and keep the
> ext_GND isolated from my sys_GND.  I have tested this and it's
> reliable for my configuration.
>
> But!  I'm very worried about EMI and return currents.  If I use a
> capacitor to couple the external signal in AND I don't connect
> ext_GND(s) to my sys_GND, I fear that the return current from the
> input signal will see an impedance discontinuity and cause me MORE EMI
> headaches.  I reason that the current should flow in a loop and while
> the capacitor isolates my two systems, the return current will still
> have to go back to the original source and since my GNDs are
> discontiguous, I have a high-impedance return (maybe through free
> space) and this will couple more noise into my system.
>
> 2.  I can use an isolation transformer (1:1) and a capacitor on the
> input side to avoid saturating the core (strip DC) and use a cap on
> the output & restore the DC.
>
> I wonder if the capacitance between windings, other parasitics and EM
> "leakage" however won't end up defeating the purpose of isolation and
> will end up coupling noise from the external circuits into my system.
> Since my signals are single-ended I don't have a differential receiver
> to reject the common-mode noise either.
>
> I'm also uncertain if the return current has a path, but based on my
> recollection of transformers, the load impedance is reflected back to
> the source, so there is a "path" and both sides are coupled together.
>
> 3.  I can use a digital isolator (NVE, ADI) and have it straddle the
> external input block and my digital system.
>
> The issue here is the need for power on the external input side that
> would have to be isolated from the digital side.  I also wonder, since
> the NVE/ADI parts end up using magnetic isolation techniques, will
> they end up broadcasting any EM?
>
> Thank you!
> Sam.

I used to apply optocouplers. For real long lines I even switched to 
glassfiber.

petrus bitbyter 





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