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 143500

Article: 143500
Subject: Re: FPGA on-die LVDS termination issues
From: Symon <symon_brewer@hotmail.com>
Date: Tue, 13 Oct 2009 16:10:09 +0100
Links: << >>  << T >>  << A >>
Jaap,

You can't just probe in the middle of the trace and expect to see on 
your 'scope what the receiver sees. The 'scope will introduce an 
impedance discontinuity. What probe are you using?

This is particularly the case with FPGAs; the Xilinx Virtex 4 has about 
10pF of input capacitance per pin which is produced by all those other 
IOBs configuration options, specifically 24mA output FETs. High speed 
signals hit those 'caps' and reflect back.

If you really want to probe the signals, you could add an attenuator to 
your design. So, is it working or not. You don't seem to describe your 
problem except the signal doesn't look good on your 'scope.

HTH., Syms.

p.s. Brian Davis posted on CAF about using attenuators for probing, you 
might be able to google for it.



Article: 143501
Subject: Re: FPGA ruined (?)
From: gabor <gabor@alacron.com>
Date: Tue, 13 Oct 2009 11:06:06 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 5:19=A0am, "gkonstan" <paraharak...@gmail.com> wrote:
> >The last device to have a "inrush" current was the Virtex E,
>
> >Since then, the parts have no "excess" current requirements. =A0Now, the
> >poster may have a design which is using more power than he is able to
> >supply with his power supply design, so by forcing the part to NOT
> >configure (change mode pins, =A0ground the DIN pin, etc.) they will be
> >able to see if the power supplies can power the part when there is no
> >bitstream.
>
> >While the part waits for a bitstream, the power is virtually identical
> >to what the power is while loading the bitstream, and what the power
> >is immediately after the bitstream is loaded, before the part starts
> >doing whatever it is that the customer has told it to do.
>
> Actually I had followed the standard procedure, and the code I inserted w=
as
> identical to the one that already worked, with the addition of one led
> which was supposed to stay always on (and it did, though in lower scale
> than supposed).
> Thank you all very much for your help, in the end when I started going
> 'hardware', unplugging stuff and so, I noticed that the input current of
> the board was close to 1,5A, (rather big, isnt it?)so I just told my
> supervisor and we are checking if it is possible to find a new Fpga.
> Thank you again for your time and trouble. =A0 =A0 =A0 =A0
>
> --------------------------------------- =A0 =A0 =A0 =A0
> This message was sent using the comp.arch.fpga web interface onhttp://www=
.FPGARelated.com

Did you try the Mode pin idea?  i.e. if the FPGA draws too much power
when it isn't configured, it's broken.  If not it could be your
design.
Changing a small thing like turning on an LED seems like it shouldn't
cause your problem, but there are cases that can cause severe
overcurrent.
One I run into all the time is that ISE suddenly decides not to use
my .ucf file and blithely re-locates all my pins.  You can see for
yourself what that would do if your outputs are randomly attached to
other board signal sources.  Did you look through the report files?
The Place & route report shows the percentage of LOC'd IOBs right
near the top.

Regards,
Gabor

Article: 143502
Subject: Re: FPGA on-die LVDS termination issues
From: "dc207" <jaap.mol@planet.nl>
Date: Tue, 13 Oct 2009 14:10:34 -0500
Links: << >>  << T >>  << A >>
>Jaap,
>
>The waveforms will look different at any point OTHER than across the
>termination.
>
>You can see this for yourself in the simulation, by placing the
>package element in the simulation (i.e. two short -- 10-20mm t-lines
>before the termination and IO pin loading model).
>
>If you have already done this, then you are aware of where you look
>influences what you see.
>
>Looking directly across the termination is what the receiver sees, so
>that is what matters.

OK, clear from a simulation point of view. We are measuring as close as
possible to the receiver e.g. the termination, but this is not always
possible, due to the location of via's (micro-strip to stripline and v.v.),
which may not always be as close to the termination as you would like them
to be.
Anyhow, what we see is not a "normal" reflection, but a RC-curve on top of
the reflection. This RC-curve is "killing", the reflection itself is more
or less as expected. If we manually place a 100 ohm resistor on the board,
and disable the on-die termination, the RC-curve has disappeared, and the
signal looks as neat as you can possibly expect. In this case, the
reflection is there but very OK, and the eye-diagram is well open. 
The problem is that we need about 40 of these extra 100 ohm resistors, on a
board which is already loaded....

>
>The termination is not a carbon resistor, but it is as good as one
>when it comes to looking like a resistor, so that is not the issue.
>Often, the attribute is not set properly, and the resistor is not
>enabled.  Have you checked in FPGA_editor, and do you clearly see the
>resistor termination enabled?  

Yes, we did this check, the attribute was set both in the VHDL as in the
UCF, and we checked the results using the FPGA Editor, and the pinning
file.

>Does the receive voltage appear twice
>as high as it is indicated in the simulation? (clearly indicating the
>resistor is not enabled)
>
>You do not mention the problem:  bad data, occasional incorrect data,
>bad data when other IOs switch only, etc.

Basically all of the items mentioned above. Bad data could be the result of
many issues (internal FPGA I/O timing, SSN, clock jitter requirements,
etc.).
We are trying to eliminate them one by one, to narrow down on the real
cause(s). 

>
>As a customer, the magic words are "lines down."  If you say this, the
>case MUST be escalated.  If unresolved, it must be escalated again and
>again, until it gets to the "Fire Marshall"  who reports to the Senior
>VP and CEO on unresolved cases, and their status.
>
>Since I invented, implemented, this system, and was the first Fire
>Marshall, I am very familiar with the system, and it works really well
>-- use it!
>
>A case number is very useful:  if you email it to me, I can check on
>its status, and help get it escalated.

