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 76900

Article: 76900
Subject: Re: Is it me or quartus ?
From: "Subroto Datta" <sdatta@altera.com>
Date: 15 Dec 2004 11:04:29 -0800
Links: << >>  << T >>  << A >>
Hi Fred,

Thank you for providing the code. The results in Quartus II 4.1, 4.2,
are incorrect.  If you the "exit" statement in Stop_Sense with a
return '0', this will synthesize correctly in 4.1 and 4.2.  This
problem will be fixed in Quartus II 5.0.The modified VHDL is shown
below:
library ieee;
use ieee.std_logic_1164.all;

entity yy is

generic (
width : natural := 4);

port (
stopcell                      : out std_ulogic_vector(width - 1
downto 0);
isboundarycell, stopnextcells : in  std_ulogic_vector(width -1
downto 0));


end yy;



architecture bhv of yy is
function Stop_Sense ( IsSigCell, StopNextCells :
std_ulogic_vector(Width-1
downto 0);
CurrentCell : natural range 0 to Width-1;
LookAheadDepth : natural range 1 to 16
) return std_ulogic is
begin
L1:for i in 1 to LookAheadDepth - 1 loop
if (CurrentCell - i) >= 0 then
if StopNextCells(CurrentCell - i) = '1' then
return '1';
elsif IsSigCell(CurrentCell - i) = '1' then
return '0';                        -- replaced exit statement !!!!
end if;
end if;
end loop;
return '0';
end;


--signal StopNextCells : std_ulogic_vector (Width-1 downto 0);
--signal StopCell : std_ulogic_vector (Width-1 downto 0);
--signal IsBoundaryCell : std_ulogic_vector (Width-1 downto 0);

begin


StopCells: for i in 0 to Width-1 generate


StopCell(i) <= Stop_Sense(IsBoundaryCell, StopNextCells, i, 2);
end generate;

end bhv;

Hope this helps,
- Subroto Datta
Altera Corp.


Article: 76901
Subject: Re: Virtex2 I/O standards
From: Austin Lesea <austin@xilinx.com>
Date: Wed, 15 Dec 2004 11:05:30 -0800
Links: << >>  << T >>  << A >>
gja,

Sorry.  Hit 'enter' too soon.

Yes, the output structures are all identical:  just select the number of 
pull down nmos devices, and the number of pull up pmos devices required 
for a given interface standard.

Austin

gja wrote:
> Austin, thank you very much for your response. You may have addressed it,
> but it was not clear to me, what about the output structures that were the
> second part of my question? Are LVTTL output structures the same as LVCMOS33
> ?
> 
> 
> "Austin Lesea" <austin@xilinx.com> wrote in message
> news:cppnj8$8g81@cliff.xsj.xilinx.com...
> 
>>gja,
>>
>>All single ended non reference voltage standards use the same schmidt
>>trigger single ended input circuit.
>>
>>All single ended reference voltage standards use the same differential
>>comparator which has one input tied to Vref.
>>
>>All differential input standards use the same differential comparator
>>(different that the single ended Vref one above).
>>
>>These three input circuits are selected by the type of standard chosen,
>>and are designed to operate over the range of the Vcco voltages used,
>>and designed to meet all input standards stated.
>>
>>The actual specifications obviously exceed (are better than) what is
>>required by a standard, as the circuits have to do all of the jobs, over
>>all process, voltage, and temperature corners.
>>
>>The published specifications are those of the standards, as publishing
>>anything else would confuse those who don't understand how to interpret
>>the specifications (like some purchasing agents or component engineers
>>who mindlessly compare us to our competition).
>>
>>Austin
>>
>>gja wrote:
>>
>>
>>>For Virtex II parts, I see that the Vih and Vil levels are the same for
>>>LVTTL and LVCMOS33, my question is are the input structures really
> 
> different
> 
>>>or are they the same for the two standards.  Also, are the output
> 
> structures
> 
>>>for LVTTL the same as LVCMOS33, since both Vol are the same, and LVTTL
> 
> Voh
> 
>>>is a subset of LVCMOS33 Voh.
>>>
>>>
> 
> 
> 

