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 137400

Article: 137400
Subject: Re: beginner synthesize question - my debounce process won't
From: jleslie48 <jon@jonathanleslie.com>
Date: Wed, 14 Jan 2009 05:16:56 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 13, 8:20 pm, Brian Drummond <brian_drumm...@btconnect.com>
wrote:
> On Tue, 13 Jan 2009 14:18:16 -0800 (PST), jleslie48
>
>
>
> <j...@jonathanleslie.com> wrote:
> >On Jan 10, 8:54 pm, rickman <gnu...@gmail.com> wrote:
>
> >I don't see why the IF statement translates any different than the
> >while/for loop.  both should
> >translate to static sizes independent of  the number of interations
> >that are completed:
>
> >an IF translates to:
>
> ><conditional jump> to else_part
> >-- then code goes here
> ><unconditional jump> to endif_xyz
> >label else_part:
> >--else code goes here
> >label endif_xyz:
>
> >and the WHILE would be:
>
> >label topofwhile_xyz:
> ><conditional jump> to end_of_while_xyz
> >---stuff to do
> ><unconditional jump> to topofwhile_xyz
> >label end_of_while_xyz:
>
> >I was expecting the synth do work similarly.
>
> The big difference between the two is this:
> in the While loop, the jump is _backwards_.
>
> A more CS-oriented view would be that the difference between IF and
> WHILE is exactly that between a directed acyclic and a cyclic graph.
> Unrolling the loop is then transforming the cyclic graph into acyclic
> form.
>
> If you are decomposing the operation into machine instructions, and
> executing them sequentially, that is no problem; it merely takes a very
> long time.
>
> But you aren't decomposing into anything sequential, unless you can
> _force_ a serialisation, e.g. with a "wait until rising_edge(clk)"
> in the loop. (Which is unrecognised by XST. Incidentally I tried it in
> the Altera synthesis tool. It fails too, interestingly the error is
> "More than one Wait in Process" - therefore Altera is explicitly
> unrolling the loop even before examining its contents!)
>
> Therefore the ONLY ways are: (a) to force that serialisation (either as
> above but in a better synthesis tool, if one exists), or explicitly in
> the pattern you suggested (and criticise)
> or (b) unroll the loop (e.g. use ten multipliers in prev example)
>
> >The data value of the number of iterations is swallowed up by the
> ><conditional jump> and  thus the sizing of the "circuit" is
> >independent of the number of interations.
>
> I hope the above shows why it doesn't work that way.
>
> - Brian

AHHHH!!!!!   so what you and Gabor are saying is that the synth is
trying to make my while loop work all within one clock tick, rather
than have the n (in the example, 10) iterations occur once per clock
tick as my re-written version version does (see post  Jan 7, 12:36 pm,
the looper10_proc.)  So in my bad code, the 'do something' to all
occur in the one clock cycle, has to be repeated n times IN HARDWARE ,
thus allowing all to occur at the same time.  Correct?

Article: 137401
Subject: Re: Counter: natural VS std_logic_vector
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Wed, 14 Jan 2009 13:37:05 -0000
Links: << >>  << T >>  << A >>
Try something like..........

use ieee.numeric_std.all;

signal counter : unsigned(big_enough_for_max_value downto 0);
signal irq     : std_logic_vector;


process(clk,rst)
begin
  if(rst = '1') then
    counter <= max_value;
    irq     <= '0';
  elsif(rising_edge(clk)) then
    if(counter = x"00..0") then
        counter <= max_value;
        irq     <= '1';
    else
        counter <= counter - 1;
        irq     <= '0';
    end if;
  end if;
end process;



......simple, compact, synchronous.

Should work (barring typos). Don't forget if you need a count of
X then load the counter with X-1 if you're counting to 0.


Nial 



Article: 137402
Subject: Vitrex-5 FPGA Tuning with timing contraints
From: michael.e.schueler@googlemail.com
Date: Wed, 14 Jan 2009 05:55:24 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,

I would like to boost the performance of my Xilinx Virtex-5 designs.
I'm interested in "Achritecture Tuning" and in "Timining Contraints
usage". Does someone know a book that deals with these topics?

Regards,
Michael.