OK, thanks. As I said, Xilinx is already involved, a RMA procedure was
started but temporary halted on our request because we needed more time to
do our homework. Until now, we haven't been able to find anything that we
have done wrong ourselves. Today, I have been working with some collegues
to connect a DSP evaluation board (ADI EZ-Lite TS201) with LVDS-based DSP
Link Ports direcly to a FPGA evaluation board (Xilinx ML403), e.g. without
any hardware being designed by ourselves (only interconnect consisting of
two RJ45/UTP cables). The FPGA only will contain a loopback (TX to RX and
v.v.), elimination any possible internal timing issues.
If we encounter the same RC-curves on this design, we can stop our attempts
to find the error in our own designs (PCB/board/FPGA), and
redesign/relayout all our boards, which will be extremly costly and also
time consuming. We have already started these redesigns (in parralel), to
reduce leadtime and risk.

We are finishing a report on our measurements, simulations, etc this week,
and we will forward it to our Xilinx representatives.


>
>	   
					
---------------------------------------		
This message was sent using the comp.arch.fpga web interface on
http://www.FPGARelated.com

Article: 143503
Subject: Re: FPGA on-die LVDS termination issues
From: "dc207" <jaap.mol@planet.nl>
Date: Tue, 13 Oct 2009 14:20:47 -0500
Links: << >>  << T >>  << A >>
>Jaap,
>
>You can't just probe in the middle of the trace and expect to see on 
>your 'scope what the receiver sees. The 'scope will introduce an 
>impedance discontinuity. What probe are you using?

We are aware of that. It is impossible to probe at the ideal location, due
to the layout, vias positions, etc.
We are using a LeCroy SDA 6000A with a D600A differential probe. I believe
these devices suitable (if not over-qualified) for these measurements....
;-)

>
>This is particularly the case with FPGAs; the Xilinx Virtex 4 has about 
>10pF of input capacitance per pin which is produced by all those other 
>IOBs configuration options, specifically 24mA output FETs. High speed 
>signals hit those 'caps' and reflect back.

Is this 10 pF input capacitance per pin based on having on-die termination
enabled, disabled or perhaps both?

>
>If you really want to probe the signals, you could add an attenuator to 
>your design. So, is it working or not. You don't seem to describe your 
>problem except the signal doesn't look good on your 'scope.

The problem is bad/corrupted data (occasionally), for more details see my
follow-up to the Austin in this same thread.

>
>HTH., Syms.
>
>p.s. Brian Davis posted on CAF about using attenuators for probing, you 
>might be able to google for it.

OK, thanks, we will do that.
>
>
>	   
					
---------------------------------------		
This message was sent using the comp.arch.fpga web interface on
http://www.FPGARelated.com

Article: 143504
Subject: Re: ASIC Prototyping using FPGA
From: Gael Paul <gael.paul@gmail.com>
Date: Tue, 13 Oct 2009 13:11:05 -0700 (PDT)
Links: << >>  << T >>  << A >>
Test01,

The initial mapping to an FPGA prototyping board is indeed a big
undertaking. However, if you use the dedicated tools described in the
previous post, then updating the prototype when the HDL changes will
be push-button in the vast majority of cases. Changes that would
require some assistance are of the kind that invalidate the partition:
 - changes to the interface between two modules that are in different
devices. This would require to incrementally update the partition and
pin assignment (Certify supports this, not sure about Auspy)
 - significant increase in resources leading to an overflow of one or
more devices. This would require an incremental update to the
partition to reassign logic in devices with some free room
 - etc

Emulation systems are in fact using commercial FPGAs. Thus, the
conversion effort is virtually identical. However, the partitioning
and board management tasks are fully automated and hidden from the
user.

The choice between emulation and prototyping should primary be based
on your objectives:
 - to perform early-stage functional debug, emulation is the better
choice. To some extent, emulation is HDL simulation on steroids.
 - to validate the chip in a (near) real-life environment, find the
late-stage functional bugs, develop and validate the embedded
software, pass certification, etc, prototyping is the better choice.
In fact, power users combine emulation and prototyping to validate
their SoCs.

Cheers,

 - gael

PS: a few additional notes on latches:
(1) wether using emulation of prototyping, there is no need to convert
latches to flip-flops as latches are supported in most FPGAs. However,
you cannot fully rely on timing analysis since it does not support
time-borrowing. This introduces the possibility of timing violations
on your emulator/prototype that would appear as functional bugs. If
you run the emulator/prototype at very low frequencies (e.g. < 1Mhz,
like emulators do), then this most likely not a problem. Otherwise, a
good option for power users would be to run PrimeTime (or any ASIC STA
that supports time-borrowing) on the protoype netlist annotated with
delays (SDF).
(2) wether using emulation or prototyping, you can opt for fully
automatic conversion of latches to flip-flops (Precision and Synplify/
Certify have this feature). While this resolves the above timing
analysis problem, it may create a design that is not functionally
equivalent. However, in my experience, if latches are used properly,
FF conversion will always be functionally equivalent. In other words,
if your ASIC design team is experienced and knows its trade, latches
should not be an issue and converting them to FFs is best option.