Article: 76902
Subject: Re: Quartus II Graphic Editor Anomaly?
From: Al Clark <dsp@danvillesignal.com>
Date: Wed, 15 Dec 2004 19:06:04 GMT
Links: << >>  << T >>  << A >>
glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote in
news:cpq10h$frl$1@gnus01.u.washington.edu: 

> 
> 
> Al Clark wrote:
> 
>> I have a bdf schematic with some pins labeled DAI[13..1] & and
>> DAI[14], DAI [15], etc. 
> 
> (snip)
> 
>> After I compile, Quartus creates new assignments of my DAI pins to
>> DAI1, DAI2, DAI3, etc and ignores all my DAI[1], DAI[2], etc
>> assignments. 
> (snip)
> 
>> Why are the brackets dropped in some cases at not in others?
> 
> Hopefully someone from Altera will explain it, but I have seen some
> effects that seem to be due to compatability with MaxPlus, which as I
> understand it assigned names without the brackets.
> 
> As I remember .bdf is the MaxPlus extension, and .gdf is the Quartus
> extension.  Rewrite the file as .gdf and maybe it will work.
> 
> The assignments, as I understand it, are stored in a different file.
> Sometimes I just edit the assignments file by hand if I can't get it
> to work otherwise.
> 
> -- glen
> 
> 

bdf is the Quartus version, gdf is the older MaxPlus version. The files 
are in bdf format. I did have the MaxPlus menu turn on in Configure. I 
have since changed to the Quartus style menu, but I don't know if the 
problem went away.

I didn't have any problem making the files work by renaming, I just don't 
like fixes that I don't understand.

I didn't even see the problem until I looked at the pinout file. I 
couldn't get the right signals at DAI[20] etc because the system 
automatically created and assigned DAI20 to an unused pin (and left the 
original DAI[20] untouched)

-- 
Al Clark
Danville Signal Processing, Inc.
--------------------------------------------------------------------
Purveyors of Fine DSP Hardware and other Cool Stuff
Available at http://www.danvillesignal.com

Article: 76903
Subject: Re: Xilinx speed grading
From: Austin Lesea <austin@xilinx.com>
Date: Wed, 15 Dec 2004 11:11:26 -0800
Links: << >>  << T >>  << A >>
"everything except the squeal"?

Now that is pretty graphic.


EasyPath(tm) is no different that selling an FPGA that has a laser fuse 
blown to replace a defective column of logic.

Gee, I wonder who does that with every part they sell?

Get over it:  a few bad memory bits (out of 20 million) is not a 
"slightly defective" part -- it is >99.99985% perfect.

Austin

Article: 76904
Subject: Xilinx FIFO
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Wed, 15 Dec 2004 11:39:55 -0800
Links: << >>  << T >>  << A >>
I am using coregen to generate FIFOs for my design and get typically 77LUTs 
and 38Registers for a 1 BLOCK RAM FIFO.  Seems like a lot.  I remember using 
Cypress parts and all the addressing and such for a FIFO was already pretty 
much incorporated into the Channel RAM, no logic was used outside the 
Channel RAM to do the basic RAM functions including FIFO.  Am I doing Xilinx 
right? Is there some primitive I should be using instead?

Brad Smallridge
b r a d @ a i v i s i o n . c o m



Article: 76905
Subject: storing convolution coeeff's Xilinx V2 8000
From: "Geoffrey Wall" <wallge@eng.fsu.edu>
Date: Wed, 15 Dec 2004 14:41:31 -0500
Links: << >>  << T >>  << A >>

I would like to store several hundred convolution coefficients for a real 
time computer vision core using Xilinx's V2 8000 series FPGA.
does anyone know the best way to do this? How many logic cells / block RAM 
does storing many constant coeff's take? Is there anyway to estimate the 
number of LC/BRAM needed to store, say X coeff's. Would it be better to 
store the coeff's in some off chip memory (like SRAM)?
Also is there a way to import these coefficients into the VHDL using some 
kind of automated process (i suppose i could write a text parser in C to 
import all the coefficients into the VHDL before synthesis, but maybe there 
is a tool to do this kind of thing)? To have to type out several hundred 
numbers every time I wished to change the filter is ridiculous...


