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 112875

Article: 112875
Subject: Re: Hardware in the loop simulation for Altera design
From: elf_ster@hotmail.com
Date: 30 Nov 2006 06:36:54 -0800
Links: << >>  << T >>  << A >>
Xilinx has these tools availalbe, called System Generator for DSP that
is a toolbox in Simulink environment.  JTAG cosim (for hardware
cosimulation) is one of the strongest reasons why customers use it.


jfh wrote:
> Hi,
>
> I imagine it would be pretty heavy in terms of communication but I have
> read and not investigated the fact that some hardware in the loop
> simulation was availbale when doing DSP functions with Simulink. I was
> wondering wether there wasn't a similar mechanism for other types of
> application.
>
> Best regards,
>
> JF Hasson
>
> Andy a =E9crit :
>
> > Co-simulation with real hardware would take a LOT of software work for
> > the API calls from the simulator to the hardware, and would require a
> > pretty good interface between the computer runninng the simulation and
> > the hardware.
> >
> > You  might try creating your testbenches such that they are
> > synthesizable, and load them into the chip too (assuming there's enough
> > room). You can't use assert statements or text io, but you could set
> > spare outputs that could be monitored with a scope or logic analyzer.
> >
> > With built-in wrap-around interfaces, the processor in the design could
> > run a lot of tests.
> >
> > Andy
> >
> >
> > jfh wrote:
> > > Hi,
> > >
> > > I am presently involved in a project dealing with a pretty large desi=
gn
> > > in a Stratix II GX chip with a Nios II processor. Is there anyway to
> > > perform hardware in the loop simulation where the Nios II would be
> > > running on a board while modelsim is simulating the design ? Does
> > > anyone have an advice as to how simulation times could be improved wh=
en
> > > involving Nios II processor ?
> > >=20
> > > Best regards,
> > >=20
> > > JF Hasson


Article: 112876
Subject: Re: So who has used Lattice FPGAs recently?
From: "Gabor" <gabor@alacron.com>
Date: 30 Nov 2006 06:42:53 -0800
Links: << >>  << T >>  << A >>

PeteS wrote:
> Martin Thompson wrote:
> > burn.sir@gmail.com writes:
> >
> > {about Lattice}
> >> They use Synplify (and Precision) for synthesis. Not as good as Quartus
> >> or XST, but it does the job. Might need some tweaking however when
> >> inferring memories.
> >>
> >
> > Can you provide more details?  My experience to date has been that
> > Synplify is better than XST, especially on runtime, and almost all the
> > time on size & speed.
> >
> > Cheers,
> > Martin
> >
>
> Thanks for the answers, chaps.
>
> I can now be a little more confident of using the devices. I have the
> time to do a migration (well, a clean new design as it happens) if I
> start now, and most of that extra time should (hopefully) be merely tool
> related.
>
> I'll talk to my friendly vendor about pricing etc., tomorrow.
>
> That doesn't mean I won't use the other brands; in this particular case
> it may make more sense to use brand L.
>
> Cheers
>
> PeteS

I've been using Xilinx parts for some time, and started using the ECP
series from Lattice recently.  So far there have been some bumps in
the implementation software (crash during P&R, timing anomalies),
but the latest tools version appears to be more solid.  There are still
issues with "TRACE" (timing analysis) and related clocks.  For instance
when I have a 200 MHz clock at 0 phase and another at 270 degrees,
I would expect a signal traveling from the 0 phase domain to the
270 degree domain to have 3/4 clock period or 3.75 nS from
clock edge to clock edge (less uncertainties, etc.).  TRACE seems
to think the signal should be allowed 1 3/4 periods or 8.75nS.
Additionally if I place a "MULTICYCLE" constraint from the 0
phase clock to the 270 degrees phase clock, it is ignored and
the 8.75nS constraint is still used.  In my case the 270 degree
clock is for output registers only, so I don't need a real
PERIOD constraint on it.  Thus I managed to trick the TRACE
tool into giving me the 3.75nS clock to clock path by setting
the PERIOD to 2.143nS on the 270 degree clock.  Strangely
the tools seem happy with this even though it should know that
the two clocks should be at the same frequency.

Also I've noticed the documentation is still a bit weak, but getting
better.  It's currently a mix of HTML and .pdf files.  Information on
library components is spread among a number of technical notes,
although a complete listing (without full details) is available for
each part series.

If you've worked with Xilinx you'll recognize the tool flow because
both tools were developed at NeoCAD.  Lattice's GUI has a lot
of similarity to ISE, with a process flow window.  It took me a
while to find out that not all settings in the flow can be reached
by right clicking an object and selecting properties.  TRACE
parameters are only available through the menu bar.

For programming, ispVM seems simpler to use than iMPACT.  Once
you get the hang of it you'll like the features like being able to have
more than one setup open at a time.

I can't really comment on Symplify vs. XST, because I'm only
working on new designs with Lattice, so I didn't really compare
apples to apples.  My gut feeling is that it's at least as good
as the recent release of XST, which is already much improved
over the version 6 XST.

If you don't already have a non-branded ModelSim seat, the
base tools (not free web version, but still inexpensive) come
with a Lattice-branded ModelSim license that doesn't have
the annoying slow-down you get with the X-brand license.
I'm assuming it nails you by stopping to work at some
design size, but I haven't run into that yet.

Finally I think you'll find that Lattice is very aggressive with
pricing.  Like I said we've been using Xilinx for some time
now, and we don't pay the web price for their parts.  Still
for the same functionality it seems Lattice can offer significant
savings over Xilinx.