Article: 143505
Subject: Re: ASIC Prototyping using FPGA
From: KJ <kkjennings@sbcglobal.net>
Date: Tue, 13 Oct 2009 13:19:33 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 4:11=A0pm, Gael Paul <gael.p...@gmail.com> wrote:
> (1) wether using emulation of prototyping, there is no need to convert
> latches to flip-flops as latches are supported in most FPGAs. However,
> you cannot fully rely on timing analysis since it does not support
> time-borrowing. This introduces the possibility of timing violations
> on your emulator/prototype that would appear as functional bugs. If
> you run the emulator/prototype at very low frequencies (e.g. < 1Mhz,
> like emulators do), then this most likely not a problem.

The timing issue with latches is hold time, not setup time.  Hold time
violations are independent of clock speed so if you have this problem
you'll have it whether you run the design at 1 Hz, or 500 MHz.

You'll likely find what turns out to be hold time problems started as
something that appears as a sensitivity to temperature, so cold spray
and heat guns can make the problem come and go.

You can get lucky with timing...or not.

Kevin Jennings

Article: 143506
Subject: Re: difference between virtex 5 and old versin(virtex3,2)
From: Ed McGettigan <ed.mcgettigan@xilinx.com>
Date: Tue, 13 Oct 2009 13:32:06 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 5:15=A0am, "CARLA" <bk_a...@hotmail.com> wrote:
> HI,
>
> why we can estimate the energy consumption whith a virtex5 and not with a
> virtex3 or 2 for example? what is this special characteristic?
>
> thank you

Your post does not provided enough information for a response.  Please
elaborate on what your question is about.

Also, there is no Virtex-3 FPGA family.

Ed McGettigan
--
Xilinx Inc.

Article: 143507
Subject: Re: FPGA on-die LVDS termination issues
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Wed, 14 Oct 2009 00:12:53 +0100
Links: << >>  << T >>  << A >>
On Tue, 13 Oct 2009 14:10:34 -0500, "dc207" <jaap.mol@planet.nl> wrote:


>Anyhow, what we see is not a "normal" reflection, but a RC-curve on top of
>the reflection. This RC-curve is "killing", the reflection itself is more
>or less as expected. If we manually place a 100 ohm resistor on the board,
>and disable the on-die termination, the RC-curve has disappeared, and the
>signal looks as neat as you can possibly expect.

... but do the data errors disappear?

I may have a suspicious mind but it looks possible that the visible reflections
are a red herring, and the internal termination works just fine ... but
something else is causing data corruption.

The best time to discover that is _not_ when you get the revised board layout
back...

- Brian


Article: 143508
Subject: Re: Problem with Black Box in VHDL in ISE 11.2 :: ERROR:NgdBuild:604
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Wed, 14 Oct 2009 00:25:27 +0100
Links: << >>  << T >>  << A >>
On Tue, 13 Oct 2009 07:16:06 -0500, "subagha" <subagha@gmail.com> wrote:

>Hi,
>  I have a small design in VHDL with black box which i am trying to
>synthesize
>using Xilinx ISE 11.2. 
>
>I get an error when running the command ngdbuild.
>ERROR:NgdBuild:604 - logical block 'inst' with type 'my_block' could not
>be
>   resolved. A pin name misspelling can cause this, 

>>> a missing edif or ngc file,

>The design has two files
>
>my_block.vhd ---

>black_box_1.vhd ---

>I am using the commandline to run my commands and not the GUI.

Have you run synthesis, with the correct settings, on my_block.vhd?
You need to synthesise this WITHOUT inserting I/O buffers on its ports, to
generate my_block.ngc.

If you can't find the correct commandline options, use the GUI to synth without
IOB insertion, and copy the command line from the .commandlog file into your
scripts.

>command which generated error:
>ngdbuild -intstyle xflow -sd . -dd _ngo -nt timestamp -p xc5vtx240t-2ff1759
>black_box_1.ngc black_box_1.ngd

And as the error message says, it can't find my_block.ngc.

If my_block.ngc existed, ngdbuild would use it to fill in the black box.
(This is how an EDK project is incorporated into to an ISE flow)

If my_block.ngc exists but ngdbuild can't find it, it may be in the wrong
directory. You can keep all your black box .ngc files in a separate folder and
use a command line option to tell ngdbuild to look there for them.

- Brian


Article: 143509
Subject: Re: FPGA on-die LVDS termination issues
From: Symon <symon_brewer@hotmail.com>
Date: Wed, 14 Oct 2009 00:55:51 +0100
Links: << >>  << T >>  << A >>
dc207 wrote:
>> Jaap,
>>
>> You can't just probe in the middle of the trace and expect to see on 
>> your 'scope what the receiver sees. The 'scope will introduce an 
>> impedance discontinuity. What probe are you using?
> 
> We are aware of that. It is impossible to probe at the ideal location, due
> to the layout, vias positions, etc.
> We are using a LeCroy SDA 6000A with a D600A differential probe. I believe
> these devices suitable (if not over-qualified) for these measurements....
> ;-)
> 
>> This is particularly the case with FPGAs; the Xilinx Virtex 4 has about 
>> 10pF of input capacitance per pin which is produced by all those other 
>> IOBs configuration options, specifically 24mA output FETs. High speed 
>> signals hit those 'caps' and reflect back.
> 
> Is this 10 pF input capacitance per pin based on having on-die termination
> enabled, disabled or perhaps both?
> 
>> If you really want to probe the signals, you could add an attenuator to 
>> your design. So, is it working or not. You don't seem to describe your 
>> problem except the signal doesn't look good on your 'scope.
> 
> The problem is bad/corrupted data (occasionally), for more details see my
> follow-up to the Austin in this same thread.
> 
>> HTH., Syms.
>>
>> p.s. Brian Davis posted on CAF about using attenuators for probing, you 
>> might be able to google for it.
> 
> OK, thanks, we will do that.
>>
>> 	   
> 					
> ---------------------------------------		
> This message was sent using the comp.arch.fpga web interface on
> http://www.FPGARelated.com