thanks
-- 
Geoffrey Wall
Masters Student in Electrical/Computer Engineering
Florida State University, FAMU/FSU College of Engineering
wallge@eng.fsu.edu
Cell Phone:
850.339.4157

ECE Machine Intelligence Lab
http://www.eng.fsu.edu/mil
MIL Office Phone:
850.410.6145

Center for Applied Vision and Imaging Science
http://cavis.fsu.edu/
CAVIS Office Phone:
850.645.2257 



Article: 76906
Subject: Re: Altera Quartus II 4.2 broke our simulation!
From: "Subroto Datta" <sdatta@altera.com>
Date: 15 Dec 2004 11:41:49 -0800
Links: << >>  << T >>  << A >>

Nate Goldshlag wrote:
> We are using a Stratix device and have an extensive verilog test
bench.
> When we use the behavioral models altera_mf.v and 220model.v that
come
> from Quartus II version 4.2 (just out) and run the test bench (with
> vcs) it compiles just fine but gets lots of errors.  Many of the
> failures were things like register X reads xxx and should be
something
> real.  I thought maybe I might have to regenerate all the RAMs and
such
> that were generated with the Megawizard plug in manager so I did
that.
> It had no effect.  I do not have time to track down the specifics of
> why we got failures since I have a chip to develop.  Needless to say
I
> have gone back to 4.1 SP2 and its altera_mf.v and 220model.v, which
> work just fine.
>
> Does anyone else have experience, good or bad, with 4.2?
>
> Nate


Hi Nate,

Would it be possible to send me  a code sample that reproduces this
problemor your design so that we can investigate this further. I
checked with the person in charge of simulation models and he said that
these type of message should not occur.

Subroto Datta
Altera Corp.


Article: 76907
Subject: Re: Quartus II Graphic Editor Anomaly?
From: "Subroto Datta" <sdatta@altera.com>
Date: 15 Dec 2004 12:07:47 -0800
Links: << >>  << T >>  << A >>
Al Clark wrote:
> glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote in
> news:cpq10h$frl$1@gnus01.u.washington.edu:
>
> >
> >
> > Al Clark wrote:
> >
> >> I have a bdf schematic with some pins labeled DAI[13..1] & and
> >> DAI[14], DAI [15], etc.
> >
> > (snip)
> >
> >> After I compile, Quartus creates new assignments of my DAI pins to
> >> DAI1, DAI2, DAI3, etc and ignores all my DAI[1], DAI[2], etc
> >> assignments.
> > (snip)

> Available at http://www.danvillesignal.com


Hi Nate,

BDF is the Quartus extension for the schematic editor while GDF is
the Max+Plus II version of the schematic editor. The netlist extractor
semantics are the same for both of the editors. Backwards compatibility
between Max+Plus II and Quartus for schematic editing and extraction is
a key goal, as there are lots of legacy schematics that have been and
are being transferred to Quartus from Max+Plus II.

Basically the behavior you describe ([] being dropped, and the name
recreated without []) can occur in one or more of the following cases.

1. Some members of a group are of type input and some of type output.
e.g.
A[0..11] is a input and A[12] is an output. In that case the bus is
stored internally as individual bits and the bits are named A0, A1...,
A12.

2. Some members of a group do not exist. e.g. I have A[0..5] and
A[7..12] but A[6] is missing. In that case the bus is stored internally
as individual bits and the bits are named A0, A1..., A12.

3. The user has mixed notation in their design. e.g. I have used both
A[5] and A5 in the same schematic. In that case it will be stored
internally as A5.

If you are not sure which case applies to your schematic, do send your
design over and we can take a look.