Article: 137403
Subject: Re: beginner synthesize question - my debounce process won't
From: Gabor <gabor@alacron.com>
Date: Wed, 14 Jan 2009 06:05:13 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 8:16=A0am, jleslie48 <j...@jonathanleslie.com> wrote:
> On Jan 13, 8:20 pm, Brian Drummond <brian_drumm...@btconnect.com>
> wrote:
>
>
>
> > On Tue, 13 Jan 2009 14:18:16 -0800 (PST), jleslie48
>
> > <j...@jonathanleslie.com> wrote:
> > >On Jan 10, 8:54 pm, rickman <gnu...@gmail.com> wrote:
>
> > >I don't see why the IF statement translates any different than the
> > >while/for loop. =A0both should
> > >translate to static sizes independent of =A0the number of interations
> > >that are completed:
>
> > >an IF translates to:
>
> > ><conditional jump> to else_part
> > >-- then code goes here
> > ><unconditional jump> to endif_xyz
> > >label else_part:
> > >--else code goes here
> > >label endif_xyz:
>
> > >and the WHILE would be:
>
> > >label topofwhile_xyz:
> > ><conditional jump> to end_of_while_xyz
> > >---stuff to do
> > ><unconditional jump> to topofwhile_xyz
> > >label end_of_while_xyz:
>
> > >I was expecting the synth do work similarly.
>
> > The big difference between the two is this:
> > in the While loop, the jump is _backwards_.
>
> > A more CS-oriented view would be that the difference between IF and
> > WHILE is exactly that between a directed acyclic and a cyclic graph.
> > Unrolling the loop is then transforming the cyclic graph into acyclic
> > form.
>
> > If you are decomposing the operation into machine instructions, and
> > executing them sequentially, that is no problem; it merely takes a very
> > long time.
>
> > But you aren't decomposing into anything sequential, unless you can
> > _force_ a serialisation, e.g. with a "wait until rising_edge(clk)"
> > in the loop. (Which is unrecognised by XST. Incidentally I tried it in
> > the Altera synthesis tool. It fails too, interestingly the error is
> > "More than one Wait in Process" - therefore Altera is explicitly
> > unrolling the loop even before examining its contents!)
>
> > Therefore the ONLY ways are: (a) to force that serialisation (either as
> > above but in a better synthesis tool, if one exists), or explicitly in
> > the pattern you suggested (and criticise)
> > or (b) unroll the loop (e.g. use ten multipliers in prev example)
>
> > >The data value of the number of iterations is swallowed up by the
> > ><conditional jump> and =A0thus the sizing of the "circuit" is
> > >independent of the number of interations.
>
> > I hope the above shows why it doesn't work that way.
>
> > - Brian
>
> AHHHH!!!!! =A0 so what you and Gabor are saying is that the synth is
> trying to make my while loop work all within one clock tick, rather
> than have the n (in the example, 10) iterations occur once per clock
> tick as my re-written version version does (see post =A0Jan 7, 12:36 pm,
> the looper10_proc.) =A0So in my bad code, the 'do something' to all
> occur in the one clock cycle, has to be repeated n times IN HARDWARE ,
> thus allowing all to occur at the same time. =A0Correct?

By Jove I think you've got it!  :-)

Article: 137404
Subject: Re: ttl compatible
From: John LeVieux <jlavie@yahoo.com>
Date: Wed, 14 Jan 2009 06:06:50 -0800 (PST)
Links: << >>  << T >>  << A >>
I have previous design experience with this part. The Spartan-3AN is
compatible with TTL logic levels but it is not 5V tolerant. The inputs
can be directly connected to a low-voltage LVTTL signal (high logic
voltage of 3.3V maximum). For connecting to 5V TTL outputs, a series
resistor must be placed at the input of the FPGA. The value of the
series resistor must limit the input current to 10mA to prevent
physical damage to the input protect diodes internal to the device.
200 ohms would be sufficient.

Regards,
John LeVieux

Article: 137405
Subject: Re: beginner synthesize question - my debounce process won't
From: jleslie48 <jon@jonathanleslie.com>
Date: Wed, 14 Jan 2009 06:26:27 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 9:05 am, Gabor <ga...@alacron.com> wrote:

> > AHHHH!!!!!   so what you and Gabor are saying is that the synth is
> > trying to make my while loop work all within one clock tick, rather
> > than have the n (in the example, 10) iterations occur once per clock
> > tick as my re-written version version does (see post  Jan 7, 12:36 pm,
> > the looper10_proc.)  So in my bad code, the 'do something' to all
> > occur in the one clock cycle, has to be repeated n times IN HARDWARE ,
> > thus allowing all to occur at the same time.  Correct?
>
> By Jove I think you've got it!  :-)


That is a very important mis-understanding to have cleared up.  I
would of been
programming the ~do something~ to calcuate an average or a summation,
and
the looping nature of the while loop would of been completely wrong.
This aint' no C compiler.



Article: 137406
Subject: VHDL data sampling question
From: martstev@gmail.com
Date: Wed, 14 Jan 2009 07:29:33 -0800 (PST)
Links: << >>  << T >>  << A >>
I am still learning VHDL and need some help please! This is what i
have

clk: in std_logic;
data : in std_logic_vector ( 3 downto 0);
data_out: out std_logic_vector (3 downto 0);

clock is running at 20 MHz and data is synchronized with the clock.

if data is in this order "1111", "1010" "1111", "xxxx" than, data out
is "xxxx". So basically I have to look at the data pattern  back to
back and then activate my output..if pattern matches, "1111", "0xa"
and "0xb", output is good to go, else have just wait...

I was thinking to have data stored in FIFO and the have some sort of
state machine to look for test pattern..but not sure if that's the
best of doing this...any advice???

Article: 137407
Subject: Re: ttl compatible
From: "M.Randelzhofer" <techseller@gmx.de>
Date: Wed, 14 Jan 2009 16:36:00 +0100
Links: << >>  << T >>  << A >>
"John LeVieux" <jlavie@yahoo.com> schrieb im Newsbeitrag 
news:cd4050ba-cb68-4bdf-b796-c552ac7cba0f@x16g2000prn.googlegroups.com...
>I have previous design experience with this part. The Spartan-3AN is
> compatible with TTL logic levels but it is not 5V tolerant. The inputs
> can be directly connected to a low-voltage LVTTL signal (high logic
> voltage of 3.3V maximum). For connecting to 5V TTL outputs, a series
> resistor must be placed at the input of the FPGA. The value of the
> series resistor must limit the input current to 10mA to prevent
> physical damage to the input protect diodes internal to the device.
> 200 ohms would be sufficient.
>
> Regards,
> John LeVieux

A series resistor will be not enough on the S3AN, since there are no 
internal diodes to VCC.

Although the maximum input voltage is rather high (4.6V) you must insure, 
that there are no overshots.

A voltage divider could be a cheap solution (with all it's disadvantages 
like low input resistance, bad dynamic behaviour etc.etc.).