Hi Jaap,
OK, it sounds like you are more than a little experienced at this, 
apologies for teaching you to suck eggs with your probing! Also, 
apologies in advance if the following is all obvious!

So, each pin has 10pF loading on it no matter what the IOB is set up 
for. Every single mode. There are a bunch of FET's connected to the 
signal to drive signals out if required by the configuration loaded into 
the device. Even if these are turned off, for example when the pin is an 
input, the capacitance is still there. It is the capacitance of the 
FETs' structure. Look at a datasheet for a discrete FET to see why this is.

This should be modelled in the IBIS file. You could try simulating with 
the IBIS model replaced by a 10pF cap to ground, along with the 100 ohm 
resistive termination between pins. If this sim looks the 'scope 
picture, maybe the IBIS model isn't accurate, but I doubt this.

FWIW, I've used the on chip termination for Virtex 4 FX devices many, 
many times without problems, within these limits:-

< 667MBps data rate
< 6 inches trace length.

How good are your power supplies? Are your pairs tightly coupled? Are 
they routed away from any crosstalk hazards? Are the pairs routed on a 
layer next to a ground plane? Do they swap layers a lot?

HTH, Symon.






Article: 143510
Subject: PLB Master writing to DDR Ram
From: "gruve5112" <wantastic@gmail.com>
Date: Tue, 13 Oct 2009 20:15:09 -0500
Links: << >>  << T >>  << A >>
Hello,

Environment: Virtex II Pro/ Xilinx 9.1i

 I'm trying to use PLB Master to write on the DDR Ram. I made a C program
to make the video frame buffer to read from DDR Ram 0x00000000. Now, I need
to make an IP to write on DDR Ram to output something on the video output.
I made PLB Master IP to communicate with DDR Ram. In user_logic.v, I'm just
assigning IP2Bus_Addr to 0x0 and incrementing it by 64 bits. Whenever the
MstWrAck is high, I'm sending some random data like
64'h0000_00ff_0000_00ff. However, it doesn't seem to get an access to the
ram.

Can anyone give me any simple example that writes some data from PLB Master
to DDR Ram?


Thank you!!



Article: 143511
Subject: Re: How to get clocks from DCM that the duty cycle is not 1:1
From: jay <heavenfish@gmail.com>
Date: Tue, 13 Oct 2009 18:47:25 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 7:08=A0pm, Symon <symon_bre...@hotmail.com> wrote:
> jay wrote:
> > Hello all,
>
> > I have an ASIC design to be converted to FPGA, I'm using Spartan-3A.
>
> > The ASIC uses 60MHz input clock, and divides it to 3 20MHz clocks
> > inside, the duty cycle is not 1:1 and has phase shifting like below:
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0|<- =A050ns ->|
> > =A0 =A0 =A0___ =A0 =A0 =A0 =A0 =A0 ___ =A0 =A0 =A0 =A0 =A0 ___
> > =A0__/ =A0 \___.___/ =A0 \___.___/ =A0 \___.___.
> > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 _
> > =A0 _.___._/ \___.___._/ \___.___._/ \___.
> > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0 =A0 =A0 =A0 _ =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0_
> > =A0 _.___.___/ \_.___.___/ \_.___.___/ \_.
> > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
>
> > These 3 clocks are the main clocks in the design, so I want to get
> > them from DCM, but found I can't set duty cycles in DCM.
>
> > Now I use logic to divide the clocks and add BUFG after them, but the
> > skew before BUFG can't be managed.
>
> > Is there anyone has a better idea?
>
> Hi Jay,
> Clock everything at 60 MHz. Use the 60MHz to make three clock enables
> for your three phase shifted domains.
> HTH., Syms.

Hi Symon,

This sounds a good idea, but it needs change the whole ASIC design.
And two clocks' high period is only half of the 60MHz cycle, I need
run my design in 120MHz to catch it.

Best Regards,
Jay

Article: 143512
Subject: Re: FPGA on-die LVDS termination issues
From: Brian Davis <brimdavis@aol.com>
Date: Tue, 13 Oct 2009 18:55:19 -0700 (PDT)
Links: << >>  << T >>  << A >>
Jaap,
Not much time to type tonight, but here's something:

-----------------

A. "RC curves" on LVDS signals

>
>  In the time-domain, we are measuring (with Lecroy SDA)
> RC-like curves on the (data)signals, when they have been
> stable (either 0 or 1) for a while and when they start
> switching again (to 1 or 0 respectively).
>

 This sounds _exactly_ like what you would see if the on board
FPGA terminator was not enabled.

 Many of these high speed A/D parts have LVDS outputs without
any internal back termination, so the A/D driver current sources
will run off into the rails and saturate on a long string of
1's or 0's without an external termination of some sort- this
sounds just like what you are seeing.

 I would concentrate on verifying, in hardware, that the
terminations are REALLY enabled, see section C.

 IIRC the ADS527x does not have the switchable internal back
terminations like other TI A/D parts, but it does have the
double-strength LVDS drive setting.

 If you respin the board, I would highly recommend enabling
that control bit and implementing either the back termination
at the A/D or a differential attenuator (see links) to provide
better matching when driving a V4 FPGA; this will also make
it easier to make meaningful measurements with an external probe.