Article: 112877
Subject: Can I see the detail timing parameter by Quartus II tools?
From: "fl" <rxjwg98@gmail.com>
Date: 30 Nov 2006 06:45:00 -0800
Links: << >>  << T >>  << A >>
Hi,
I am learning FPGA by a DSP book (1st edition) written by Uew
Meyer_Baese. There is an example about 16 bit adder with detailed
timing parameters, such as: tco=0.2 ns, tcgen=1.5ns tcico=0.3ns,
tsamerow=2.9ns, tLUT=1.9ns and tsu=2.7ns. The fmax of that 16 bit adder
is 74.6 MHz I think it is EPF10K20RC240-4 from the context.

In my practice project, I can only see the IC(interconect) and CELL
delay timing parameters from the timing closure floorplan. Because the
fmax I get is lower (only 59.52 MHz from timing analyzer) than that in
the book, I want to know the difference. The purpose is I want to be
ensure whether I get the fast 16 bit adder. BTW, I post my code below.
Because the timing parameters give tco etc., I use register at the
input and output ports.

Could you help me? Thanks in advance.



LIBRARY lpm;
USE lpm.lpm_components.ALL;

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;

ENTITY add16 IS
  GENERIC (WIDTH  : INTEGER := 16; -- Total bit width
           ONE    : INTEGER := 1); -- 1 bit for carry reg.
  PORT (x,y : IN  STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
                                                  -- Inputs
        sum : OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
		clk : IN  STD_LOGIC);
END add16;

ARCHITECTURE flex OF add16 IS
  SIGNAL sum0, q2, q1                   -- LSBs of inputs
                     : STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
BEGIN
  reg_1: lpm_ff           -- Save LSBs of x+y and carry
         GENERIC MAP ( LPM_WIDTH => WIDTH )
         PORT MAP ( data => x, q => q1,clock => clk );
  reg_2: lpm_ff
         GENERIC MAP ( LPM_WIDTH => WIDTH )
         PORT MAP ( data => y, q => q2, clock => clk );
-------------- First stage of the adder  ------------------
  add_1: lpm_add_sub                 -- Add LSBs of x and y
         GENERIC MAP ( LPM_WIDTH => WIDTH,
                       LPM_REPRESENTATION => "UNSIGNED",
                       LPM_DIRECTION => "ADD")
         PORT MAP ( dataa => q1, datab => q2,
                    result => sum0);
  reg_3: lpm_ff
         GENERIC MAP ( LPM_WIDTH => WIDTH )
         PORT MAP ( data => sum0, q => sum, clock => clk );

END flex;


Article: 112878
Subject: Thesis
From: "awa" <ameliaw.azman@gmail.com>
Date: 30 Nov 2006 07:14:33 -0800
Links: << >>  << T >>  << A >>
Hi,

I am not sure if anyone has done this here.

I am looking for anyone who could share their thesis especially on
image processing on fpga/dsp/asic. 

Thank you.


Article: 112879
Subject: Re: opb master kills linux?
From: "Anonymous" <someone@microsoft.com>
Date: Thu, 30 Nov 2006 15:26:01 GMT
Links: << >>  << T >>  << A >>

"John Williams" <jwilliams@itee.uq.edu.au> wrote in message
news:newscache$j4li9j$qze$1@lbox.itee.uq.edu.au...
> Hi Clark,
>
> Anonymous wrote:
>
> > I have a xilinx v4 project running mv linux 2.6.10. I have a custom
> > peripheral I made that includes DMA on the opb bus and is therefore
> > master/slave. The SDRAM that the linux .elf file loads to/boots from is
also
> > on the opb. Unless I disconnect the custom peripheral linux dies at
> > "uncompressing linux...".
> >
> > I believe this means that there are data errors from the sdram, but
> > everything works fine stand-alone. I know the dma isn't running, for
> > example, and I've made sure to reset every other register related to
that
> > peripheral but linux just won't boot unless I disconnect it.
>
> Can you run the auto-generated TestApp_Memory sucessfully when your
peripheral
> is in the system?
>
> More broadly, are you able to confirm that your core is behaving itself on
the
> OPB bus?  Either through simulation or by running standalone testslike
> TestApp_Memory etc?
>
> John

Yes, all my stand alone applications work fine including one that DMAs data
from the offending peripheral to the main memory where the linux .elf is
loaded.

Thanks,
Clark



Article: 112880
Subject: Re: Thesis
From: "wallge" <wallge@gmail.com>
Date: 30 Nov 2006 07:53:47 -0800
Links: << >>  << T >>  << A >>
whats your project?
you can search through lots of online theses
through your university library system.
I can send you mine if you like,
whats your email?
I can answer some questions too...
Just cite my work if you use it.

my thesis is titled
EMBEDDED PATTERN RECOGNITION WITH
FIELD PROGRAMMABLE GATE ARRAYS

thanks,

--geoff
wallge@gmail.com


awa wrote:
> Hi,
>
> I am not sure if anyone has done this here.
>
> I am looking for anyone who could share their thesis especially on
> image processing on fpga/dsp/asic. 
> 
> Thank you.


Article: 112881
Subject: Re: wanted: FPGA programmer
From: "wallge" <wallge@gmail.com>
Date: 30 Nov 2006 07:55:45 -0800
Links: << >>  << T >>  << A >>
I am interested in this...
Send me more information and I will see
if I can be of service...



--geoff
wallge@gmail.com


aiiadict@gmail.com wrote:
> looking for someone to program an FPGA to interface with
> a mitsubishi camera chip...  definitely not top dollar, but if
> you want to practice your skills and make a few bucks, send
> an email.
> 
> 
> R


Article: 112882
Subject: Re: Can I see the detail timing parameter by Quartus II tools?
From: dkarchmer@gmail.com
Date: 30 Nov 2006 08:01:46 -0800
Links: << >>  << T >>  << A >>