Better use some level shifters, which are available in thousands of 
flavours...

MIKE

-- 
www.oho-elektronik.de
OHO-Elektronik
Michael Randelzhofer
FPGA und CPLD Mini Module
Klein aber oho !
Kontakt:
Tel: 08131 339230
mr@oho-elektronik.de
Usst.ID: DE130097310




From rgaddi@technologyhighland.com Wed Jan 14 08:59:09 2009
Path: flpi142.ffdc.sbc.com!flph199.ffdc.sbc.com!prodigy.com!flph200.ffdc.sbc.com!prodigy.net!newshub.sdsu.edu!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local02.nntp.dca.giganews.com!nntp.lmi.net!news.lmi.net.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 14 Jan 2009 10:59:09 -0600
Date: Wed, 14 Jan 2009 08:59:09 -0800
From: Rob Gaddi <rgaddi@technologyhighland.com>
Newsgroups: comp.arch.fpga
Subject: Re: beginner synthesize question - my debounce process won't 
 synthesize.
Message-Id: <20090114085909.7a47d41c.rgaddi@technologyhighland.com>
References: <f6m7m4pqcj4ghk3ipmsn6k3dv5qcf9cjsc@4ax.com>
	<79ed8507-f871-4446-8e58-db1f00dc6aa1@r13g2000vbp.googlegroups.com>
	<iuu7m4d1hio8b4drb0nmvn5vhpe1i7qs55@4ax.com>
	<5762b2b5-253e-4aeb-b812-cdb068323ea4@p2g2000prf.googlegroups.com>
	<9olcm41ke9nk2qsig231jo7u5qcthuao21@4ax.com>
	<ede7f1a0-3da0-4b46-a07f-adb558838fac@s24g2000vbp.googlegroups.com>
	<398c6f49-6e7c-4bd8-9545-92753ae64237@m2g2000vbp.googlegroups.com>
	<c5bd2fde-c8e8-457a-a008-4852fb501472@q36g2000vbn.googlegroups.com>
	<95eqm4dr1ceg435uaoh4s2ss1tom9nvt1a@4ax.com>
	<91ef58ff-eef6-4495-a8e0-f2d61dea1658@j35g2000yqh.googlegroups.com>
	<920d1962-1fe6-444c-a264-58b96db7c7db@v18g2000pro.googlegroups.com>
	<b1ef68d2-4fb4-4c9f-a7c9-8d4fcd07b438@v42g2000yqv.googlegroups.com>
Organization: Highland Technology, Inc.
X-Newsreader: Sylpheed 2.5.0 (GTK+ 2.10.14; i686-pc-mingw32)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Lines: 15
X-Usenet-Provider: http://www.giganews.com
NNTP-Posting-Host: 66.117.134.49
X-Trace: sv3-Hl3CqBWm04jUsR0hX+edhBuYp5fVnk8PnIW0ESCvvU5yc/z7oVxuidC/33/z/4seeXn+AQtvQxJMRxQ!IDlfzOF16i+UaAyUUN4eBVosIF4S+2QwK1g8bUeFRWFBkbngbLSDnNNCUtyqFo8JxX5fwzleu1Mf!snxGVms5fEE3BzjI8k8=
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.39
Xref: prodigy.net comp.arch.fpga:150478
X-Received-Date: Wed, 14 Jan 2009 11:59:18 EST (flpi142.ffdc.sbc.com)

On Wed, 14 Jan 2009 06:26:27 -0800 (PST)
jleslie48 <jon@jonathanleslie.com> wrote:

> On Jan 14, 9:05 am, Gabor <ga...@alacron.com> wrote:
> [snip]
>
> This aint' no C compiler.
> 

And there's the moral of the story.


-- 
Rob Gaddi, Highland Technology
Email address is currently out of order

Article: 137408
Subject: Re: VHDL data sampling question
From: "michael.e.schueler@googlemail.com" <michael.e.schueler@googlemail.com>
Date: Wed, 14 Jan 2009 10:57:50 -0800 (PST)
Links: << >>  << T >>  << A >>
Something Like this:

ir reset=3D'1' then
  data_delay1<=3D'0';
  data_delay2<=3D'0';
  data_delay3<=3D'0';
  good<=3D'0;
elsif clk'event and clk=3D'1' then

  data_delay1<=3Ddata;
  data_delay2<=3Ddata_delay1;
  data_delay3<=3Ddata_delay2;

  if data_delay1=3Dx"F" and data_delay2=3Dx"A" and data_delay3=3Dx"B" then
    good<=3D'1';
  else
   good<=3D'0';
  end if;
end if;









On Jan 14, 4:29=A0pm, marts...@gmail.com wrote:
> I am still learning VHDL and need some help please! This is what i
> have
>
> clk: in std_logic;
> data : in std_logic_vector ( 3 downto 0);
> data_out: out std_logic_vector (3 downto 0);
>
> clock is running at 20 MHz and data is synchronized with the clock.
>
> if data is in this order "1111", "1010" "1111", "xxxx" than, data out
> is "xxxx". So basically I have to look at the data pattern =A0back to
> back and then activate my output..if pattern matches, "1111", "0xa"
> and "0xb", output is good to go, else have just wait...
>
> I was thinking to have data stored in FIFO and the have some sort of
> state machine to look for test pattern..but not sure if that's the
> best of doing this...any advice???