-----------------

B. DIFF_TERM attribute problems

>
> the attribute was set both in the VHDL as in the UCF, and we
>checked the results using the FPGA Editor, and the pinning file.
>
 What version of software are you using?
 What part are you targeting?

 A bug later on in the flow ( e.g. Bitgen ) could have this effect
on the hardware yet still show the terminations in the FPGA editor.

 Do both sides of the differential buffer ( DIFFM/DIFFS ) show the
termination attribute enabled in the FPGA editor?

 There have been a number of past bugs with the DIFF_TERM's getting
dropped somewhere in the flow unless they are done with exactly
the right incantation.

 This is particularly true for the DIFF_OUT variants of the LVDS
input buffers, which IIRC are used in some of the high speed
serializer app notes to provide two copies of the internal data
for better routing delays.

 Despite a 6-7 year old CR reporting this problem, the last time
I checked the bug was still there if the DIFF_TERM attributes were
applied directly to a DIFF_OUT buffer in the HDL source code.

-----------------

C. DIFF_TERM implementation

>
>  In reality, both terminals have a Thevenin-equivalent circuit,
> each consisting of two other "resistors", one from the terminal
> up to the I/O supply voltage, and another downto ground.
>
 Note, the _original_ V2 LCDS_25_DCI termination hack worked
like this, but the DIFF_TERM's are implemented differently, and
look more like ~100 ohm across the pair for signals within the
specified common mode input voltage range.

 I have some half-finished LVDS notes that show a quasi-differential
sweep of a V4 DIFF_TERM done with a single-ended curve tracer and a
couple resistors, I'll try to post them in a few days; see the link
"DIFF_TERM measurements" link below for a written description.

 You can do something similar with a voltage source and a couple
resistors to confirm the presence of the internal termination
in the hardware.

-----------------

D. IBIS modeling of Xilinx differential terminations

>
>Note: the on-die termination resistor (100 ohm) was not included in the
>IBIS model of the Xilinx LVDS receiver, and needed to be added manually.
>

 If you are using an old version of HyperLynx, you may need a fresher
copy.

 The Xilinx IBIS terminator models have been broken in HyperLynx on
both occasions that I've looked into it ( see link below); simulating
the termination as an external resistor will not be an exact model,
but it is probably close enough to spot many problems.

-----------------

Past LVDS Posts and Links ( also see surrounding threads ):

Note that my file links referenced in the following posts
have moved, as AOL silently axed their FTP site last fall :

 http://fpgastuff.googlepages.com/oldaolfiles

 http://fpgastuff.googlepages.com/lvds_current.pdf
 http://fpgastuff.googlepages.com/lvds_current.zip

ADS527x and Xilinx LVDS inputs:
  http://groups.google.com/group/comp.arch.fpga/msg/95809af82ccbb550
  http://groups.google.com/group/comp.arch.fpga/msg/ab999f47d42e50f8
  http://groups.google.com/group/comp.arch.fpga/msg/5a8720eec942612e
  http://groups.google.com/group/comp.arch.fpga/msg/8ad1d05fa4d14e77

DIFF_TERM lab measurements
  http://groups.google.com/group/comp.arch.fpga/msg/dd70f9f0bea2cbe0

S3E DIFF_TERM tool quirks:
  http://groups.google.com/group/comp.arch.fpga/msg/45050b8239cecc56

Xilinx/Hyperlnyx differential termination bugs:
  http://groups.google.com/group/comp.arch.fpga/msg/aa97cb00c9aa721a
  http://groups.google.com/group/comp.arch.fpga/msg/c6e28cb7cc0ce3d0

good luck,
Brian



Article: 143513
Subject: Re: How to get clocks from DCM that the duty cycle is not 1:1
From: Peter Alfke <alfke@sbcglobal.net>
Date: Tue, 13 Oct 2009 20:17:07 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 6:47=A0pm, jay <heavenf...@gmail.com> wrote:
> On Oct 13, 7:08=A0pm, Symon <symon_bre...@hotmail.com> wrote:
>
>
>
>
>
> > jay wrote:
> > > Hello all,
>
> > > I have an ASIC design to be converted to FPGA, I'm using Spartan-3A.
>
> > > The ASIC uses 60MHz input clock, and divides it to 3 20MHz clocks
> > > inside, the duty cycle is not 1:1 and has phase shifting like below:
> > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0|<- =A050ns ->|
> > > =A0 =A0 =A0___ =A0 =A0 =A0 =A0 =A0 ___ =A0 =A0 =A0 =A0 =A0 ___
> > > =A0__/ =A0 \___.___/ =A0 \___.___/ =A0 \___.___.
> > > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
> > > =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 _
> > > =A0 _.___._/ \___.___._/ \___.___._/ \___.
> > > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
> > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0 =A0 =A0 =A0 _ =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_
> > > =A0 _.___.___/ \_.___.___/ \_.___.___/ \_.
> > > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
>
> > > These 3 clocks are the main clocks in the design, so I want to get
> > > them from DCM, but found I can't set duty cycles in DCM.
>
> > > Now I use logic to divide the clocks and add BUFG after them, but the
> > > skew before BUFG can't be managed.
>
> > > Is there anyone has a better idea?
>
> > Hi Jay,
> > Clock everything at 60 MHz. Use the 60MHz to make three clock enables
> > for your three phase shifted domains.
> > HTH., Syms.
>
> Hi Symon,
>
> This sounds a good idea, but it needs change the whole ASIC design.
> And two clocks' high period is only half of the 60MHz cycle, I need
> run my design in 120MHz to catch it.
>
> Best Regards,
> Jay