The best way to ensure that the pin names used to make assignments
exist is to first compile the design through Process->Start Analysis
and Synthesis. Then use the View->Node Finder and use the Pins filter
to find the node names for pin assignments. These names may be dragged
into the Assignment Editor. Alternatively the Assignment Editor Drop
Down in the To field will show the names that can be used for Pin
Assignment.

Hope this helps,
- Subroto Datta
Altera Corp.


Article: 76908
Subject: Re: storing convolution coeeff's Xilinx V2 8000
From: hmurray@suespammers.org (Hal Murray)
Date: Wed, 15 Dec 2004 14:12:49 -0600
Links: << >>  << T >>  << A >>

>I would like to store several hundred convolution coefficients for a real 
>time computer vision core using Xilinx's V2 8000 series FPGA.
>does anyone know the best way to do this? How many logic cells / block RAM 
>does storing many constant coeff's take? Is there anyway to estimate the 
>number of LC/BRAM needed to store, say X coeff's. Would it be better to 
>store the coeff's in some off chip memory (like SRAM)?

If you have enough RAM on chip, that's the obvious simple way
to do it.  Should be easy to figure out how much you need.
Just compute how many bits you need and round up the width
to fit an integer number of chips.  Round up more if your
size isn't a power of two and such.

>Also is there a way to import these coefficients into the VHDL using some 
>kind of automated process (i suppose i could write a text parser in C to 
>import all the coefficients into the VHDL before synthesis, but maybe there 
>is a tool to do this kind of thing)? To have to type out several hundred 
>numbers every time I wished to change the filter is ridiculous...

search for data2bram



-- 
The suespammers.org mail server is located in California.  So are all my
other mailboxes.  Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 76909
Subject: Re: Inferring SRLs with INIT value
From: Kevin Neilson <kevin_neilson@removethiscomcast.net>
Date: Wed, 15 Dec 2004 13:23:19 -0700
Links: << >>  << T >>  << A >>
Kevin Neilson wrote:
> Synplify now reads the defparam 'INIT' used for instantiated SRLs, so 
> you can initialize the value of the SRL16 for both simulation and 
> synthesis with a single defparam.  However, I'm wondering if there is a 
> way to infer SRL16 Johnson rings or shift registers with an initial 
> value.  This can be done with registers by setting the 'reset' value of 
> the register to the desired value, but you can't have a reset clause 
> with SRLs or they won't get inferred as SRLs.  It would be nice to be 
> able to infer a Johnson ring because if you want to instantiate SRLs you 
> need to instantiate one for each 16 bits of the register which makes it 
> hard to parameterize it.

I also have another question:  I put a register on the output of the SRL 
to register the output.  I assumed that the register would be placed in 
the same slice as the SRL, but the placer puts them in different CLBs. 
Why would it do that?  -Kevin

Article: 76910
Subject: Re: Quartus II Graphic Editor Anomaly?
From: Al Clark <dsp@danvillesignal.com>
Date: Wed, 15 Dec 2004 20:23:20 GMT
Links: << >>  << T >>  << A >>
"Subroto Datta" <sdatta@altera.com> wrote in news:1103141267.156862.5200
@z14g2000cwz.googlegroups.com:

> Al Clark wrote:
>> glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote in
>> news:cpq10h$frl$1@gnus01.u.washington.edu:
>>
>> >
>> >
>> > Al Clark wrote:
>> >
>> >> I have a bdf schematic with some pins labeled DAI[13..1] & and
>> >> DAI[14], DAI [15], etc.
>> >
>> > (snip)
>> >
>> >> After I compile, Quartus creates new assignments of my DAI pins to
>> >> DAI1, DAI2, DAI3, etc and ignores all my DAI[1], DAI[2], etc
>> >> assignments.
>> > (snip)
> 
>> Available at http://www.danvillesignal.com
> 
> 
> Hi Nate,
> 
> BDF is the Quartus extension for the schematic editor while GDF is
> the Max+Plus II version of the schematic editor. The netlist extractor
> semantics are the same for both of the editors. Backwards compatibility
> between Max+Plus II and Quartus for schematic editing and extraction is
> a key goal, as there are lots of legacy schematics that have been and
> are being transferred to Quartus from Max+Plus II.
> 
> Basically the behavior you describe ([] being dropped, and the name
> recreated without []) can occur in one or more of the following cases.
> 
> 1. Some members of a group are of type input and some of type output.
> e.g.
> A[0..11] is a input and A[12] is an output. In that case the bus is
> stored internally as individual bits and the bits are named A0, A1...,
> A12.