Article: 137409
Subject: Re: ttl compatible
From: uraniumore238@gmail.com
Date: Wed, 14 Jan 2009 12:19:08 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 7:36=A0am, "M.Randelzhofer" <techsel...@gmx.de> wrote:
> "John LeVieux" <jla...@yahoo.com> schrieb im Newsbeitragnews:cd4050ba-cb6=
8-4bdf-b796-c552ac7cba0f@x16g2000prn.googlegroups.com...
>
> >I have previous design experience with this part. The Spartan-3AN is
> > compatible with TTL logic levels but it is not 5V tolerant. The inputs
> > can be directly connected to a low-voltage LVTTL signal (high logic
> > voltage of 3.3V maximum). For connecting to 5V TTL outputs, a series
> > resistor must be placed at the input of the FPGA. The value of the
> > series resistor must limit the input current to 10mA to prevent
> > physical damage to the input protect diodes internal to the device.
> > 200 ohms would be sufficient.
>
> > Regards,
> > John LeVieux
>
> A series resistor will be not enough on the S3AN, since there are no
> internal diodes to VCC.
>
> Although the maximum input voltage is rather high (4.6V) you must insure,
> that there are no overshots.
>
> A voltage divider could be a cheap solution (with all it's disadvantages
> like low input resistance, bad dynamic behaviour etc.etc.).
>
> Better use some level shifters, which are available in thousands of
> flavours...
>
> MIKE
>
> --www.oho-elektronik.de
> OHO-Elektronik
> Michael Randelzhofer
> FPGA und CPLD Mini Module
> Klein aber oho !
> Kontakt:
> Tel: 08131 339230
> m...@oho-elektronik.de
> Usst.ID: DE130097310

Thanks Guys! I have just ordered the following part:
http://focus.ti.com/lit/ds/symlink/cd4504b.pdf . Will this work ?

I read somewhere that I do not have to worry about the current
damaging the FPGA. Is this correct due to the high impedance of the
S3AN board ?

I have two devices that will use the above level shifter and supply
square waves/pulses to the FPGA. Will the S3AN be able to handel those
devices without crapping out ?

Is the S3AN hardware capable to sample one of the device, which is a
pulse generator running at max 50Mhz pulse rate ... (note: pulses are
not constant) ?







Article: 137410
Subject: Re: ttl compatible
From: Gabor <gabor@alacron.com>
Date: Wed, 14 Jan 2009 13:59:10 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 3:19=A0pm, uraniumore...@gmail.com wrote:
> On Jan 14, 7:36=A0am, "M.Randelzhofer" <techsel...@gmx.de> wrote:
>
>
>
> > "John LeVieux" <jla...@yahoo.com> schrieb im Newsbeitragnews:cd4050ba-c=
b68-4bdf-b796-c552ac7cba0f@x16g2000prn.googlegroups.com...
>
> > >I have previous design experience with this part. The Spartan-3AN is
> > > compatible with TTL logic levels but it is not 5V tolerant. The input=
s
> > > can be directly connected to a low-voltage LVTTL signal (high logic
> > > voltage of 3.3V maximum). For connecting to 5V TTL outputs, a series
> > > resistor must be placed at the input of the FPGA. The value of the
> > > series resistor must limit the input current to 10mA to prevent
> > > physical damage to the input protect diodes internal to the device.
> > > 200 ohms would be sufficient.
>
> > > Regards,
> > > John LeVieux
>
> > A series resistor will be not enough on the S3AN, since there are no
> > internal diodes to VCC.
>
> > Although the maximum input voltage is rather high (4.6V) you must insur=
e,
> > that there are no overshots.
>
> > A voltage divider could be a cheap solution (with all it's disadvantage=
s
> > like low input resistance, bad dynamic behaviour etc.etc.).
>
> > Better use some level shifters, which are available in thousands of
> > flavours...
>
> > MIKE
>
> > --www.oho-elektronik.de
> > OHO-Elektronik
> > Michael Randelzhofer
> > FPGA und CPLD Mini Module
> > Klein aber oho !
> > Kontakt:
> > Tel: 08131 339230
> > m...@oho-elektronik.de
> > Usst.ID: DE130097310
>
> Thanks Guys! I have just ordered the following part:http://focus.ti.com/l=
it/ds/symlink/cd4504b.pdf. Will this work ?
>
> I read somewhere that I do not have to worry about the current
> damaging the FPGA. Is this correct due to the high impedance of the
> S3AN board ?
>
> I have two devices that will use the above level shifter and supply
> square waves/pulses to the FPGA. Will the S3AN be able to handel those
> devices without crapping out ?
>
> Is the S3AN hardware capable to sample one of the device, which is a
> pulse generator running at max 50Mhz pulse rate ... (note: pulses are
> not constant) ?

Umm...

The CD4000 series is 5V CMOS, not TTL.  The outputs of this part
will drive very close to the power rail, and the part is not
specified for operation below 5V.  However the part is very slow
at 5V so the resistor divider approach may not make any difference
to your system timing.

You may have some problems with slow rise and fall times causing
the FPGA to trigger on noise during transition if you intend to
use the CMOS signals as a clock.  Even if you only use the CMOS
signals as sampled data, you may need to add some glitch filtering
in the FPGA.