Jay, find out what the clocks are doing. If they clock only flip-
flops, then only the rising edges are important, and the high-time is
irrelevant, and Symon's advice is perfect.
If, however, the "clocks" are also used for other purposes (e.g. with
latches), then you have to be more careful with High and Low timing,
and any clock overlap.
Peter Alfke

Article: 143514
Subject: Re: How to get clocks from DCM that the duty cycle is not 1:1
From: jay <heavenfish@gmail.com>
Date: Wed, 14 Oct 2009 02:42:25 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 14, 11:17=A0am, Peter Alfke <al...@sbcglobal.net> wrote:
> On Oct 13, 6:47=A0pm, jay <heavenf...@gmail.com> wrote:
>
>
>
> > On Oct 13, 7:08=A0pm, Symon <symon_bre...@hotmail.com> wrote:
>
> > > jay wrote:
> > > > Hello all,
>
> > > > I have an ASIC design to be converted to FPGA, I'm using Spartan-3A=
.
>
> > > > The ASIC uses 60MHz input clock, and divides it to 3 20MHz clocks
> > > > inside, the duty cycle is not 1:1 and has phase shifting like below=
:
> > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0|<- =A050ns ->|
> > > > =A0 =A0 =A0___ =A0 =A0 =A0 =A0 =A0 ___ =A0 =A0 =A0 =A0 =A0 ___
> > > > =A0__/ =A0 \___.___/ =A0 \___.___/ =A0 \___.___.
> > > > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
> > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 _
> > > > =A0 _.___._/ \___.___._/ \___.___._/ \___.
> > > > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
> > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_ =A0 =A0 =A0 =A0 =A0 =A0 =A0 _ =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0_
> > > > =A0 _.___.___/ \_.___.___/ \_.___.___/ \_.
> > > > =A0 =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 . =A0 .
>
> > > > These 3 clocks are the main clocks in the design, so I want to get
> > > > them from DCM, but found I can't set duty cycles in DCM.
>
> > > > Now I use logic to divide the clocks and add BUFG after them, but t=
he
> > > > skew before BUFG can't be managed.
>
> > > > Is there anyone has a better idea?
>
> > > Hi Jay,
> > > Clock everything at 60 MHz. Use the 60MHz to make three clock enables
> > > for your three phase shifted domains.
> > > HTH., Syms.
>
> > Hi Symon,
>
> > This sounds a good idea, but it needs change the whole ASIC design.
> > And two clocks' high period is only half of the 60MHz cycle, I need
> > run my design in 120MHz to catch it.
>
> > Best Regards,
> > Jay
>
> Jay, find out what the clocks are doing. If they clock only flip-
> flops, then only the rising edges are important, and the high-time is
> irrelevant, and Symon's advice is perfect.
> If, however, the "clocks" are also used for other purposes (e.g. with
> latches), then you have to be more careful with High and Low timing,
> and any clock overlap.
> Peter Alfke

Peter,

The design mostly used latches, I'm unlucky.

All three clocks are registered by main clock however, I think if I
can constraint the FF output to BUFG input delay of them (be the
same), the phase relationship can be kept. Can I do that?

Best Regards,
Jay

Article: 143515
Subject: Re: How to get clocks from DCM that the duty cycle is not 1:1
From: Symon <symon_brewer@hotmail.com>
Date: Wed, 14 Oct 2009 10:56:28 +0100
Links: << >>  << T >>  << A >>
jay wrote:
> 
> Peter,
> 
> The design mostly used latches, I'm unlucky.
 >
Ouch!
> 
> All three clocks are registered by main clock however, I think if I
> can constraint the FF output to BUFG input delay of them (be the
> same), the phase relationship can be kept. Can I do that?
> 
> Best Regards,
> Jay

I can think of two choices, both of which use a DCM to make 120MHz from 
your 60MHz.

1) Rewrite it all to use FFs only (i.e. no latches) clocked at 120MHz.

2) Use the 120MHz to make the three clock signals the original design 
used. Constrain these with MAXDELAY to three BUFGs to distribute the clocks.

Do (1) if you're ever gonna add any new features to the design. Do (2) 
if you're planning on getting a job somewhere else soon! ;-)

Good luck, Syms.

Article: 143516
Subject: Netlist generation error
From: Smi <smi845@gmail.com>
Date: Wed, 14 Oct 2009 03:49:56 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi

AM working on Virtex 4 sx35 ML402 board. I have got DDc code form the
xilinix which they have developed for V5 and V4 SX25 so using sysgen
can we generate HDL n etlist for V4SX35 and can we do Hardware co
simulation for the same

If any body knows please let me know need it very urgently

Article: 143517
Subject: Power consumption of FF
From: Marc Jet <jetmarc@hotmail.com>
Date: Wed, 14 Oct 2009 05:20:20 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,

The datasheet isn't very clear to me, maybe you can help me out?

I want to to reduce the power consumption of a pipeline during idle
cycles.  The pipeline is implemented with flip flops on a S3A device.
I have two mechanisms available, and don't know which is better.

Mechanism #1:  Stop toggling input data, so output data will not
toggle either.

Mechanism #2:  Use the clock-enable pin.

The former is inherent to my design and I get it for free.  So my
question is whether the second method gives me any *additional* power
reduction, or just increases the routing contention?

I know that I can also use a BUFGMUX to reduce the power consumption
of the clock distribution itself, but this is not possible in the
problem case.  I'm already using that in a "deeper" power save mode.