This is the case for my example.

> 
> 2. Some members of a group do not exist. e.g. I have A[0..5] and
> A[7..12] but A[6] is missing. In that case the bus is stored internally
> as individual bits and the bits are named A0, A1..., A12.

Maybe also true
 
> 3. The user has mixed notation in their design. e.g. I have used both
> A[5] and A5 in the same schematic. In that case it will be stored
> internally as A5.
> 
> If you are not sure which case applies to your schematic, do send your
> design over and we can take a look.
> 
> The best way to ensure that the pin names used to make assignments
> exist is to first compile the design through Process->Start Analysis
> and Synthesis. Then use the View->Node Finder and use the Pins filter
> to find the node names for pin assignments. These names may be dragged
> into the Assignment Editor. Alternatively the Assignment Editor Drop
> Down in the To field will show the names that can be used for Pin
> Assignment.
> 
> Hope this helps,
> - Subroto Datta
> Altera Corp.
> 
> 

Thank you for your explanation. Can you tell me where this information is 
in your documentation?

I have a new question:

I have unused inputs that may be used in a future design. They must be 
inputs to avoid contention with other devices. I assigned the pin as a 
reserved input in the assignment editor and also individually assigned it 
as an tri input. Will the pullup be present? If not, how do I assign an 
unused pin as an input with a pullup. I am using a Cyclone.




-- 
Al Clark
Danville Signal Processing, Inc.
--------------------------------------------------------------------
Purveyors of Fine DSP Hardware and other Cool Stuff
Available at http://www.danvillesignal.com

Article: 76911
Subject: PACE question
From: Kevin Neilson <kevin_neilson@removethiscomcast.net>
Date: Wed, 15 Dec 2004 13:27:07 -0700
Links: << >>  << T >>  << A >>
I've been using PACE, which is a pretty nice tool.  It has less 
functionality but is much easier to use than Floorplanner.  However, I 
have a question about it.

Say I have a design that has a top-level module, 'top_level', and three 
modules underneath, named 'level2_a', 'level2_b', and 'level2_c'.  I can 
place 'top_level' using PACE.  I can place any of the submodules 
separately.  However, what if I want to create a block and drop in 
'level2_a' and 'level2_b', but not 'level2_c'?  I can't seem to figure 
out how to do that.
-Kevin

Article: 76912
Subject: Xilinx ISE 6.3.03i service pack size
From: "gja" <geeja.ats@att.net>
Date: Wed, 15 Dec 2004 15:37:15 -0500
Links: << >>  << T >>  << A >>
Just got the popup about the ISE 6.3.03i service pack, went to the Xilinx
site and the page says 6_3_03i_pc.exe
is 110Mb. Downloaded it and it came out to 261Mb ??



Article: 76913
Subject: Re: Xilinx speed grading
From: rickman <spamgoeshere4@yahoo.com>
Date: Wed, 15 Dec 2004 15:40:04 -0500
Links: << >>  << T >>  << A >>
Austin Lesea wrote:
> 
> "everything except the squeal"?
> 
> Now that is pretty graphic.
> 
> EasyPath(tm) is no different that selling an FPGA that has a laser fuse
> blown to replace a defective column of logic.
> 
> Gee, I wonder who does that with every part they sell?
> 
> Get over it:  a few bad memory bits (out of 20 million) is not a
> "slightly defective" part -- it is >99.99985% perfect.

Isn't being 99.99985% perfect like being 0.00015% pregnant?  ;)

-- 

Rick "rickman" Collins

rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.

Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design      URL http://www.arius.com
4 King Ave                               301-682-7772 Voice
Frederick, MD 21701-3110                 301-682-7666 FAX

Article: 76914
Subject: Re: Xilinx ISE 6.3.03i service pack size
From: "B. Joshua Rosen" <bjrosen@polybus.com>
Date: Wed, 15 Dec 2004 15:59:43 -0500
Links: << >>  << T >>  << A >>
On Wed, 15 Dec 2004 15:37:15 -0500, gja wrote:

> Just got the popup about the ISE 6.3.03i service pack, went to the Xilinx
> site and the page says 6_3_03i_pc.exe
> is 110Mb. Downloaded it and it came out to 261Mb ??

The 139MB is a mistake, the Firefox downloader says it's 297.7MB for the
Linux version.


Article: 76915
Subject: Digital clock synthesis
From: hmurray@suespammers.org (Hal Murray)
Date: Wed, 15 Dec 2004 15:18:31 -0600
Links: << >>  << T >>  << A >>
This is leftover from a couple of discussions a week or two ago.
There is something interesting that I don't understand.

In general, if I have an input clock and I want to generate
an output clock, and the output clock is (much) slower than
the input clock, I can do that with a FSM.

The jitter on the output clock can be up to 1/2 of the input
clock off.  (If it's off more, move it over by one.)  If you
are lucky and the numbers work out exactly, you get no jitter.
(For example, dividing by 4.)

But how close is the frequency?  The output frequency is
  out = in * X / Y
Y is the number of states in the FSM.

Some combinations of X and Y give a better match to the
target frequency.  I'm pretty sure a math wizard would use
continued fractions to explain it.

I know how to implement this if Y is a power of 2.  That's
just an adder and it generally fits well into FPGA.  Given
a minute or 3, I can work out the value of the constant to
add.

It's easy to get closer to the target frequency by using more
bits in the adder.  If the bottom bit of the constant isn't a
1, then the adder will skip 1/2 (or 3/4 or..) of the states.
So there are sweet spots where the bottom bit of the constant
is a 1.

  This approach is also convenient if you want to make
  a sine wave rather than a square wave since you can
  feed the top N bits of the adder to a ROM lookup table.

But powers of 2 may not work as well as some simple pairs
of X and Y.  Is there a simple implementation technique
for arbitrary Y that fits well into FPGAs?  Is it something
as simple as use an adder and reset it back to 0 after Y
steps?

Is there a good web page or book that covers this area?

Next step is to understand the spectrum of the synthesised
clock.

-- 
The suespammers.org mail server is located in California.  So are all my
other mailboxes.  Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 76916
Subject: Re: Digital clock synthesis
From: "Peter" <peter@xilinx.com>
Date: 15 Dec 2004 13:39:48 -0800
Links: << >>  << T >>  << A >>
Use Direct Digital Synthesis (DDS) which really means that you
accumulate phase angles.

Think of a 10-bit binary accumulator.
If the value you accumulate is 1, then it will take 1024 clock pulses
to overflow.
If you accumulate a 2, it will take 512 clock ticks etc.
The overflow frequency is thus determined by the 10-bit value you are
accumulating, with a resolution of 1 part in 1024 (but also with a max
jitter of half a clock period.)
With a 27-bit accumulator clocked at 100 MHz, you can generate any
integer Hz frequency, but with 5 ns jitter.
Peter Alfke, Xilinx Applications


Article: 76917
Subject: Re: Pal programming
From: oil4war@aol.com (Oil4war)
Date: 15 Dec 2004 21:47:52 GMT
Links: << >>  << T >>  << A >>
16V*  is  most  pupular low cost chip.  from  1984,  Abel 1.1   and  many  DOS 
stuff.  If  you  want,   I  can  burn    a  CD  for  you.  I  block  E-mail  in
 this AOL.

hope  your  E-mail  addr.  is  real  one.

Article: 76918
Subject: Re: Xilinx FIFO
From: "Peter" <peter@xilinx.com>
Date: 15 Dec 2004 13:51:36 -0800
Links: << >>  << T >>  << A >>
In the new Virtex-4 devices, we incorporate a FIFO controller in every
BlockRAM,so the controller is free, and it can handle asynchronous
clocks at up to 500 MHz.

The high logic count for the controller that you quoted may be due to
elaborate design tricks to cope with fast asynchronous clocks, and the
need to generate a reliable EMPTY and FULL signal, even at very high
speed. And perhaps also a partial FULL/EMPTY output. That requires
duplicated Binary and Gray counters with sophisticated comparators and
special precautions against metastability problems (All of which we did
in the hidden controller in Virtex-4).
If you are not running so fast, some of this can be eliminated in your
Virtex-II or Spartan design, but you have to be careful. Asynchronous
clocks can bite you, unless you really know what you are doing...
Peter Alfke


Article: 76919
Subject: Re: Xilinx speed grading
From: "Peter" <peter@xilinx.com>
Date: 15 Dec 2004 13:55:16 -0800
Links: << >>  << T >>  << A >>
ASICs would be very happy if they could promise  99.99985% testability
...
Peter Alfke


Article: 76920
Subject: Re: Xilinx speed grading
From: Austin Lesea <austin@xilinx.com>
Date: Wed, 15 Dec 2004 14:31:04 -0800
Links: << >>  << T >>  << A >>
Rick,

The simple answer?  No, it is not.

One bad bit doth not a bad chip make.

If it did, the entire RAM business would be out of business.

All RAM (and EPROM) use redundant rows or columns, and redundant repair 
(or self repair) structures.

Music CD's run with error correction correcting errors all the time 
(there is practically no interval where there is a single packet with 0 
errors).

Cell phones work with forward error correction, and they too run in the 
errored region all the time.

Austin

rickman wrote:
> Austin Lesea wrote:
> 
>>"everything except the squeal"?
>>
>>Now that is pretty graphic.
>>
>>EasyPath(tm) is no different that selling an FPGA that has a laser fuse
>>blown to replace a defective column of logic.
>>
>>Gee, I wonder who does that with every part they sell?
>>
>>Get over it:  a few bad memory bits (out of 20 million) is not a
>>"slightly defective" part -- it is >99.99985% perfect.
> 
> 
> Isn't being 99.99985% perfect like being 0.00015% pregnant?  ;)
> 

Article: 76921
Subject: Re: Digital clock synthesis
From: "Falk Brunner" <Falk.Brunner@gmx.de>
Date: Wed, 15 Dec 2004 23:41:13 +0100
Links: << >>  << T >>  << A >>

"Hal Murray" <hmurray@suespammers.org> schrieb im Newsbeitrag
news:beudnbybkd66N13cRVn-qg@megapath.net...

> The jitter on the output clock can be up to 1/2 of the input
> clock off.  (If it's off more, move it over by one.)  If you
> are lucky and the numbers work out exactly, you get no jitter.
> (For example, dividing by 4.)
>
> But how close is the frequency?  The output frequency is
>   out = in * X / Y
> Y is the number of states in the FSM.

What you describe is called DDS, Direct Digital Synthesis. Go to
www.analog.com, they have plenty of stuff for that. And also a very good
tutorial on the toppic.

>   This approach is also convenient if you want to make
>   a sine wave rather than a square wave since you can
>   feed the top N bits of the adder to a ROM lookup table.
>
> But powers of 2 may not work as well as some simple pairs
> of X and Y.  Is there a simple implementation technique
> for arbitrary Y that fits well into FPGAs?  Is it something

Again, DDS. It look a little bit weired on the first sight, but then turn
out to a (almost) perfect oscillator.

Regards
Falk




Article: 76922
Subject: Re: Xilinx ISE 6.3.03i service pack size
From: Bret Wade <bret.wade@xilinx.com>
Date: Wed, 15 Dec 2004 16:07:17 -0700
Links: << >>  << T >>  << A >>
B. Joshua Rosen wrote:
> On Wed, 15 Dec 2004 15:37:15 -0500, gja wrote:
> 
> 
>>Just got the popup about the ISE 6.3.03i service pack, went to the Xilinx
>>site and the page says 6_3_03i_pc.exe
>>is 110Mb. Downloaded it and it came out to 261Mb ??
> 
> 
> The 139MB is a mistake, the Firefox downloader says it's 297.7MB for the
> Linux version.
> 

The sizes on the web page are being corrected. Meanwhile, here are the 
correct numbers:

6_3_03i_sol.tar.gz --> 287 MB
6_3_03i_lin.tar.gz --> 291 MB
6_3_03i_pc.exe --> 261 MB

Bret

Article: 76923
Subject: Re: Xilinx Christmas present: EDK 6.3 !
From: Matthew Ouellette <nobody@nobody.com>
Date: Wed, 15 Dec 2004 15:10:59 -0800
Links: << >>  << T >>  << A >>
Antti,

Can you add the LMB signals to your ChipScope trace?  What is the 
processor doing during these 512 cycles of inactivity in between GPIO 
writes?  One way to help find this out is to cross-reference the objdump 
output of the ELF file with the I-LMB to find out where in your code the 
processor is.

One thing you may want to try to do with to replace the GPIO drivers 
with simple XIo_Out32 commands that may take fewer processor clock 
cycles to execute.   It's possible the during this 512 clock cycle OPB 
inactivity, MicroBlaze is actually executing the rest of the GPIO driver 
code.

Matt

Antti Lukats wrote:
> Hi all,
> 
> Christmas is closing so everybody is making presents. So is Xilinx. I just
> got mine! Read the story below:
> ***********************************************************************
> ISE/EDK/ChipScope update to 6.3
> 
> In attempt to get our EDK based SoC systems up and running again in EDK 6.3
> I ended up creating simplest possible SoC using BSB (because none of working
> EDK 6.2 projects worked after update no matter any attempts to get them
> working). Attempted to debug in XMD: fatal disaster BRAM can be loaded from
> elf, can also look at the disassembly all is ok. Any attempt to trace or
> execute simplest program and all goes pasta, not any more possible to view
> (or write) even to LMB RAM ! Then I added ChipScope bus analyzer core to OPB
> bus. And simplified the test application. Here is the source code:
> 
> -----------------------------------------------------------
> // Xilinx Christmas Lights application ver 1.0
> while (1) {
>    i++;
>    WriteToGPOutput(XPAR_LED_7SEGMENT_BASEADDR, i);
>  }
> -----------------------------------------------------------
> This is running in MicroBlaze SoC at system frequency 50MHz. Pretty much all
> leds should be lit, right? Or?
> 
> It looks like (due to Christmas feeling !?) Xilinx tools have decided for me
> that my application should be "Christmas Lights" - because that how it
> works! The LEDS are blinking in fancy true random fashion at "human" blink
> rate, ie very slowly. The visual effects are pretty cool, really!
> 
> When looking in ChipScope (OPB bus analyzer) I see writes to the GPIO port:
> 0x00800000, 0x01000000,0x02000000,0xFFFFFFE,0xFFFFFFC... Those are 5 example
> sequential writes to GPIO port (from the above program!), notice that
> between the GPIO writes there is always more than 512 OPB clocks of no OPB
> bus activity.
> 
> And yes, I did UNINSTALL ALL ISE/EDK/ChipScope before update, then installed
> all the new versions plus service packs, etc..
> 
> ***********************************************************************
> 
> Antti
> 
> 

Article: 76924
Subject: Re: Xilinx FIFO
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Wed, 15 Dec 2004 15:15:44 -0800
Links: << >>  << T >>  << A >>
No, as far as I know I picked the Synchronous option.  And there seems to be 
no way to elliminate the Empty and Full flag outputs, which I don't think I 
will be using, left them open in the instantiation.  There also is no 
relative placing of the support counters, either with respect to each other 
or close to the RAM block. Nice to know that the Virtex has some of this 
stuff built in.

Brad





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