From rgaddi@technologyhighland.com Wed Jan 14 14:31:14 2009
Path: flpi142.ffdc.sbc.com!flph199.ffdc.sbc.com!prodigy.com!flph200.ffdc.sbc.com!prodigy.net!bigfeed.bellsouth.net!bigfeed2.bellsouth.net!news.bellsouth.net!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local02.nntp.dca.giganews.com!nntp.lmi.net!news.lmi.net.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 14 Jan 2009 16:31:14 -0600
Date: Wed, 14 Jan 2009 14:31:14 -0800
From: Rob Gaddi <rgaddi@technologyhighland.com>
Newsgroups: comp.arch.fpga
Subject: Re: ttl compatible
Message-Id: <20090114143114.e049d767.rgaddi@technologyhighland.com>
References: <90c0972a-f976-4c03-bb0a-5965b72985fe@v15g2000yqn.googlegroups.com>
	<bfGdnaqgmLEwP_DUnZ2dnUVZ_vninZ2d@megapath.net>
	<cd4050ba-cb68-4bdf-b796-c552ac7cba0f@x16g2000prn.googlegroups.com>
	<6t6f6vF9bef0U1@mid.individual.net>
	<34ec4a1f-59c8-4b88-8c0a-5c5423654ca4@a29g2000pra.googlegroups.com>
Organization: Highland Technology, Inc.
X-Newsreader: Sylpheed 2.5.0 (GTK+ 2.10.14; i686-pc-mingw32)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Lines: 30
X-Usenet-Provider: http://www.giganews.com
NNTP-Posting-Host: 66.117.134.49
X-Trace: sv3-Vc2u15f377pqBx6XEkmrW9rPS+3JBswongWdII59VfBAOtBOmYBcHfnLh3o22UMBMmWhiW6PI5qe/5F!/vM91yfNbls1gqCzGuRU8HRv6Hrdws3PzxDQ/+b8B124paPEW6ZeOqHgx4CGSICg6Vk19krm5hoC!yhw0Tq7PrMcTqNuNg6A=
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.39
Bytes: 2532
X-Original-Bytes: 2468
Xref: prodigy.net comp.arch.fpga:150482
X-Received-Date: Wed, 14 Jan 2009 17:31:15 EST (flpi142.ffdc.sbc.com)

On Wed, 14 Jan 2009 12:19:08 -0800 (PST)
uraniumore238@gmail.com wrote:

> [snip]
> Thanks Guys! I have just ordered the following part:
> http://focus.ti.com/lit/ds/symlink/cd4504b.pdf . Will this work ?
> 
> I read somewhere that I do not have to worry about the current
> damaging the FPGA. Is this correct due to the high impedance of the
> S3AN board ?
> 
> I have two devices that will use the above level shifter and supply
> square waves/pulses to the FPGA. Will the S3AN be able to handel those
> devices without crapping out ?
> 
> Is the S3AN hardware capable to sample one of the device, which is a
> pulse generator running at max 50Mhz pulse rate ... (note: pulses are
> not constant) ?
> 
> 

That's a pretty slow level shifter for a 50 MHz input signal.  You'd
probably be better off using some of the LVC series tiny logic gates.
A +3.3V non-inverting buffer would cover you, and they're all 5V input
compliant.  You can get a dual in a 6 pin SOT-23 or SC70 for about 15
cents.

-- 
Rob Gaddi, Highland Technology
Email address is currently out of order

Article: 137411
Subject: Re: ttl compatible
From: uraniumore238@gmail.com
Date: Wed, 14 Jan 2009 15:11:00 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 2:31=A0pm, Rob Gaddi <rga...@technologyhighland.com> wrote:
> On Wed, 14 Jan 2009 12:19:08 -0800 (PST)
>
>
>
>
>
> uraniumore...@gmail.com wrote:
> > [snip]
> > Thanks Guys! I have just ordered the following part:
> >http://focus.ti.com/lit/ds/symlink/cd4504b.pdf. Will this work ?
>
> > I read somewhere that I do not have to worry about the current
> > damaging the FPGA. Is this correct due to the high impedance of the
> > S3AN board ?
>
> > I have two devices that will use the above level shifter and supply
> > square waves/pulses to the FPGA. Will the S3AN be able to handel those
> > devices without crapping out ?
>
> > Is the S3AN hardware capable to sample one of the device, which is a
> > pulse generator running at max 50Mhz pulse rate ... (note: pulses are
> > not constant) ?
>
> That's a pretty slow level shifter for a 50 MHz input signal. =A0You'd
> probably be better off using some of the LVC series tiny logic gates.
> A +3.3V non-inverting buffer would cover you, and they're all 5V input
> compliant. =A0You can get a dual in a 6 pin SOT-23 or SC70 for about 15
> cents.
>
> --
> Rob Gaddi, Highland Technology
> Email address is currently out of order- Hide quoted text -
>
> - Show quoted text -

Guys,

I took a look at the datasheet for the chip that I proposed and found
out that the chip itself is quite slow (thanks for Rob).

I did some extra research and found this other chip that has a faster
switching characterstic: http://focus.ti.com/lit/ds/symlink/sn74lvc16244a-q=
1.pdf
Please let me know if this will run with the application that I intend
on developing....





Article: 137412
Subject: Re: Counter: natural VS std_logic_vector
From: aleksa <aleksaZR@gmail.com>
Date: Wed, 14 Jan 2009 15:34:04 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 2:37=A0pm, "Nial Stewart"
<nial*REMOVE_TH...@nialstewartdevelopments.co.uk> wrote:
> Try something like..........
>
> use ieee.numeric_std.all;
>
> signal counter : unsigned(big_enough_for_max_value downto 0);
> signal irq =A0 =A0 : std_logic_vector;
>
> process(clk,rst)
> begin
> =A0 if(rst =3D '1') then
> =A0 =A0 counter <=3D max_value;
> =A0 =A0 irq =A0 =A0 <=3D '0';
> =A0 elsif(rising_edge(clk)) then
> =A0 =A0 if(counter =3D x"00..0") then
> =A0 =A0 =A0 =A0 counter <=3D max_value;
> =A0 =A0 =A0 =A0 irq =A0 =A0 <=3D '1';
> =A0 =A0 else
> =A0 =A0 =A0 =A0 counter <=3D counter - 1;
> =A0 =A0 =A0 =A0 irq =A0 =A0 <=3D '0';
> =A0 =A0 end if;
> =A0 end if;
> end process;
>
> ......simple, compact, synchronous.
>
> Should work (barring typos). Don't forget if you need a count of
> X then load the counter with X-1 if you're counting to 0.
>
> Nial