After doing a full compile, open the "Timing Analysis" report folder.
Under that report, look for the "Clock Setup: <name>" panel where
<name> is the name of you clock signal. From that report, select any
interested row and then using the right mouse button (button-2), select
"List Path". This command will report the full path detail in the form
of a message in your message window. You can do this operation on any
of the other timing report panels.

Also note that when you did the full compiled, the Classic Timing
Analyzer automatically did a List path operation on the worst case
Fmax, Tsu, Th and Tco paths.

BTW, make sure you have a timing constraint if you want the fitter to
do its best. Go to the "Timing Analysis Settings" panel and create a
clock requirement for your clock. For example, it can be the 75MHz the
book gives.

For more, see:

http://www.altera.com/support/software/quartus2/timing/sof-qts-timing.html

-David

On Nov 30, 6:45 am, "fl" <rxjw...@gmail.com> wrote:
> Hi,
> I am learning FPGA by a DSP book (1st edition) written by Uew
> Meyer_Baese. There is an example about 16 bit adder with detailed
> timing parameters, such as: tco=0.2 ns, tcgen=1.5ns tcico=0.3ns,
> tsamerow=2.9ns, tLUT=1.9ns and tsu=2.7ns. The fmax of that 16 bit adder
> is 74.6 MHz I think it is EPF10K20RC240-4 from the context.
>
> In my practice project, I can only see the IC(interconect) and CELL
> delay timing parameters from the timing closure floorplan. Because the
> fmax I get is lower (only 59.52 MHz from timing analyzer) than that in
> the book, I want to know the difference. The purpose is I want to be
> ensure whether I get the fast 16 bit adder. BTW, I post my code below.
> Because the timing parameters give tco etc., I use register at the
> input and output ports.
>
> Could you help me? Thanks in advance.
>
> LIBRARY lpm;
> USE lpm.lpm_components.ALL;
>
> LIBRARY ieee;
> USE ieee.std_logic_1164.ALL;
> USE ieee.std_logic_arith.ALL;
>
> ENTITY add16 IS
>   GENERIC (WIDTH  : INTEGER := 16; -- Total bit width
>            ONE    : INTEGER := 1); -- 1 bit for carry reg.
>   PORT (x,y : IN  STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
>                                                   -- Inputs
>         sum : OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
>                 clk : IN  STD_LOGIC);
> END add16;
>
> ARCHITECTURE flex OF add16 IS
>   SIGNAL sum0, q2, q1                   -- LSBs of inputs
>                      : STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> BEGIN
>   reg_1: lpm_ff           -- Save LSBs of x+y and carry
>          GENERIC MAP ( LPM_WIDTH => WIDTH )
>          PORT MAP ( data => x, q => q1,clock => clk );
>   reg_2: lpm_ff
>          GENERIC MAP ( LPM_WIDTH => WIDTH )
>          PORT MAP ( data => y, q => q2, clock => clk );
> -------------- First stage of the adder  ------------------
>   add_1: lpm_add_sub                 -- Add LSBs of x and y
>          GENERIC MAP ( LPM_WIDTH => WIDTH,
>                        LPM_REPRESENTATION => "UNSIGNED",
>                        LPM_DIRECTION => "ADD")
>          PORT MAP ( dataa => q1, datab => q2,
>                     result => sum0);
>   reg_3: lpm_ff
>          GENERIC MAP ( LPM_WIDTH => WIDTH )
>          PORT MAP ( data => sum0, q => sum, clock => clk );
> 
> END flex;


Article: 112883
Subject: Re: Xilinx FIFOs round 2 - BUG-BUG in MPMC2
From: "leevv" <leevv@mail.ru>
Date: 30 Nov 2006 08:18:35 -0800
Links: << >>  << T >>  << A >>

Antti wrote:
> leevv schrieb:
>
> > Hi Antti,
> >  What ver of MPMC2 are you using?
> > They fix OPB related bug in the october release.
> >
> release 10202006
> october 20th?
>
> BUG : PRESENT, OPB just doesnt work
>
> Antti

We had the problem with 2 ppc trying to share opb bus through the
internal PLB to OPB bridge.
On the august mpmc2 release, PPCs just hang when had simultaneous
access to the same OPB peripheral.