Best regards,
Marc

Article: 143518
Subject: Re: Handwritten recognition using FPGA
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Wed, 14 Oct 2009 15:14:01 +0100
Links: << >>  << T >>  << A >>
>  Please advise me in any sense.


If you've any sense you'll pick a more realistic final year project!



Sorry to be blunt but from the questions you're asking there's no
way you'll get this finished.


Nial 



Article: 143519
Subject: Re: FPGA on-die LVDS termination issues
From: austin <austin@xilinx.com>
Date: Wed, 14 Oct 2009 07:57:45 -0700 (PDT)
Links: << >>  << T >>  << A >>
Jaap,

An RMA is NOT the right way to go.

Often people request an RMA when it is a technical problem, not an
issue of wanting to return a part for failure analysis.

GET OUT OF THE RMA queue, and get into the "solve the problem" queue
by entering a webcase.

We can't help you if you ask us to do the wrong things.

RMA process is to find a supposed fault on a part.  Given that faults
on V5 parts are running less than 1 ppm right now, unless this is just
one part with this problem, and you are sure that it is bad, do not
request an RMA.  Different people, different skills:  they can not
find the problem on your board, nor do they even know how to.


Email me at austin@xilinx.com with the details (company, names, any
case numbers) and I will help get this properly assigned.  If you are
in the RMA queue, I doubt that you will get any resolution until they
reassign this to the right people.

You never answered if the voltage swing is the same with the resistor,
and also with the LVDS termination.

You also never answered if you did the simulation of the resistor at
the receiver, or 19-20mm away from the receiver (always observing
10-20mm away from the receiver).  It could be you are just chasing
this small reflection, that isn't the problem at all!

Article: 143520
Subject: Re: Power consumption of FF
From: "Phil Jessop" <phil@noname.org>
Date: Wed, 14 Oct 2009 16:59:11 +0100
Links: << >>  << T >>  << A >>

"Marc Jet" <jetmarc@hotmail.com> wrote in message 
news:d52f14d7-36c5-4979-a76f-b54ac82eb3f8@x37g2000yqj.googlegroups.com...
> Hi,
>
> The datasheet isn't very clear to me, maybe you can help me out?
>
> I want to to reduce the power consumption of a pipeline during idle
> cycles.  The pipeline is implemented with flip flops on a S3A device.
> I have two mechanisms available, and don't know which is better.
>
> Mechanism #1:  Stop toggling input data, so output data will not
> toggle either.
>
> Mechanism #2:  Use the clock-enable pin.
>
> The former is inherent to my design and I get it for free.  So my
> question is whether the second method gives me any *additional* power
> reduction, or just increases the routing contention?
>
> I know that I can also use a BUFGMUX to reduce the power consumption
> of the clock distribution itself, but this is not possible in the
> problem case.  I'm already using that in a "deeper" power save mode.
>
> Best regards,
> Marc

All the clock enable pin does is switch the FF D input between the FF Q 
output or the data input, so either method has the same effect.




Article: 143521
Subject: What is the basis on flip-flop replaced by a latch
From: Weng Tianxiang <wtxwtx@gmail.com>
Date: Wed, 14 Oct 2009 10:23:57 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi,
I am interested in reading the post on "ASIC Prototyping using FPGA"
in which it mentioned that in ASIC, flip-flops are used to be replaced
with latchs.

I cound't understand it.

For example, a state machine. If FFs are used, after the next clock
pulse, FFs change status. If latches are used, I don't know how the
latches can be kept unchanged while code outside the state machine is
using the state information.

anyone would like to expain it more in details?

Thank you.

Weng

Article: 143522
Subject: Re: What is the basis on flip-flop replaced by a latch
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Wed, 14 Oct 2009 17:56:42 +0000 (UTC)
Links: << >>  << T >>  << A >>
Weng Tianxiang <wtxwtx@gmail.com> wrote:

< I am interested in reading the post on "ASIC Prototyping using FPGA"
< in which it mentioned that in ASIC, flip-flops are used to be replaced
< with latchs.
 
< I cound't understand it.
 
< For example, a state machine. If FFs are used, after the next clock
< pulse, FFs change status. If latches are used, I don't know how the
< latches can be kept unchanged while code outside the state machine is
< using the state information.
 
< anyone would like to expain it more in details?

I agree.  As far as I know, ASIC libraries use the same type
of edge triggered FF's as FPGAs.  Well, in the old days people
used to do strange things, like dynamic logic.  The 8080 and 8086
have minimum clock rates, as the registers will lose their
contents if you clock too slow.  When the Z80 came out with
static logic people were much happier.  (You can slow the clock
down and watch instructions execute one at a time.)

Also, with a two phase clock you can use simpler latches, but as
far as I know, that isn't the way current logic works.

-- glen