That is how I started, but didn't know how to finish it.
(how to generate several IRQs on one pin)

I've added two checks in my IRQ routine:

1. read status reg and check if at least one flag is set.
  (check for glitch - never happened)

2. after servicing each IRQ, issue ACK and re-check if flag still set.
That happened (the flag was set even though I've issued ACK) so I've
reorganized everything like this:


TIMER : process (CLKMAIN)
begin
    -- toggle count-flag when zero
    if falling_edge(CLKMAIN) then
        if counterA=3D0 then cIRQA <=3D not cIRQA; counterA <=3D reloadA;
else counterA <=3D counterA -1; end if;
        if counterB=3D0 then cIRQB <=3D not cIRQB; counterB <=3D reloadB;
else counterB <=3D counterB -1; end if;
        if counterC=3D0 then cIRQC <=3D not cIRQC; counterC <=3D reloadC;
else counterC <=3D counterC -1; end if;
    end if;
end process TIMER;



IRQFLAGS : process (CLKMAIN, RD)
begin
    -- check if count-flag & ack-flag differ
    if falling_edge(CLKMAIN) then
        if cIRQA /=3D aIRQA then fIRQA <=3D '1'; else fIRQA <=3D '0'; end
if;
        if cIRQB /=3D aIRQB then fIRQB <=3D '1'; else fIRQB <=3D '0'; end
if;
        if cIRQC /=3D aIRQC then fIRQC <=3D '1'; else fIRQC <=3D '0'; end
if;
    end if;

    -- SYNCHRONIZE ack flags
    if rising_edge(CLKMAIN) then
        aIRQA <=3D aIRQA0;
        aIRQB <=3D aIRQB0;
        aIRQC <=3D aIRQC0;
    end if;

    -- ACK
    if rising_edge(RD) and ADDR=3DADRA then aIRQA0 <=3D not aIRQA0; end
if;
    if rising_edge(RD) and ADDR=3DADRB then aIRQB0 <=3D not aIRQB0; end
if;
    if rising_edge(RD) and ADDR=3DADRC then aIRQC0 <=3D not aIRQC0; end
if;
end process IRQFLAGS;



IRQPROC : process (CLKMAIN) begin
    -- synchro flagIRQ and last_flagIRQ
    if rising_edge(CLKMAIN) then
        fIRQANY <=3D fIRQA or fIRQB or fIRQC;
        lfIRQANY <=3D fIRQANY;
    end if;

    -- the IRQ output is connected to a 8259, level sensitive channel.
    -- keep at least 400nS LOW (inactive) signal.
    if falling_edge(CLKMAIN) then
        if fIRQANY=3D'1' and nIRQALLOWED=3D'0' then irqA <=3D '1'; else irq=
A
<=3D '0'; end if;

        if lfIRQANY=3D'1' and fIRQANY=3D'0' then nIRQALLOWED <=3D '1';
        elsif IRQCOUNTER=3D7 then nIRQALLOWED <=3D '0';
        end if;

        if nIRQALLOWED=3D'1' then IRQCOUNTER <=3D IRQCOUNTER +1; end if;
    end if;
end process IRQPROC;


Now the ACK problem is gone, I never see a flag after ACKing it.

If all 3 timers are set to 20000, all of them generate
exactly the same number of IRQs.

If, however, timerA is set to 10000, timerB=3D20000
and timerC=3D30000, then, after 10 minutes,

timerA generates 1200115 IRQs,
timerB generates  600087 IRQs,
timerC generates  400065 IRQs.

400065*3=3D1200195 (80 IRQs diff, should be 1200115)
600087*2=3D1200174 (59 IRQs diff, should be 1200115)

The sequence is started/stopped with keyboard
and using the hand-watch as a timer for 10 mins,
but there should be no more the 1-2 IRQs diff.

What can I do to correct this?

Article: 137413
Subject: Re: Counter: natural VS std_logic_vector
From: aleksa <aleksaZR@gmail.com>
Date: Wed, 14 Jan 2009 15:38:51 -0800 (PST)
Links: << >>  << T >>  << A >>
> 1. Have you simulated your design, and does it work?

Yes, I've simulated it, and I think it works.


> 2. Have you run static timing analysis and does it pass?

No, don't know how...


> 3. As I alluded to in my first post, Irq coming out of combinatorial logi=
c
> can be a problem since it could easily glitch and thereby cause a false
> interrupt to occur. =A0If your processor has an internal timer you can lo=
g the
> times when your FPGA interrupts occur. =A0If there are some that differ
> significantly from 1ms than you'll be hot on the trail.

The problem was that my ACKing didn't cleared the IRQflag.
I've fixed that, please read my reply to Nial Stewart.

Article: 137414
Subject: Re: ttl compatible
From: Dave Pollum <vze24h5m@verizon.net>
Date: Wed, 14 Jan 2009 16:07:46 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 6:11=A0pm, uraniumore...@gmail.com wrote:
> On Jan 14, 2:31=A0pm, Rob Gaddi <rga...@technologyhighland.com> wrote:
>
>
>
> > On Wed, 14 Jan 2009 12:19:08 -0800 (PST)
>
> > uraniumore...@gmail.com wrote:
> > > [snip]
> > > Thanks Guys! I have just ordered the following part:
> > >http://focus.ti.com/lit/ds/symlink/cd4504b.pdf. Will this work ?
>
> > > I read somewhere that I do not have to worry about the current
> > > damaging the FPGA. Is this correct due to the high impedance of the
> > > S3AN board ?
>
> > > I have two devices that will use the above level shifter and supply
> > > square waves/pulses to the FPGA. Will the S3AN be able to handel thos=
e
> > > devices without crapping out ?
>
> > > Is the S3AN hardware capable to sample one of the device, which is a
> > > pulse generator running at max 50Mhz pulse rate ... (note: pulses are
> > > not constant) ?
>
> > That's a pretty slow level shifter for a 50 MHz input signal. =A0You'd
> > probably be better off using some of the LVC series tiny logic gates.
> > A +3.3V non-inverting buffer would cover you, and they're all 5V input
> > compliant. =A0You can get a dual in a 6 pin SOT-23 or SC70 for about 15
> > cents.
>
> > --
> > Rob Gaddi, Highland Technology
> > Email address is currently out of order- Hide quoted text -
>
> > - Show quoted text -
>
> Guys,
>
> I took a look at the datasheet for the chip that I proposed and found
> out that the chip itself is quite slow (thanks for Rob).
>
> I did some extra research and found this other chip that has a faster
> switching characterstic:http://focus.ti.com/lit/ds/symlink/sn74lvc16244a-=
q1.pdf
> Please let me know if this will run with the application that I intend
> on developing....

If you only need a few signals, the 74LVC125 has 4 independent 3-state
buffers.  It runs on 1.65v ~ 3.6v, and its inputs accept up to 5.5v.
-Dave Pollum

Article: 137415
Subject: Re: Digilent Nexys 2 Issue
From: reganireland@gmail.com
Date: Wed, 14 Jan 2009 18:45:45 -0800 (PST)
Links: << >>  << T >>  << A >>
Same with me.

A staff member from Digilent emailed me with that same link, good as
gold now.

Regan

Article: 137416
Subject: Re: Duty Cycle change effects on Internal reg's
From: sreenivas.jyothi@gmail.com
Date: Wed, 14 Jan 2009 21:47:30 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 15 2008, 11:39=A0am, Peter Alfke <al...@sbcglobal.net> wrote:
> In a conventional design (single clock, distributed over global clock
> nets, all flip-flops triggered on the same, usually rising, clock
> edge, clock frequency not at the max data-sheet limit)dutycycleis irrelev=
ant, as long as you do not violate any clock-High
> or clock-Low timing.
> More exotic designs that use both clock edges or use latches instead
> of flip-flops, are (or might be) sensitive to clockdutycycle.
> Distributing clocks on non-global lines can seriously affectdutycycle, an=
d also cause uncontrolled clock skew and other bad problems.
> Don't do that!
> Peter Alfke

Hi peter,
thanks for your response, i am still not configuring my doubt on this
(duty Cycle).
Here is my clear query: I have requirement saying that "The test case
is to test the output signal rcom_tx when fpga_clk is 50 MHz with 40%
and 60% duty cycles", and before that i had a test case for same
signals on 50% duty cycle. so when i did test on 50% duty cycle i got
normal results without any problems, and i am not able to figure out
if i change to 40% and 60% duty cycles than what to expect on output
line.

As of my knowledge within duty cycle boundary limit the output doesn't
affect, but out of boundary change in duty cycle is the only
expectancy.
If possible could you please give me any example in explaining this
concept.

Thanks

Article: 137417
Subject: Death of the RLOC?
From: Andreas Ehliar <ehliar-nospam@isy.liu.se>
Date: Thu, 15 Jan 2009 10:13:41 +0000 (UTC)
Links: << >>  << T >>  << A >>
I read a paper called "Death of the RLOC?" a long time ago
where the performance of floorplanned designs was compared
with the performance of the same designs where no floorplanning was used.
The conclusion of the paper was that floorplanning was still
very useful.  However, this paper is from 2000 and much
has obviously happened in the area of place and route
algorithms since then.


I am not myself aware of any newer investigation into this
area even though a lot has happened in the area of automatic
placement and routing.

Is anyone aware of a newer comparison than this one?

Or for that matter an investigation of how much you can
gain by using manual routing in addition to manual floorplanning.

/Andreas

Article: 137418
Subject: MPMC2 v1.9 question: IMMEDIATE cash reward 500EUR for the solution.
From: Antti <Antti.Lukats@googlemail.com>
Date: Thu, 15 Jan 2009 04:15:17 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi

getting really desperate, I have to get MPMC2 v 1.9 based V4 sytem
working this week.

but it has ethernet crash in maximum 10 hours.

the problem has been found:

in the MPMC2 ip core = mpmc2_cdmac_ll_cntl.v

there are timeouts

I assume they are not correct, or there is something around the
timeout processing

when the error comes (once in about 10 hours)

then descriptors in memory are ALL 100%
curr_desc pointer regs are are OK
but the next_desc values fetched from RAM are bad (wrong address or
old fifo content maybe)

my assumption is that the descriptor read process timeouts.

in the ll_ctrl.v are 3 timeout counters
increasing their timeout values DID NOT solve the problem.

i am close to belive the problem is V4 FIFO hardware errata

but, even if the hardware problem can not be fixed, there is obvious
software workaround
after the crash, all i need is to restart the DMA !

but after one restart attempt of the DMA it does restart..
it does start to process the RX descriptors. and RX interrupts come

but.. the DMA does not writre any data to memory and does not set
completed bit.

so here are rewards:

500EUR for the IP core fix (other then increase the timeouts what
didnt fix the problem)

250EUR for the fix to properly restart the DMA engine so that it can
continue after being
stopped by software

the rewards are valid as long as i have not solved the problem.
if i get it working myself i will immediatly post tat c.a.f.

the solution has to be applicable for MPMC2 v 1.9

upgrade of the complete system to MPMC3 is not an option
(we do not have the time)

Antti Lukats
who does want to move on, and not to fight with Xilinx bugs any more.



















Article: 137419
Subject: Re: Counter: natural VS std_logic_vector
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Thu, 15 Jan 2009 12:40:46 -0000
Links: << >>  << T >>  << A >>
> That is how I started, but didn't know how to finish it.
> (how to generate several IRQs on one pin)

You haven't defined what you want properly, your first post said....

"I need a 1kHz IRQ in my project.
My main clock is 20MHz."

You haven't defined what other interrupts you need, what your
'ack' mechanism is etc.

One comment...

"rising_edge(RD)"

You probably don't want to do this, use your master 20MHz
clock to synchronise all your external signals and use
the re-timed signals to drive the internal logic.

Do a bit of googling on synchronous FPGA design and how to handle
asynchronous inputs.


Nial. 



Article: 137420
Subject: Re: Counter: natural VS std_logic_vector
From: KJ <kkjennings@sbcglobal.net>
Date: Thu, 15 Jan 2009 08:54:14 -0800 (PST)
Links: << >>  << T >>  << A >>
On Jan 14, 6:34=A0pm, aleksa <aleks...@gmail.com> wrote:
>
> I've added two checks in my IRQ routine:
>
> 1. read status reg and check if at least one flag is set.
> =A0 (check for glitch - never happened)
>
> 2. after servicing each IRQ, issue ACK and re-check if flag still set.
> That happened (the flag was set even though I've issued ACK) so I've
> reorganized everything like this:
>

You're attacking the symptom and not getting to the root cause of the
problem.  Whenever you come across some behaviour like "the flag was
set even though I've issued ACK" the root cause, with nearly 100%
certainty, is failing timing which is caught by performing timing
analysis...and in this case, I'm suspecting the particular source of
failure will be either in clock domain crossing problems or
incorrectly handling asynchronous inputs.

>
> What can I do to correct this?
>
Perform static timing analysis, paying particular attention to
- Places where you a signal is generated by one clock signal but used
by logic that is clocked by some other signal.
- Input signals to the design that you have no guarantee of when they
might switch relative to the clock signal that samples them.

Kevin Jennings

Article: 137421
Subject: looking for FFT core
From: "robj" <robj@abc.net>
Date: Thu, 15 Jan 2009 10:33:51 -0800
Links: << >>  << T >>  << A >>
I'm trying to find a 64-point FFT/IFFT core. Target is Actel IGLOO family. 
Needs to run fast enough to complete in 3.2us, which is tough in an IGLOO. 
Actel has a free FFT core but it is not quite fast enough. It's a radix-2 
core, which is not optimal for this application. Radix-4 would be better.

I've looked at the cfft core on Opencores and it may work for us, but also 
want to check commercial options.

Thanks,
Rob 



Article: 137422
Subject: Webpack 10.1 on Windows XP
From: james <george@washington.edu>
Date: Thu, 15 Jan 2009 13:52:12 -0500
Links: << >>  << T >>  << A >>
I have Windows XP with SP3. Can I install Webpack on this OS? The
Webpage states that i would need XP Pro. I care not to upgrade at this
point but this is getting rediculus with Xilinx. They offer products
but very limited scope of OS's. Right now I have 9.2 SP4.


james

Article: 137423
Subject: Re: Webpack 10.1 on Windows XP
From: Rich Webb <bbew.ar@mapson.nozirev.ten>
Date: Thu, 15 Jan 2009 15:24:38 -0500
Links: << >>  << T >>  << A >>
On Thu, 15 Jan 2009 13:52:12 -0500, james <george@washington.edu> wrote:

>I have Windows XP with SP3. Can I install Webpack on this OS? The
>Webpage states that i would need XP Pro. I care not to upgrade at this
>point but this is getting rediculus with Xilinx. They offer products
>but very limited scope of OS's. Right now I have 9.2 SP4.

Check over on the Xilinx forums. A couple of threads from Xilinx tech
support confirm that XP Home is not a tested or supported OS *but* ISE
10.1 will install and run okay.

E.g.,
<http://forums.xilinx.com/xlnx/board/message?board.id=ISE&thread.id=1713>

-- 
Rich Webb     Norfolk, VA

Article: 137424
Subject: Creating a core from my VHDL code
From: axr0284 <axr0284@yahoo.com>
Date: Thu, 15 Jan 2009 12:48:35 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,
 I wrote some code in VHDL and I would like to create a core targeting
Xilinx Spartan-3E devices. I am clueless of how to proceed with that.
1) I can synthesize the code using XST with an XCF timing constraint
file which will create an NGC file. Is that considered a CORE?
2) Will the NGC file contain the timing information from the XCF
timing constraint file?
3) Is there a way to actually area constrain it during synthesis?

Thanks for the help,
Amish



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