We used workaround with standard external PLB2OPB bridge.
THen we test new version (october) and found that this problem gone.
But we didn't switch our design to the new core and still using august
ver with workaround (don't want to introduce new bugs)

I found that mpmc2 design team is more or less cooperative when you
report the bugs.
Lately they reguire to open webcase, but before I just sent them email
directly and they did respond quickly.


Article: 112884
Subject: Re: Can I see the detail timing parameter by Quartus II tools?
From: "wallge" <wallge@gmail.com>
Date: 30 Nov 2006 08:18:40 -0800
Links: << >>  << T >>  << A >>
fl,

Meyer Baese was my teacher at FSU, and
he taught my class using the DSP w/ FPGAs book he wrote.
Its a small world...

If you want to run an adder really fast you can instantiate an adder
component
from the altera mega function tool within the arithmetic components
subsection.
>From inside the megafunction wizard GUI you can select the level of
pipelining
within the adder. So you can select anywhere from 1 to N clock cycles
of delay.
The more delay, the faster you can clock the adder.

As far as timing parameters, you can see all the timing (slack, etc)
from one critical path to another
within the timing subsection of the compilation report after you
compile your design in quartus II.


--geoff

fl wrote:
> Hi,
> I am learning FPGA by a DSP book (1st edition) written by Uew
> Meyer_Baese. There is an example about 16 bit adder with detailed
> timing parameters, such as: tco=0.2 ns, tcgen=1.5ns tcico=0.3ns,
> tsamerow=2.9ns, tLUT=1.9ns and tsu=2.7ns. The fmax of that 16 bit adder
> is 74.6 MHz I think it is EPF10K20RC240-4 from the context.
>
> In my practice project, I can only see the IC(interconect) and CELL
> delay timing parameters from the timing closure floorplan. Because the
> fmax I get is lower (only 59.52 MHz from timing analyzer) than that in
> the book, I want to know the difference. The purpose is I want to be
> ensure whether I get the fast 16 bit adder. BTW, I post my code below.
> Because the timing parameters give tco etc., I use register at the
> input and output ports.
>
> Could you help me? Thanks in advance.
>
>
>
> LIBRARY lpm;
> USE lpm.lpm_components.ALL;
>
> LIBRARY ieee;
> USE ieee.std_logic_1164.ALL;
> USE ieee.std_logic_arith.ALL;
>
> ENTITY add16 IS
>   GENERIC (WIDTH  : INTEGER := 16; -- Total bit width
>            ONE    : INTEGER := 1); -- 1 bit for carry reg.
>   PORT (x,y : IN  STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
>                                                   -- Inputs
>         sum : OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> 		clk : IN  STD_LOGIC);
> END add16;
>
> ARCHITECTURE flex OF add16 IS
>   SIGNAL sum0, q2, q1                   -- LSBs of inputs
>                      : STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> BEGIN
>   reg_1: lpm_ff           -- Save LSBs of x+y and carry
>          GENERIC MAP ( LPM_WIDTH => WIDTH )
>          PORT MAP ( data => x, q => q1,clock => clk );
>   reg_2: lpm_ff
>          GENERIC MAP ( LPM_WIDTH => WIDTH )
>          PORT MAP ( data => y, q => q2, clock => clk );
> -------------- First stage of the adder  ------------------
>   add_1: lpm_add_sub                 -- Add LSBs of x and y
>          GENERIC MAP ( LPM_WIDTH => WIDTH,
>                        LPM_REPRESENTATION => "UNSIGNED",
>                        LPM_DIRECTION => "ADD")
>          PORT MAP ( dataa => q1, datab => q2,
>                     result => sum0);
>   reg_3: lpm_ff
>          GENERIC MAP ( LPM_WIDTH => WIDTH )
>          PORT MAP ( data => sum0, q => sum, clock => clk );
> 
> END flex;


Article: 112885
Subject: Re: DVI clock generation
From: Austin Lesea <austin@xilinx.com>
Date: Thu, 30 Nov 2006 08:20:00 -0800
Links: << >>  << T >>  << A >>
Symon,

First, you are correct that the power is spread over a wider frequency
band by 'spread spectrum', and is in no way reduced (the same power,
either way).  It that sense, it is a sham, as the noise floor just
rises.  Or, if you have a wideband channel, the spread spectrum is just
a real pain, as it is all there, audible (or visible), interfering.
Most of the spread spectrum clock generators use a triangular wideband
FM modulation, so they are really very annoying if your receiver is wide
enough to hear it (it just howls).  "True" ss would be a psuedo noise
signal, which is less annoying, but still interference!  These ss clock
generatorss do "fool" the FCC and CE test setups into believing they are
"not there."  As far as a police or fire radio is concerned, they are
not 'there', and will not interfere.

Second, Xilinx was always careful to note that specific implementations
of PLLs might not deliver all the benefits that should be there, due to
limitations with sharing common ground, and power, adjacent circuit
interference, etc.  Not that we are able to be immune from everything,
but at least by studying the competition, and knowing the weaknesses, we
could set the goal to exceed their performance (which we did).

Third, the "normal" spread spectrum is unable to cause a DCM to lose
lock, or prevent it from locking (as you so rightly point out).  We just
did not want to have to characterize a dozen or so spread spectrum clock
generators and our DCM to PROVE it.  Since the 300 ps spec applies to
the clock edges that are critical (which are 6 clocks apart in V2, V2P,
and 36 clocks apart in V4, V5), it is tough to be absolutely sure that
in 36 clock, 300 ps will never accrue.  Are you sure?  If so, then use
our DCM with your spread spectrum clock.

Austin

PS:

Drove by a hybrid electric vehicle yesterday, and it completely wiped
out a low power distant FM radio station (went from full quieting stereo
music to loud hash and buzzing!).  Cars do not have to meet FCC or CE
rules.  A real sham. (and a shame)

Article: 112886
Subject: Re: Can I see the detail timing parameter by Quartus II tools?
From: "fl" <rxjwg98@gmail.com>
Date: 30 Nov 2006 08:39:32 -0800
Links: << >>  << T >>  << A >>
Thank you very much. The problem is that I cannot get the claimed
performance of the example in that book. For the add_1p.vhd, 15-bit
(which said it could be 97.08 MHz in the book), I can only get 69.87
MHz fmax. In this example, I don't modify the code at all. Even I add
the timing constraint, the result is the same. It is really bizarre.
For the post code, it was an exercise with the given results. I don't
know where it is wrong. Anyone could test the best performance of the
post code?


wallge wrote:
> fl,
>
> Meyer Baese was my teacher at FSU, and
> he taught my class using the DSP w/ FPGAs book he wrote.
> Its a small world...
>
> If you want to run an adder really fast you can instantiate an adder
> component
> from the altera mega function tool within the arithmetic components
> subsection.
> >From inside the megafunction wizard GUI you can select the level of
> pipelining
> within the adder. So you can select anywhere from 1 to N clock cycles
> of delay.
> The more delay, the faster you can clock the adder.
>
> As far as timing parameters, you can see all the timing (slack, etc)
> from one critical path to another
> within the timing subsection of the compilation report after you
> compile your design in quartus II.
>
>
> --geoff
>
> fl wrote:
> > Hi,
> > I am learning FPGA by a DSP book (1st edition) written by Uew
> > Meyer_Baese. There is an example about 16 bit adder with detailed
> > timing parameters, such as: tco=0.2 ns, tcgen=1.5ns tcico=0.3ns,
> > tsamerow=2.9ns, tLUT=1.9ns and tsu=2.7ns. The fmax of that 16 bit adder
> > is 74.6 MHz I think it is EPF10K20RC240-4 from the context.
> >
> > In my practice project, I can only see the IC(interconect) and CELL
> > delay timing parameters from the timing closure floorplan. Because the
> > fmax I get is lower (only 59.52 MHz from timing analyzer) than that in
> > the book, I want to know the difference. The purpose is I want to be
> > ensure whether I get the fast 16 bit adder. BTW, I post my code below.
> > Because the timing parameters give tco etc., I use register at the
> > input and output ports.
> >
> > Could you help me? Thanks in advance.
> >
> >
> >
> > LIBRARY lpm;
> > USE lpm.lpm_components.ALL;
> >
> > LIBRARY ieee;
> > USE ieee.std_logic_1164.ALL;
> > USE ieee.std_logic_arith.ALL;
> >
> > ENTITY add16 IS
> >   GENERIC (WIDTH  : INTEGER := 16; -- Total bit width
> >            ONE    : INTEGER := 1); -- 1 bit for carry reg.
> >   PORT (x,y : IN  STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> >                                                   -- Inputs
> >         sum : OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> > 		clk : IN  STD_LOGIC);
> > END add16;
> >
> > ARCHITECTURE flex OF add16 IS
> >   SIGNAL sum0, q2, q1                   -- LSBs of inputs
> >                      : STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> > BEGIN
> >   reg_1: lpm_ff           -- Save LSBs of x+y and carry
> >          GENERIC MAP ( LPM_WIDTH => WIDTH )
> >          PORT MAP ( data => x, q => q1,clock => clk );
> >   reg_2: lpm_ff
> >          GENERIC MAP ( LPM_WIDTH => WIDTH )
> >          PORT MAP ( data => y, q => q2, clock => clk );
> > -------------- First stage of the adder  ------------------
> >   add_1: lpm_add_sub                 -- Add LSBs of x and y
> >          GENERIC MAP ( LPM_WIDTH => WIDTH,
> >                        LPM_REPRESENTATION => "UNSIGNED",
> >                        LPM_DIRECTION => "ADD")
> >          PORT MAP ( dataa => q1, datab => q2,
> >                     result => sum0);
> >   reg_3: lpm_ff
> >          GENERIC MAP ( LPM_WIDTH => WIDTH )
> >          PORT MAP ( data => sum0, q => sum, clock => clk );
> > 
> > END flex;


Article: 112887
Subject: Anyone use Xilinx ppc405 profiling tools?
From: "Alan Nishioka" <alan@nishioka.com>
Date: 30 Nov 2006 08:49:33 -0800
Links: << >>  << T >>  << A >>
bbethlehem wrote:
> I am also trying to get profiling to work using the PPC405.  I have
> read the app note, but I am still rather confused....it says we can use
> the PIT timer, but do we still need to do all the initialization of
> interrupts and timers? If so, did you just do this in your application?
>  Do you have any sample code I could look at?
>


I did this a while ago, so I don't remember all the details.  Here are
my notes on the subject:

1. Software Platform Settings: enable_intrusive_sw_profiling
2. Recompile bsp
3. Compiler Options: -O1, Other Compiler Options: -pg
4. Disable interrupts, poll_next_frame
5. Change top of mem mpeg.ld to 0x1c00000
6. Recompile application

xmd: profile -config profile_mem 0x1c00000
xmd: dow ppc405_i/code/system.elf
xmd: run
xmd: profile

% gprof ppc405_i/code/system.elf gmon.out

-O3: profile doesn't work
-O2: mmc problems?
-O1: seems to work.

And this is from memory:
1.  I had to reserve memory at 0x1c00000 (the top of my sdram) to store
profile data.
2.  The PIT interrupt is initialized automatically by code inserted by
xilinx profiling software.
3.  I disabled my interrupt because the init code conflicted with
xilinx profiling code.  I probably could have re-enabled my interrupt,
but I didn't need to.
4.  My only code change was to disable my interrupt.

Alan Nishioka


Article: 112888
Subject: Re: Xilinx FIFOs round 2 - BUG-BUG in MPMC2
From: "Antti Lukats" <antti@openchip.org>
Date: Thu, 30 Nov 2006 17:57:32 +0100
Links: << >>  << T >>  << A >>
"leevv" <leevv@mail.ru> schrieb im Newsbeitrag 
news:1164903515.526347.126760@l12g2000cwl.googlegroups.com...
>
> Antti wrote:
>> leevv schrieb:
>>
>> > Hi Antti,
>> >  What ver of MPMC2 are you using?
>> > They fix OPB related bug in the october release.
>> >
>> release 10202006
>> october 20th?
>>
>> BUG : PRESENT, OPB just doesnt work
>>
>> Antti
>
> We had the problem with 2 ppc trying to share opb bus through the
> internal PLB to OPB bridge.
> On the august mpmc2 release, PPCs just hang when had simultaneous
> access to the same OPB peripheral.
>
> We used workaround with standard external PLB2OPB bridge.
> THen we test new version (october) and found that this problem gone.
> But we didn't switch our design to the new core and still using august
> ver with workaround (don't want to introduce new bugs)
>
> I found that mpmc2 design team is more or less cooperative when you
> report the bugs.
> Lately they reguire to open webcase, but before I just sent them email
> directly and they did respond quickly.
>
I wanted to have simplest system, eg the MPMC2 is configured with
1 port, OPB, and is used as main memory to MicroBlaze

this is really simple config, and as per datasheet defenetly allowed config 
options.
but - the OPB PIM just doesnt work, because of the FIFO bug...

Antti 



Article: 112889
Subject: Re: FPGA application field
From: "Robin Bruce" <robin.bruce@gmail.com>
Date: 30 Nov 2006 09:21:20 -0800
Links: << >>  << T >>  << A >>
"A FPGA is nothing more than a prototyping platform"

This an easily falsifiable statement. I've actually never knowlingly
met anyone who has transferred an FPGA design to an ASIC. I'm not
saying it doesn't happen a lot, just that there's obviously a whole
community of FPGA users of whom you're not aware.

Resources for those interested in reconfigurable supercomputing:

Sign up to the openfpga mailing list: http://www.openfpga.org/

check out the presentations from RSSI from the past two years:

http://www.ncsa.uiuc.edu/Conferences/RSSI/agenda.html
http://www.ncsa.uiuc.edu/Conferences/RSSI/2005/presentations.html

Come to Manchester in March:

http://www.mc.manchester.ac.uk/services/courses/fpga/2007

Reconfigurable HPC, it's all about programming... The fabric is capable
enough (though double-precision FPUs instead of 18x25 mults would be
nice)

Cheers,

Robin

On Nov 29, 8:25 pm, Ralf Hildebrandt <Ralf-Hildebra...@gmx.de> wrote:
> tenteric schrieb:
>
> > I need to be more precise - my passion is just very fast computation -
> > I'm very interesting in implementing any math algorithm thus it will
> > work as fast as it can.A FPGA is nothing more than a prototyping platform. Anything you can
> build as digital hardware you can map to an FPGA. You just don't need to
> manufacture wafers with your chips, bond and house them.
> 
> Ralf


Article: 112890
Subject: Xilinx XPS - OPB - EMC software halts. Someting fishy
From: "Guy_FPGA" <guybye@hotmail.com>
Date: 30 Nov 2006 09:40:45 -0800
Links: << >>  << T >>  << A >>
Hello there..
Hope that someone would help me. I am using the the OPB_EMC ip to read
and write from a flash memory.
The problem is that if on the following code "XIo_Out16
(XPAR_OPB_FLASH_CNRTLR_MEM0_BASEADDR + address.long_word,
data_word.word)"
the variable data_word is 0x400000 or 0x700000 the software halts in
that particular line. I got into this conclusion after running in debug
mode GDB. As far as I understand the even if no flash memory is
connected, under no cirumstences the opb_ems should halt the microblaze
processor.

Please note that the rest of the number doesn't matter (the problem
occurs even if the Lsbs are different then '0')

Has anyone encounter such a problem??

thanks and best regurds.

BTW - the XPAR_OPB_FLASH_CNRTLR_MEM0_BASEADDR  is 0x24000000 and the
max addres is 0x25ffffff so the is no address conflict.

Guy Zur


Article: 112891
Subject: Re: FPGA application field
From: Austin Lesea <austin@xilinx.com>
Date: Thu, 30 Nov 2006 09:40:46 -0800
Links: << >>  << T >>  << A >>
Robin,

I have to laugh.  Yes, some designs do get migrated to ASICs.

As a FPGA designer/supplier, and someone who talks to customers (I
created the customer escalation procedures here 6 years ago), I got to
hear all the bad experiences which customers have had in trying to
create an ASIC from a working FPGA.

Timing closure almost always causes a mask revision, and IO problems
rate as the second highest cause of mask re-spins.  It doesn't even
matter whose FPGA they are trying to convert, or even if they are trying
to go a "guaranteed" route:  they all fail more often than not.

[Advertisement:  And now with EasyPath(tm), there is even less reason to
torture yourself.  Just freeze your design, and pay less.]

But, there are those who realize that an ASIC will cost less (their
volume turns out to be much larger than they ever anticipated), and for
them, they will/must continue to do the conversions.

They will continue to inform us that their business will "go away" as of
a certain date, and we will continue to see them buying their
significant quantities well after the date they gave us (indicating they
are waiting for their mask revisions to actually work).

Austin

Article: 112892
Subject: Re: FPGA application field
From: Ralf Hildebrandt <Ralf-Hildebrandt@gmx.de>
Date: Thu, 30 Nov 2006 18:43:14 +0100
Links: << >>  << T >>  << A >>
Robin Bruce schrieb:
> "A FPGA is nothing more than a prototyping platform"
> 
> This an easily falsifiable statement. I've actually never knowlingly
> met anyone who has transferred an FPGA design to an ASIC. I'm not
> saying it doesn't happen a lot, just that there's obviously a whole
> community of FPGA users of whom you're not aware.

Ok - I knew that this generalisation is like stepping into a nest of
hornets, but it is one of the shortest answers you can give to describe
what a FPGA is good for - especially if one does not know how much
knowledge has the OP.

Ralf

Article: 112893
Subject: Re: Aurora 2.4 error
From: "Roger" <enquiries@rwconcepts.co.uk>
Date: Thu, 30 Nov 2006 18:43:22 -0000
Links: << >>  << T >>  << A >>
Thanks, the device family in V2Pro and the configuration is 1 lane, 4 byte, 
framing with version 8.2 of ISE. I hope this help.

Rog.

"Hemanth" <hpsham@gmail.com> wrote in message 
news:1164645316.119115.299830@j72g2000cwa.googlegroups.com...
> Could you list which device family are you targeting, what was the
> configuration ( # of lanes, 2/4 bytes, streaming/framing etc ) you
> choose to generate the design and the ISE tool's version which is
> throwing this error? With these details I might be able to answer your
> question.
>
>
> Roger wrote:
>> When I try to Implement a design with an Aurora core (v2.4) in it I get 
>> the
>> following error:
>>
>> ERROR:NgdBuild:753 - Line 68 in 'toplevel.ucf': Could not find 
>> instance(s)
>> 
>> 'Inst_aurora_sample/aurora_module_i/lane_0_phase_align_i/phase_align_flops_r*
>>    ' in the design.  To suppress this error specify the correct instance
>> name or
>>    remove the constraint.
>>
>> The path to the FFs is correct.
>>
>> If I comment the following lines in "phase_align.vhd", it all seems to 
>> work
>> OK:
>>
>> -- Attribute Declaration
>> attribute KEEP_HIERARCHY : string;
>> attribute KEEP_HIERARCHY of RTL: architecture is "true";
>>
>> Does anyone know what's going on here please?
>>
>> TIA,
>>
>> Rog.
> 



Article: 112894
Subject: Re: Can I see the detail timing parameter by Quartus II tools?
From: "wallge" <wallge@gmail.com>
Date: 30 Nov 2006 11:47:48 -0800
Links: << >>  << T >>  << A >>
send meyer-baese an email saying you bought his book...
and ask him your question...
you can find his email on the faculty page from the FSU
college of engineering page:

http://www.eng.fsu.edu/index_noright.php?page=faculty_staff_directory


fl wrote:
> Thank you very much. The problem is that I cannot get the claimed
> performance of the example in that book. For the add_1p.vhd, 15-bit
> (which said it could be 97.08 MHz in the book), I can only get 69.87
> MHz fmax. In this example, I don't modify the code at all. Even I add
> the timing constraint, the result is the same. It is really bizarre.
> For the post code, it was an exercise with the given results. I don't
> know where it is wrong. Anyone could test the best performance of the
> post code?
>
>
> wallge wrote:
> > fl,
> >
> > Meyer Baese was my teacher at FSU, and
> > he taught my class using the DSP w/ FPGAs book he wrote.
> > Its a small world...
> >
> > If you want to run an adder really fast you can instantiate an adder
> > component
> > from the altera mega function tool within the arithmetic components
> > subsection.
> > >From inside the megafunction wizard GUI you can select the level of
> > pipelining
> > within the adder. So you can select anywhere from 1 to N clock cycles
> > of delay.
> > The more delay, the faster you can clock the adder.
> >
> > As far as timing parameters, you can see all the timing (slack, etc)
> > from one critical path to another
> > within the timing subsection of the compilation report after you
> > compile your design in quartus II.
> >
> >
> > --geoff
> >
> > fl wrote:
> > > Hi,
> > > I am learning FPGA by a DSP book (1st edition) written by Uew
> > > Meyer_Baese. There is an example about 16 bit adder with detailed
> > > timing parameters, such as: tco=0.2 ns, tcgen=1.5ns tcico=0.3ns,
> > > tsamerow=2.9ns, tLUT=1.9ns and tsu=2.7ns. The fmax of that 16 bit adder
> > > is 74.6 MHz I think it is EPF10K20RC240-4 from the context.
> > >
> > > In my practice project, I can only see the IC(interconect) and CELL
> > > delay timing parameters from the timing closure floorplan. Because the
> > > fmax I get is lower (only 59.52 MHz from timing analyzer) than that in
> > > the book, I want to know the difference. The purpose is I want to be
> > > ensure whether I get the fast 16 bit adder. BTW, I post my code below.
> > > Because the timing parameters give tco etc., I use register at the
> > > input and output ports.
> > >
> > > Could you help me? Thanks in advance.
> > >
> > >
> > >
> > > LIBRARY lpm;
> > > USE lpm.lpm_components.ALL;
> > >
> > > LIBRARY ieee;
> > > USE ieee.std_logic_1164.ALL;
> > > USE ieee.std_logic_arith.ALL;
> > >
> > > ENTITY add16 IS
> > >   GENERIC (WIDTH  : INTEGER := 16; -- Total bit width
> > >            ONE    : INTEGER := 1); -- 1 bit for carry reg.
> > >   PORT (x,y : IN  STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> > >                                                   -- Inputs
> > >         sum : OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> > > 		clk : IN  STD_LOGIC);
> > > END add16;
> > >
> > > ARCHITECTURE flex OF add16 IS
> > >   SIGNAL sum0, q2, q1                   -- LSBs of inputs
> > >                      : STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);
> > > BEGIN
> > >   reg_1: lpm_ff           -- Save LSBs of x+y and carry
> > >          GENERIC MAP ( LPM_WIDTH => WIDTH )
> > >          PORT MAP ( data => x, q => q1,clock => clk );
> > >   reg_2: lpm_ff
> > >          GENERIC MAP ( LPM_WIDTH => WIDTH )
> > >          PORT MAP ( data => y, q => q2, clock => clk );
> > > -------------- First stage of the adder  ------------------
> > >   add_1: lpm_add_sub                 -- Add LSBs of x and y
> > >          GENERIC MAP ( LPM_WIDTH => WIDTH,
> > >                        LPM_REPRESENTATION => "UNSIGNED",
> > >                        LPM_DIRECTION => "ADD")
> > >          PORT MAP ( dataa => q1, datab => q2,
> > >                     result => sum0);
> > >   reg_3: lpm_ff
> > >          GENERIC MAP ( LPM_WIDTH => WIDTH )
> > >          PORT MAP ( data => sum0, q => sum, clock => clk );
> > > 
> > > END flex;


Article: 112895
Subject: Re: FPGA application field
From: Jim Granville <no.spam@designtools.maps.co.nz>
Date: Fri, 01 Dec 2006 08:58:34 +1300
Links: << >>  << T >>  << A >>
tenteric wrote:
> jez-sm...@hotmail.co.uk wrote:
> 
>>tenteric schrieb:
>>
>>
>>>Hello everybody.
>>>
>>>It seems, I wish to build my career as engineer who use FPGA to
>>>construct ad hoc designs, in the field of fast computation.
>>>I've heard about cryptoanalysts' FPGA experiments.. and I'm
>>>interesting, where else I'll able to apply my professional profile, now
>>>or in the near future?
>>
>>You can apply FPGAs to just about any field that you care to mention,
>>there are plenty of companies who are activly seeking engineers with
>>skills in designing with FPGAs.Personaly ive worked on and developed
>>designs for telecoms systems,cryptographic systems,soft processor
>>cores.AS you mention cryptograhic applications I wrote a pipelined AES
>>core a couple of years ago and got my present job of the basis of the
>>knowledge gained during the development of that core.
> 
> 
> I need to be more precise - my passion is just very fast computation -
> I'm very interesting in implementing any math algorithm thus it will
> work as fast as it can.

then you probably should also track this - a FPGA variant called a FPOA

http://www.mathstar.com/index.html

-jg



Article: 112896
Subject: Re: Stratix II GX Transceivers
From: "jjlindula@hotmail.com" <jjlindula@hotmail.com>
Date: 30 Nov 2006 12:21:27 -0800
Links: << >>  << T >>  << A >>
Hello, and thanks for responding to my post. Quick question, did you
have to pay for any IP to use the transceivers or is it free?

thanks,
joe

Ben Twijnstra wrote:
> Hi Joe,
>
> > Hello, I'm looking to do a design involving data rates near 4Gbps and
> > was looking at using Altera's Stratix II GX transceivers to drive the
> > data to a 4Gbps single-mode fiber-optic transceiver. I'm interested in
> > how well the Stratix can perform this task, if anyone has some
> > experience using the transceivers could you please let me know how well
> > it worked for you? I've read the Altera's web site on the Stratix II GX
> > and it sounds very promising, I just want to make sure that is does
> > what it says it can.
>
> I've been toying around with Altera's own Signal Integrity board, and 6GBps
> over 40" of trace plus 2ft of copper interconnect through SMAs works just
> fine. 4GBPS over optic should be relatively easy.
>
> Feed the GX 100MHz of clock, put the PLLs into 40x, set the ALTGXB
> transceiver interface to double-width mode (200MHz is workable in the core,
> 400MHz is really, really stressing things), and as long as you properly do
> your power decoupling and PCB layout you should have a working design. You
> may need to tweak the pre-emphasis and/or equalization settings a bit to
> get the best results, but so far the transceivers seem to be rock-solid.
>
> Best regards,
>
>
> Ben
>
>
> Best to contact your local (disti) FAE to provide you with the reference
> schematic and board layout files of the SI board for reference.


Article: 112897
Subject: Re: EDK 8.2 Block RAM error
From: "MM" <mbmsv@yahoo.com>
Date: Thu, 30 Nov 2006 15:24:30 -0500
Links: << >>  << T >>  << A >>
Never mind. I figured it out...


/Mikhail 



Article: 112898
Subject: DCM jitter (again)
From: "Andrew Holme" <andrew@nospam.com>
Date: Thu, 30 Nov 2006 20:46:40 -0000
Links: << >>  << T >>  << A >>
Target = XC3S400 Spartan 3
Tool = ISE 8.2i

If I understand correctly, the DCM does not use a PLL to multiply-up the 
input frequency; it's a DLL and it generates all required frequencies/phases 
by selecting outputs from a tapped delay line.  I heard these taps are only 
tens of picoseconds apart.  Is this so?  Why then is the peak-to-peak 
jitter, as calculated by the DCM wizard, so large e.g. hundreds of ps?

For Spartan 3 designs, the tools do not automatically take DCM jitter into 
account.  To get it included, I've manually added INPUT_JITTER 0.82 to the 
end of my external clock constraint:

TIMESPEC "TS_EXT_CLK" = PERIOD "EXT_CLK" 20 ns HIGH 50 % INPUT_JITTER 0.82;

Half of this figure then appears as "clock uncertainty" on the timing 
analysis report, and PAR works that much harder to get closure.  I don't 
like including DCM jitter this way.  The input clock is clean.  Is there a 
neater way to specify it on the DCM outputs where it belongs?

TIA
Andrew. 



Article: 112899
Subject: Re: DCM jitter (again)
From: jez-smith@hotmail.co.uk
Date: 30 Nov 2006 12:58:22 -0800
Links: << >>  << T >>  << A >>

Andrew Holme schrieb:

> Target = XC3S400 Spartan 3
> Tool = ISE 8.2i
>
> If I understand correctly, the DCM does not use a PLL to multiply-up the
> input frequency; it's a DLL and it generates all required frequencies/phases
> by selecting outputs from a tapped delay line.  I heard these taps are only
> tens of picoseconds apart.  Is this so?  Why then is the peak-to-peak
> jitter, as calculated by the DCM wizard, so large e.g. hundreds of ps?
>
> For Spartan 3 designs, the tools do not automatically take DCM jitter into
> account.  To get it included, I've manually added INPUT_JITTER 0.82 to the
> end of my external clock constraint:
>
> TIMESPEC "TS_EXT_CLK" = PERIOD "EXT_CLK" 20 ns HIGH 50 % INPUT_JITTER 0.82;
>
> Half of this figure then appears as "clock uncertainty" on the timing
> analysis report, and PAR works that much harder to get closure.  I don't
> like including DCM jitter this way.  The input clock is clean.  Is there a
> neater way to specify it on the DCM outputs where it belongs?
>
> TIA
> Andrew.


If its any help you can look at the source code for the unisim or
simprim simulation model for the dcm in those respective library
sources,I remember looking at them some time ago so it may help to get
a better understanding.




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