Article: 143523
Subject: Re: How to enter lower boundary character pair within Microsoft
From: rickman <gnuarm@gmail.com>
Date: Wed, 14 Oct 2009 11:14:12 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 12, 9:01=A0pm, Weng Tianxiang <wtx...@gmail.com> wrote:
> On Oct 12, 4:15=A0pm, rickman <gnu...@gmail.com> wrote:
>
>
>
> > On Oct 12, 2:14=A0pm, Weng Tianxiang <wtx...@gmail.com> wrote:
>
> > > On Oct 12, 11:08=A0am, Weng Tianxiang <wtx...@gmail.com> wrote:
>
> > > > On Oct 12, 9:07=A0am, rickman <gnu...@gmail.com> wrote:
>
> > > > > On Oct 11, 8:34=A0pm, Weng Tianxiang <wtx...@gmail.com> wrote:
>
> > > > > > Hi,
> > > > > > Please help.
>
> > > > > > I want to enclose the following equation data n/2**j with a low=
er
> > > > > > boundary character pair within Microsoft Office Word 2007.
>
> > > > > > 0 <=3D i <=3D low_boundary(n/2**j) ;
>
> > > > > > Thank you.
>
> > > > > > Weng
>
> > > > > Have you checked the insert symbol table? =A0If what you need is =
not
> > > > > there, try inserting a Microsoft Equation object. =A0Insert, Obje=
ct,
> > > > > Create New, Microsoft Equations 3.0 is the process in Word 2003.
>
> > > > > Rick
>
> > > > Hi Rick,
> > > > Thank you. I will try your method. The character pair is not within
> > > > the insert symbol table.
>
> > > > Weng- Hide quoted text -
>
> > > > - Show quoted text -
>
> > > Hi Rick,
> > > Sorry. Your method fails. The reason is when to insert a object, it
> > > needs you entering the characters which I don't know. If I know it, I
> > > don't have to use the Microsoft Equation.
>
> > > I think the pair is in some font which I need to know.
>
> > > Weng
>
> > I am not familiar with the term "low boundry". =A0Can you explain what
> > you mean by this? =A0What does the symbol look like?
>
> > When I use the Equation editor, I don't need to know *any*
> > characters. =A0It gives a toolbar that has various groups of known math
> > symbols such as a greek epsilon for summation or a pi for products.
> > It also has symbols for set theory which is where I find the term
> > "greatest lower bound" used. =A0That symbol is what I was taught was
> > called "cap" and looks like an upside down U. =A0Is that the symbol you
> > are looking for?
>
> > Rick- Hide quoted text -
>
> > - Show quoted text -
>
> Hi Rick,
> The integer lower boundary function: L(1.2) =3D 1, L(2.5) =3D 2, L(3.999)
> =3D 3.
>
> The function drops all data after the decimal point.
>
> The character is a 'L' in left side and a mirror image of 'L' along Y
> aixis is in the right side.
>
> Thank you.
>
> Weng

Yes, I was able to create a document with that symbol using the
equation editor in Word 2003.  I believe Open Office has a similar
feature, but I have not used it so far.  I've sent you an email with a
PDF of the word doc...  I guess I should have sent he word doc.  I'll
do that.

Rick

Article: 143524
Subject: Re: problem while receiving negative integer in microblaze
From: rickman <gnuarm@gmail.com>
Date: Wed, 14 Oct 2009 11:35:18 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 1:06=A0am, GrIsH <grishkun...@gmail.com> wrote:
>
> =A0 =A0I tried lots of data types and the conversion function but didn't
> get the result what i want......
> So iam going to put my problem straight forward to you.......your any
> idea will be gr8ly appreciated....
>
> Problem:
> 1. i need to count the pulses from quadrature encoder , value of count
> can be +ve as well as -ve depending upon direction of rotation of
> encoder...
> 2.This value is to be send to uBlaze....
> 3.I have a code for counting the encoder pulses that is included in
> the "user_logic"....
> 4.I have used "user software register" method of transferring data
> from my custom IP to uBlaze..
> 5.In phase of transferring the value of count from IP to uBlaze, the
> value of count must be mapped to IP2Bus_Data in SLV format data
> type....
> 6.Here i had defined "count " that counts value of pulses as integer
> and it should be converted SLV while transferring...
> 7.But this method didn't work as i expected while receiving data in
> uBlaze.....
> So...Plz suggest me in....
>
> what should be the data type of "count" that support +ve as well -ve
> numbers and supports operation count<=3Dcount+1/-1
> ??
> and how -ve values of count are represented in SLV format??

I don't know that your problem is one of converting data types.  You
clearly are placing the 16 bit data in an odd location on a 32 bit bus
and you have not told me that you are certain that this is correct.  I
have not worked with the uBlaze, so I'm not familiar with its data bus
numbering.  Is it 0 to N or N downto 0?

Have you simulated your design?  Before putting a design into the
chip, you should always simulate it first to get your logic right.
Then you can load it into the chip and see if it works with the real
hardware.

If you don't answer my questions and follow my advice, I can't help
you.

To answer your last question, the SLV signal type does not know
anything about numbers.  It is just an array, or a bus, of std_logic
signals.  There is no intended interpretation of this bus as a
number.  That is why the signed and unsigned types were developed.
They have an explicit representation of signed and unsigned numbers
respectively.  When you talk about "converting" a signed value to an
SLV, there really is no conversion.  It is more like just connecting
the wires.  So the SLV ends up receiving the exact same set of 1s and
0s that were in the signed signal, according to the way that they
connected.

I have never worked with SLV in the 0 to N direction.  To be honest, I
don't remember the details of how assignments are made between buses
using different directions of indexes.  I wouldn't expect any
surprises, but then I have no experience with them.  Is there a reason
that you are using 0 to N numbering instead of N downto 0 on your SLV
arrays?  This may not be a problem, but if you are stuck, why use this
uncommon convention?

But before changing anything you need to simulate your design.  That
means you will need a testbench which can be automatically generated
by many VHDL tools.  Then edit the resulting testbench file to add
stimulus to your inputs and you will be able to observe any signal in
the design in the waveform window.  That will let you see each and
every change of data in the path from the counter to the uBlaze CPU.

Rick



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