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 68850

Article: 68850
Subject: Re: OT: Gigabit Ethernet MAC Throughput
From: hmurray@suespammers.org (Hal Murray)
Date: Tue, 20 Apr 2004 16:09:20 -0000
Links: << >>  << T >>  << A >>
>On the PCI bus (64-bit, 66MHz), it shows that for every frame that
>was fetch by the MAC, it has to read one descriptor and then write
>one descritor, to release the ownership. From the datasheet, we cannot
>find ways to burst the frames, in order to decrease the overhead
>due to the handling of descriptors. Or is there?

Where are the descriptors stored?  Off chip RAM?  If so, consider
putting them on chip.  Or you could add special logic to cache
a clump of descriptors on chip.

-- 
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: 68851
Subject: Re: Trouble with rising edge signals in functional simulation
From: "paris" <273986malaka@email.it>
Date: Tue, 20 Apr 2004 18:18:11 +0200
Links: << >>  << T >>  << A >>

"arkaitz" <arkagaz@yahoo.com> escribió en el mensaje
news:c1408b8c.0404200442.645ab522@posting.google.com...
> Hi,
>
> I have a FF in my design whose reset and set are separate conditions:
>
>   process( rst, clk )
>   begin
>     if ( rst = '1' ) then
>       output <= '0';
>     elsif ( clk'event and clk = '1' ) then
>       if ( set = '1' ) then
>         output <= '1';
>       end if;
>       if ( reset = '1' ) then
>         output <= '0';
>       end if;
>     end if;
>   end process;
>

you have two resets on the same FF?
one synchronous and another one asynchronous, but i guess you know that :)
what are you using "output" for?

> This works fine but now I want the reset condition to be a rising edge
> detector signal, so:
>
>   process( rst, clk )
>   begin
>     if ( rst = '1' );
>       aux <= '0';
>     if ( clk'event and clk = '1' ) then
>       aux <= input;
>     end if;
>   end process;
>
>   reset <= not(aux) and input;
>

so you want to reset the first FF on a rising edge of "input"?
then why dont you write the code like that then?


> The "input" signal is synchronous to my design and periodical but its
> period is about 16 times the clock period. When I execute the
> functional simulationwith ModelSim SE 5.6f, the "reset" signal appears
> as a glitch since the "input" and "aux" signals change their values in
> the same clock edge.
>
> Because of this, the "output" signal is never reseted.
>
> I believe that the timing simulation may vary and the design could
> work correctly because of the "clock to output" of the FFs, but I'n
> not sure.
>
> Any suggestions?
>

if you think it'd work in the reality because of the delays, you could use
"after" on the signal assignations.

you could also try using the asynchronous reset of the first FF

but still, i dont think i understand what you're trying to do

> Thanks in advance,
>
> Arkaitz.
>
> ---------------------------
> Electronics Area
> IKERLAN
> Pº J. M. Arizmendiarrieta, 2
> 20500 Arrasate (Gipuzkoa)
> ---------------------------



Article: 68852
Subject: Re: Clock Enables and Power
From: rickman <spamgoeshere4@yahoo.com>
Date: Tue, 20 Apr 2004 12:37:57 -0400
Links: << >>  << T >>  << A >>
Peter Alfke wrote:
> 
> Clock Enables vs multiple clocks is a trade-off.
> If you are not concerned about power, then a single low0skew global clock
> and a "sloppier" network of CEs requires the least amount of thinking.
> Multiple derived clocks mean that you have to think about clock transfer
> from one clock domain to the next, you may have to use multiple
> PLL/DLL/DCMs.

That reminds me of another issue.  When you use a single clock with
clock enables, you have to produce timing constraints to allow the
enabled parts of the circuit to be routed with lesser constraints.  But
this is one part of the design process that is prone to error and has no
method of verification that I am aware of.  Of course some would say
that you only need to "pay careful attention" to the timing constraints,
but you can make that argument about *any* part of the design process. 
The point is that if you use separate clocks, the timing constraints are
very simple and much harder to mess up.  With a single clock and
multiple clock enables, the timing constraints are not so simple and
very easy to make mistakes.  

What is really needed is a method of verification of timing constraints,
just like we have verification of other aspects of the design process.  

-- 

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: 68853
Subject: Re: State machines vs. Schematics
From: mike_treseler@comcast.net (Mike Treseler)
Date: 20 Apr 2004 10:19:38 -0700
Links: << >>  << T >>  << A >>
Thomas Bartzick wrote 

> what's better for a reliable and compact (fpga!)-design:
> - To compose the design structure in state machines as much as
> possible?

A state machine is a quite limited subset of the
synthesizable descriptions available in the
synchronous vhdl process template. If you
want to try a vhdl description, focus first on learning
the synchronous process.

> or
> - To make strong use of small single components (e.g. FFs, counters,
> etc.), for which there can be implemented as library-elements or as
> behavioural parts.

Schematic or netlist design entry might be
reasonable if you don't have time to learn
an HDL.

> Is there existing a application dependent guide of "good" design?

A good design has a working functional testbench, meets static timing,
fits in the intended device, and is easy to read and change.

 -- Mike Treseler

Article: 68854
Subject: Re: PLL and DLL
From: Dwayne Surdu-Miller <miller@SEDsystems.nospam.ca>
Date: Tue, 20 Apr 2004 11:25:28 -0600
Links: << >>  << T >>  << A >>
Hi Muthu,

PLLs and DLLs are used to generate clocks of different frequencies by 
making use of a single input clock.  An important characteristic of PLL 
and DLL output clocks is that they are 'locked' to the input clock.

If the clocks are used to clock data through an FPGA, a PLL or DLL will 
generate an output clock that is a precisely-specified multiple or 
fraction of the input clock.  That is, a PLL or DLL should prevent 
"clock creep", where data-clocking rates vary ever-so-slightly so that 
your data processing logic experiences long-term problems with buffer 
overflows or under-runs.

I hope I will be corrected if I am wrong about DLLs, but DLLs will clean 
up a certain amount of input clock 'jitter' (also called phase-noise). 
If the relationship between the input frequency and the output frequency 
is divisible by a power of two, the DLL's output clock should have very 
little jitter.  If the relationship is more arbitrary, the output clock 
will have a certain amount of jitter.  DLL's are great for doubling, 
quadrupling, or halving input clock rates.  They aren't so great if you 
want a clock division of, say, seven-elevenths, or a clock 
multiplication of 19.842.

A PLL/VCO combination is generally (I believe) less tolerant of input 
clock jitter, but can produce a more arbitrary clock division or 
multiplication within a reduce operating range, while minimizing output 
clock jitter.

For example, if you want your FPGA logic to perform a rate conversion of 
digital audio data from 44.1 KSPS to 32 KSPS while observing jitter 
restrictions imposed by a standard like AES3, you would likely use a 
PLL/VCO to perform the clock conversion.

If, in this example, jitter was not a concern, a DLL could be used to 
perform the conversion.

If you want parts of your FPGA logic to, say, operate at twice or 4x the 
input clock rate, you could use a DLL to generate a logic clock that is 
a multiple of your input clock rate.

Best regards,
Dwayne Surdu-Miller


Article: 68855
Subject: Re: Image-reject IF downmixing
From: "Kevin Neilson" <kevin_neilson@removethiscomcast.net>
Date: Tue, 20 Apr 2004 17:41:22 GMT
Links: << >>  << T >>  << A >>
Ray,
I've seen that idea presented before but I don't think I can combine
mixing/filtering in my case because I'm using the IF mixer to do carrier
synchronization so I need to be able to precisely control the LO with an
NCO.
-Kevin
"Ray Andraka" <ray@andraka.com> wrote in message
news:408466B4.85D6AF45@andraka.com...
> You need a filter in there (unless you are not downsampling and there is
no
> out-of-band signal), however you can play some optimization tricks with
the
> math to roll the mixer into the filter if the LO is a multiple of your
input
> sample rate.  What you end up with is a polyphase filter that has the
mixer
> convolved with it so that you get both mixing and filtering.   If you want
to
> run the mixer slower, that can be done by bandlimiting the signal before
the
> mix and subsampling.
>
> Kevin Neilson wrote:
>
> > When digitally mixing an IF down to baseband, one is left with a
spectrum
> > that consists of the baseband (Fif - Fmix = 0Hz) and an image (Fif +
Fmix).
> > If the IF is greater than the Nyquist freq, the image will wrap back
into
> > the first Nyquist zone (0 to Fn).
> >
> > Normally the next step in demodulation is decimation, which consists of
> > lowpass filtering out the image (often with CICs) and then dropping some
of
> > the resultant samples to get a lower sample rate.
> >
> > Is there a method by which an image-reject mixer could mix the IF down
to
> > baseband while simultaneously cancelling the image?  If so, it seems
like
> > there would be no filtering required for decimation, which would consist
> > entirely of throwing samples out.  Then it also seems that the mixer
itself
> > could run at the slower decimated rate.
> >
> > Or is that all just another way of saying "undersampling"?
> > -Kevin
>
> --
> --Ray Andraka, P.E.
> President, the Andraka Consulting Group, Inc.
> 401/884-7930     Fax 401/884-7950
> email ray@andraka.com
> http://www.andraka.com
>
>  "They that give up essential liberty to obtain a little
>   temporary safety deserve neither liberty nor safety."
>                                           -Benjamin Franklin, 1759
>
>



Article: 68856
Subject: Re: State machines vs. Schematics
From: Bassman59a@yahoo.com (Andy Peters)
Date: 20 Apr 2004 11:02:40 -0700
Links: << >>  << T >>  << A >>
t.bartzick@gmx.net (Thomas Bartzick) wrote in message news:<cdd36e13.0404200619.175f2416@posting.google.com>...
> Hi,
> 
> what's better for a reliable and compact (fpga!)-design:
> 
> - To compose the design structure in state machines as much as
> possible?
> 
> or
> 
> - To make strong use of small single components (e.g. FFs, counters,
> etc.), for which there can be implemented as library-elements or as
> behavioural parts.
> 
> Any preferences?

My preference is for a design that functions reliably and can be
understood by a human six weeks after it was coded.

In other words, neither of your choices.

Some designs lend themselves well to formal state-machine descriptions
(like, say, an SDRAM controller).  Others will need a mixture of
things.  A DMA controller will usually have some sort of state-machine
control, but will use counters for the addressing mechanisms, and will
have some other glue logic to handle corner cases and such.

I avoid directly instantiating vendor library models as much as
possible, as it makes porting between vendors (and even device
families within a single vendor's portfolio) difficult.  If there's
something that I must instantiate, I put it in a module instantiated
by the higher-level code.  A generate can be used to select the module
with the library element or a different module with a behavioral
model, or a module with a library element for a different
device/family.

Really, trying to pigeonhole all of your designs into one style of
coding is a bad idea.

-a

Article: 68857
Subject: Re: What does a "background check" mean? ...
From: rickman <spamgoeshere4@yahoo.com>
Date: Tue, 20 Apr 2004 14:05:57 -0400
Links: << >>  << T >>  << A >>
Andrew Leo wrote:
> 
> Hi, there:
> 
> I went for an interview with a R&D center of an american company.
> One week after the interview the interviewer sent me a letter asking me
> to sign a paper for background check..What does that mean? AFAIK
> this is not customery in my country...Under what circumstance do they
> ask for background check? How do I know whether they abuse my
> rights? What kind of information may they check and what not? Is it
> compulsory for an american co to perform this check?

Some employers are now asking for information about the potential
employee that would have been considered an invasion of privacy just 10
years ago.  One notable company is Tellabs.  A few years ago they
invited me to interview with them and sent me a package of papers to
sign prior to the interview.  In the package were four different forms
asking permission to investigate aspects of my private life.  One was a
financial form for them to look into my credit and financial accounts. 
Another was a background investigation for them to look up my
personal/criminal history.  A third was permission to give me a drug
test.  But the one that really got me was the permission to look into my
medical records!!!  I told them that this was not acceptable.  I should
have simply not interviewed at all, but they compromised to let me
interview without signing the forms with the understanding that I would
have to sign before they would hire me.  

The interview was equally strange.  They had a "hiring" lobby with very
small interview rooms at one end.  It was clear that this entire area
was a "poor stepchild" with broken tables and no decorations; just the
opposite of how most companies present themselves to prospective
employees.  

In the end they did not follow through with a follow up interview or an
offer.  But I am sure at least part of this was due to my balking at
signing the permission forms.  The entire hiring process requires a
certain amount of trust on the part of both parties.  That is why hiring
is not permanent.  I don't see how offering a job is such a momentous
financial commitment that it requires giving up personal privacy that
would otherwise be illegal.  You don't have to release medical records
even for a security clearance.  

To answer your question, a background check can include anything about
your past that they care to investigate.  It will clearly include a
criminal history check and employment verification.  I can also include
interviews with family, friends and those or may not be so friendly. 
When the government does this, you are guaranteed an opportunity to
respond to any negative comments.  But with an employeer, you have no
rights if they don't like what they hear.  In fact, you will likely
never be told what was even said that they didn't like.  

My suggestion is to walk away from this employer and to explain to them
why.  Their attitude is likely that if you don't want to allow a check,
you must have something to hide.  But if enough potential employees take
the high road, they will eventually realize that their policy is hurting
them more than it is helping.   

-- 

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: 68858
Subject: Re: Trouble with rising edge signals in functional simulation
From: Bassman59a@yahoo.com (Andy Peters)
Date: 20 Apr 2004 11:09:24 -0700
Links: << >>  << T >>  << A >>
arkagaz@yahoo.com (arkaitz) wrote in message news:<c1408b8c.0404200442.645ab522@posting.google.com>...
> Hi,
> 
> I have a FF in my design whose reset and set are separate conditions:
> 
>   process( rst, clk )
>   begin
>     if ( rst = '1' ) then
>       output <= '0';
>     elsif ( clk'event and clk = '1' ) then
>       if ( set = '1' ) then
>         output <= '1';
>       end if;
>       if ( reset = '1' ) then
>         output <= '0';
>       end if;
>     end if;
>   end process;

Ask yourself: "What happens when both set and reset are simultaneously
asserted?"  You may have a problem here.
 
> This works fine but now I want the reset condition to be a rising edge
> detector signal, so:
> 
>   process( rst, clk )
>   begin
>     if ( rst = '1' );
>       aux <= '0';
>     if ( clk'event and clk = '1' ) then
>       aux <= input;
>     end if;
>   end process;
> 
>   reset <= not(aux) and input;
> 
> The "input" signal is synchronous to my design and periodical but its
> period is about 16 times the clock period. When I execute the
> functional simulationwith ModelSim SE 5.6f, the "reset" signal appears
> as a glitch since the "input" and "aux" signals change their values in
> the same clock edge.
 
I notice that the second process doesn't have "elsif (clk'event ...),"
rather, it's simply an "if" in parallel with the async reset.  What
does the signal "aux" look like in your simulation?

> Because of this, the "output" signal is never reseted.
> 
> I believe that the timing simulation may vary and the design could
> work correctly because of the "clock to output" of the FFs, but I'n
> not sure.

No, it looks like a coding error to me.

--a

Article: 68859
Subject: Re: Clock Enables and Power
From: "Symon" <symon_brewer@hotmail.com>
Date: Tue, 20 Apr 2004 11:34:39 -0700
Links: << >>  << T >>  << A >>
"rickman" <spamgoeshere4@yahoo.com> wrote in message
news:408551E5.132C60F3@yahoo.com...
> The point is that if you use separate clocks, the timing constraints are
> very simple and much harder to mess up.  With a single clock and
> multiple clock enables, the timing constraints are not so simple and
> very easy to make mistakes.
Hey Rick,
Very true! The only exception could be that bit in the multi-clock design
where the signals travel from one clock domain to another. If you go the
'enabled' route you need only worry about getting that enable correct. The
multi-clock route could have a lot of places where signals cross domains,
each needing attention in the timing constraints, both delay and skew.
So, I'm a convert to the 'enabled' way. I use that circuit you stuck on here
a few months back (ta very much!) to generate my enables, and I have a Perl
script to work out the MAXDELAYs from the two clock rates, net delays and
Tckos, Ticks. I've found that the
NET "CLK_EN" TNM=FFS "CLK_EN_FFS";
is pretty reliable these days, especially if you use the 'direct_enable'
directive in Synplify. It would be even nicer if you could group stuff into
timing groups in the source code, but that's not really there yet. Which
makes me think, why isn't easy timing constraints part of the RTL HDL
languages?
cheers, Syms.



Article: 68860
Subject: Re: Trouble with rising edge signals in functional simulation
From: rrr@ieee.org (Rajeev)
Date: 20 Apr 2004 12:44:59 -0700
Links: << >>  << T >>  << A >>
Arkaitz,

Logic looks OK except I would have used elsif clause.  I suspect 
that your "input" signal, although synchronous, is external to
the block you're simulating.  If so, assert it _in_the_simulation_
on a falling clock edge.  Think of it this way.  Label the rising
edges T=0,1,2,3.  Then if input goes high on clk T=2, it really
goes high "a little while after" T=2 but well before T=3 (we hope!
but timing is outside the scope of functional simulation).  So
by asserting it at T=2.5 (ie falling edge) you're telling the
simulator that "input" was low at T=2 but high at T=3... which is
(hopefully) what you want.  I found it confusing at first but
got used to it after a while.  Other people may think of it 
differently and perhaps more elegantly.

Hope this helps,
-rajeev-
---------------
arkagaz@yahoo.com (arkaitz) wrote in message news:<c1408b8c.0404200442.645ab522@posting.google.com>...
> Hi,
> 
> I have a FF in my design whose reset and set are separate conditions:
> 
>   process( rst, clk )
>   begin
>     if ( rst = '1' ) then
>       output <= '0';
>     elsif ( clk'event and clk = '1' ) then
>       if ( set = '1' ) then
>         output <= '1';
>       end if;
>       if ( reset = '1' ) then
>         output <= '0';
>       end if;
>     end if;
>   end process;
> 
> This works fine but now I want the reset condition to be a rising edge
> detector signal, so:
> 
>   process( rst, clk )
>   begin
>     if ( rst = '1' );
>       aux <= '0';
>     if ( clk'event and clk = '1' ) then
>       aux <= input;
>     end if;
>   end process;
> 
>   reset <= not(aux) and input;
> 
> The "input" signal is synchronous to my design and periodical but its
> period is about 16 times the clock period. When I execute the
> functional simulationwith ModelSim SE 5.6f, the "reset" signal appears
> as a glitch since the "input" and "aux" signals change their values in
> the same clock edge.
> 
> Because of this, the "output" signal is never reseted.
> 
> I believe that the timing simulation may vary and the design could
> work correctly because of the "clock to output" of the FFs, but I'n
> not sure.
> 
> Any suggestions?
> 
> Thanks in advance,
> 
> Arkaitz.
> 
> ---------------------------
> Electronics Area		
> IKERLAN 					
> Pº J. M. Arizmendiarrieta, 2
> 20500 Arrasate (Gipuzkoa)
> ---------------------------

Article: 68861
Subject: Re: What does a "background check" mean? ...
From: peb@amleth.demon.co.uk ("Paul E. Bennett")
Date: Tue, 20 Apr 2004 20:48:03 +0000 (UTC)
Links: << >>  << T >>  << A >>
In article <c635ne$sjp$1@reader01.singnet.com.sg>
           asdf@aef.com "Andrew Leo" writes:

> Hi, there:
> 
> I went for an interview with a R&D center of an american company.
> One week after the interview the interviewer sent me a letter asking me
> to sign a paper for background check..What does that mean? AFAIK
> this is not customery in my country...Under what circumstance do they
> ask for background check? How do I know whether they abuse my
> rights? What kind of information may they check and what not? Is it
> compulsory for an american co to perform this check?

Most often the background check will be with former employers. However,
depending on the type of work you are interviewing for, you may find 
that the employer will need more in-depth details of your background.

Whatever they want they should make it clear what checks they are
conducting. The only exception may be a government company when
they will really run you through the mill. When they do it can be
quite daunting for you, your family and your friends.

My current clients, like another respondent, also asked permission 
to obtain my medical history. All with nothing but the best of 
intentions of course as I am a classified radiation worker in my 
current position. In addition to the gaining of the medical history
they also put me through a very thorough medical each and every year.

The best advice is:-
  * ensure that they make the reasons for asking for the background
    check very clear to you. The final appointment may depend on you
    being trustworthy enough for the position (especially if there
    is an element of responsibility for money).

 * be honest with them, even if your past is not quite so squeaky 
   clean.

-- 
********************************************************************
Paul E. Bennett ....................<email://peb@amleth.demon.co.uk>
Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/>
Mob: +44 (0)7811-639972 .........NOW AVAILABLE:- HIDECS COURSE......
Tel: +44 (0)1235-811095 .... see http://www.feabhas.com for details.
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************


Article: 68862
Subject: Re: Microblaze Sub-Module Adventure
From: "Morris Ho" <morris.ho@comcast.com>
Date: Tue, 20 Apr 2004 22:09:12 GMT
Links: << >>  << T >>  << A >>
Thanks for the hint Paulo.

I did follow the Project Options flow as you suggested the first time
around.  The only time the sub-module flow in Nav created a BMM file with
BRAM locations is when I selected the sub-module (as top design) only and
did the full implementation.  My top level schematic was out of the picture
using this method, so that implementation with the sub-module as a the new
top level design was not useful.

I read that Xilinx only allows association of the BMM file with the top
level design.  Trying to move the BMM file from the sub-module to associate
with the schematic top level design only resulted in a BRAM error, which I
expected.

My understanding of a sub-module is for instantiation in a top level design.
Since the BMM with placements is generated only for a top level design, I
would never get a BMM file with placements with my schematic top level
design, since the BMM file is associated with a sub-module.  So my
conclusion is that XPS allows exporting a sub-module to an existing top
level design in Nav, but Nav is inconsistent in that it won't generate the
placement vesion of the BMM file since the sub-module is by definition not
the top level design.  If you have a sample project with a XPS submodule and
bitgen generated BMM file with placements, I would like to see it.  Xilinx
gave up on my web case 527286.

"Paulo Dutra" <paulo.dutra@xilinx.com> wrote in message
news:408470CE.5030802@xilinx.com...
> Probably, your hieararchy path in the BMM doesn't correctly
> reflect your submodule path. In submodule flow, platgen
> generates a system_stub.bmm instead of the system.bmm. The
> system_stub.bmm contains hierarchy path of the submodule
> in your system.
>
> In xps, selecting "Project Options" -> "Hierarchy & Flow",
> you can submodule flow plus add the instance name of the
> instantiate submodule in your schematic toplevel. This
> written to system_stub.bmm
>
> It's bitgen in the iSE flow, that writes out system_stub_bd.bm
> that contains the placement info of the blockrams. The
> system_stub_bd.bm by data2mem to initialize your bitstream.
>
> Morris Ho wrote:
> > Tools used: EDK and ISE 6.2 on Win2000.  I compiled the Memec HelloWorld
> > project and successfully ran it on their Spartan IIELC reference design
> > board.
> >
> > With this working project, I changed its properties to a sub-module and
> > exported it to Project Navigator project that had a schematic top level
> > file.  I created the library symbol for the sub-module, placed the
> > sub-module and an counter on the schematic and I ran it all the way to
> > Generate Programming File.  When I downloaded the bit file, the counter
> > worked, but the Microblaze did not.  Even going back to Platform Studio
and
> > using the import function did not create a working bit file.
> >
> > I found by extensive poking around that the Project Navigator does NOT
> > automatically update the BMM file with the newly placed locations of
BRAM
> > that holds the Microblaze program.  (The export from XPS did add a
> > system.BMM, but that file did not have any placement info--the file just
had
> > the names of the BRAM instances and the memory bit positions.)  Data2Mem
> > needs the placement information to create a new download file.  I found
that
> > I could use the FPGA editor in Project Navigator to find out where the
last
> > PAR operation put the BRAMs.  I created a new BMM file from the
system.BMM
> > and included the placement info.  Specifying this BMM file with the .ELF
> > allowed Data2Mem to create a WORKING Microblaze sub-module bit file.
You
> > can manually run Data2Mem in the Project Navigator or use the dialog in
XPS
> > (which calls Data2Mem in the script) as long as you supply the correct
BMM
> > file.
> >
> > A valid line in a BMM text file for Data2Mem is:
> > bram_1mb/bram_1mb/ramb4_s2_s2_0 [31:30] PLACED = R3C0;
> >
> > The BMM files exported to Project Navigator by XPS did not have the
field
> > starting with "PLACED.."  After going from PAR to bit file creation, the
BMM
> > file still did not change, even though the subsequent Data2Mem procedure
to
> > combine the ELF data requires placement info in the BMM.  It is quite
> > reasonable not to supply any placement before PAR, because PAR is
allowed to
> > move things around, but the final placement info should be extracted and
> > updated into the BMM file.  In this example, I manually added the
placement
> > information.
> >
> > I have seen a few posts regarding this problem. Is there a button or
> > procedure in Project Navigator to automatically extract new BRAM
locations
> > and update the BMM file?  Of course I already have a work-around, like
> > forgetting about sub-modules and keeping the project exclusively in XPS
!
> >
> >
>
>
> -- 
> / 7\'7 Paulo Dutra (paulo.dutra@xilinx.com)
> \ \ `  Xilinx                              hotline@xilinx.com
> / /    2100 Logic Drive                    http://www.xilinx.com
> \_\/.\ San Jose, California 95124-3450 USA
>



Article: 68863
Subject: the No. of gates of Xilinx FPGA
From: zhanch@hotmail.com (Jason)
Date: 20 Apr 2004 15:29:39 -0700
Links: << >>  << T >>  << A >>
Hi,all
After synthesis(Synplify Pro), I got the number of the total LUTs I consumed
How to caculate how many logic gates I used?
The device is Xilinx VirtexE.
Thanks.

Article: 68864
Subject: Re: the No. of gates of Xilinx FPGA
From: "Symon" <symon_brewer@hotmail.com>
Date: Tue, 20 Apr 2004 15:52:32 -0700
Links: << >>  << T >>  << A >>
Jason,
Run the Xilinx Translate tool. Then run the Mapper. Look in the .mrp file,
the 'Xilinx Mapping Report File'. It tells you the number of gates. There's
a line somewhere that says:-
'Total equivalent gate count for design:  1,790,097'
Your number may vary dependent on many things!! Treat it with the contempt
it deserves!
Cheers, Syms.


"Jason" <zhanch@hotmail.com> wrote in message
news:48925557.0404201429.674fd077@posting.google.com...
> Hi,all
> After synthesis(Synplify Pro), I got the number of the total LUTs I
consumed
> How to caculate how many logic gates I used?
> The device is Xilinx VirtexE.
> Thanks.



Article: 68865
Subject: Re: Clock Enables and Power
From: tom1@launchbird.com (Tom Hawkins)
Date: 20 Apr 2004 16:02:51 -0700
Links: << >>  << T >>  << A >>
"Symon" <symon_brewer@hotmail.com> wrote in message news:<c63qg2$7ovs9$1@ID-212844.news.uni-berlin.de>...
> "rickman" <spamgoeshere4@yahoo.com> wrote in message
> news:408551E5.132C60F3@yahoo.com...
> > The point is that if you use separate clocks, the timing constraints are
> > very simple and much harder to mess up.  With a single clock and
> > multiple clock enables, the timing constraints are not so simple and
> > very easy to make mistakes.
> Hey Rick,
> Very true! The only exception could be that bit in the multi-clock design
> where the signals travel from one clock domain to another. If you go the
> 'enabled' route you need only worry about getting that enable correct. The
> multi-clock route could have a lot of places where signals cross domains,
> each needing attention in the timing constraints, both delay and skew.
> So, I'm a convert to the 'enabled' way. I use that circuit you stuck on here
> a few months back (ta very much!) to generate my enables, and I have a Perl
> script to work out the MAXDELAYs from the two clock rates, net delays and
> Tckos, Ticks. I've found that the
> NET "CLK_EN" TNM=FFS "CLK_EN_FFS";
> is pretty reliable these days, especially if you use the 'direct_enable'
> directive in Synplify. It would be even nicer if you could group stuff into
> timing groups in the source code, but that's not really there yet. Which
> makes me think, why isn't easy timing constraints part of the RTL HDL
> languages?

Good question.

Recently I've been planing how to incorporate timing constraints in
Confluence.  Because Confluence has implicit clock enables, I think
there is opportunity for semi-automated timing constraints.  For
example, designers would only have to place constraints on multi-cycle
enables; the tools would then automatically determine which paths are
multi-cycle.  And since clock domains are also implicit, it should be
farily straight forward to issue warnings on unconstrained
false-paths.

Regards,
Tom

--
Launchbird Design System, Inc.
http:www.launchbird.com

Article: 68866
Subject: calculate the number of logic gate in FPGA
From: zhanch@hotmail.com (Jason)
Date: 20 Apr 2004 16:04:23 -0700
Links: << >>  << T >>  << A >>
Hi,all
After synthesis(Synplify Pro), I got how many LUTs I consumed,
How to equally convert it to the number of logic gates? The device is
the Xilinx VirtexE.
Thanks,
Jason

Article: 68867
Subject: Issues on Shift Register in a Clockless UART
From: shashi22k@rediffmail.com (Shashi)
Date: 20 Apr 2004 16:35:16 -0700
Links: << >>  << T >>  << A >>
Hi,
I'm doing a project in clockless uart..as u know that the primary
function of uart is parallel to serial conversion while transmitting
and serial to paralel conversion while receiving..I was wondering if
someone could tell me as how can i do a parallel to serial conversion
and vice versa without using a clock.

Thank You
SHASHI

Article: 68868
Subject: Re: calculate the number of logic gate in FPGA
From: hmurray@suespammers.org (Hal Murray)
Date: Wed, 21 Apr 2004 00:08:31 -0000
Links: << >>  << T >>  << A >>
>After synthesis(Synplify Pro), I got how many LUTs I consumed,
>How to equally convert it to the number of logic gates? The device is
>the Xilinx VirtexE.

Quick answer: There isn't any easy way.  It depends upon how much
logic your design put in each LUT.

Crazy question...  What's the most number of gates that anybody
has ever put into a LUT?  Might be a fun hack to try all possible
functions, translate to gates, maybe run some minimization stuff,
and remember the worst case.

-- 
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: 68869
Subject: Re: calculate the number of logic gate in FPGA
From: Jim Granville <no.spam@designtools.co.nz>
Date: Wed, 21 Apr 2004 12:21:34 +1200
Links: << >>  << T >>  << A >>
Hal Murray wrote:

>>After synthesis(Synplify Pro), I got how many LUTs I consumed,
>>How to equally convert it to the number of logic gates? The device is
>>the Xilinx VirtexE.
> 
> 
> Quick answer: There isn't any easy way.  It depends upon how much
> logic your design put in each LUT.
> 
> Crazy question...  What's the most number of gates that anybody
> has ever put into a LUT?  Might be a fun hack to try all possible
> functions, translate to gates, maybe run some minimization stuff,
> and remember the worst case.

  No no.. don't even _think_ about that, imagine what the market droids
could do with that information!! :)
-jg


Article: 68870
Subject: Re: Microblaze Sub-Module Adventure
From: Paulo Dutra <paulo.dutra@xilinx.com>
Date: Tue, 20 Apr 2004 17:46:43 -0700
Links: << >>  << T >>  << A >>
Without being specific on your error messages, I can't really help u.

But, more than likely you're getting an error in ngdbuild with
the associated path in the BMM not matching your hierarchy path.

To find the known hierarchy path. Run the design without the BMM
in iSE. Once processed through par, bring the design up in FPGA
editor. You can find BRAM components with instance paths.

Your BMM needs to have the hierarchy path as identified in
FPGA editor.

Morris Ho wrote:
> Thanks for the hint Paulo.
> 
> I did follow the Project Options flow as you suggested the first time
> around.  The only time the sub-module flow in Nav created a BMM file with
> BRAM locations is when I selected the sub-module (as top design) only and
> did the full implementation.  My top level schematic was out of the picture
> using this method, so that implementation with the sub-module as a the new
> top level design was not useful.
> 
> I read that Xilinx only allows association of the BMM file with the top
> level design.  Trying to move the BMM file from the sub-module to associate
> with the schematic top level design only resulted in a BRAM error, which I
> expected.



-- 
/ 7\'7 Paulo Dutra (paulo.dutra@xilinx.com)
\ \ `  Xilinx                              hotline@xilinx.com
/ /    2100 Logic Drive                    http://www.xilinx.com
\_\/.\ San Jose, California 95124-3450 USA


Article: 68871
Subject: Re: Issues on Shift Register in a Clockless UART
From: Peter Alfke <peter@xilinx.com>
Date: Tue, 20 Apr 2004 18:52:57 -0700
Links: << >>  << T >>  << A >>
Simple answer: You cannot. You can of course generate your own clock...
Peter Alfke

> From: shashi22k@rediffmail.com (Shashi)
> Organization: http://groups.google.com
> Newsgroups: comp.arch.fpga
> Date: 20 Apr 2004 16:35:16 -0700
> Subject: Issues on Shift Register in a  Clockless UART
> 
> Hi,
> I'm doing a project in clockless uart..as u know that the primary
> function of uart is parallel to serial conversion while transmitting
> and serial to paralel conversion while receiving..I was wondering if
> someone could tell me as how can i do a parallel to serial conversion
> and vice versa without using a clock.
> 
> Thank You
> SHASHI


Article: 68872
Subject: Re: calculate the number of logic gate in FPGA
From: Peter Alfke <peter@xilinx.com>
Date: Tue, 20 Apr 2004 18:58:15 -0700
Links: << >>  << T >>  << A >>
Many years ago, i tried to come up with the largest number of 2-input NAND
gates that could be hidden in a 4-LUT.
I thing the number was around 20. It involved many XORs which count as four
NANDs.
There must be a scientific answer to this:
What's the function of four variables that irreducibly requires the largest
number of 2NAND functions to implement ?

Peter Alfke 

> From: hmurray@suespammers.org (Hal Murray)
> Newsgroups: comp.arch.fpga
> Date: Wed, 21 Apr 2004 00:08:31 -0000
> Subject: Re: calculate the number of logic gate in FPGA
> 
>> After synthesis(Synplify Pro), I got how many LUTs I consumed,
>> How to equally convert it to the number of logic gates? The device is
>> the Xilinx VirtexE.
> 
> Quick answer: There isn't any easy way.  It depends upon how much
> logic your design put in each LUT.
> 
> Crazy question...  What's the most number of gates that anybody
> has ever put into a LUT?  Might be a fun hack to try all possible
> functions, translate to gates, maybe run some minimization stuff,
> and remember the worst case.
> 
> -- 
> 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: 68873
Subject: reading files in vhdl
From: "paris" <273986malaka@email.it>
Date: Wed, 21 Apr 2004 04:05:24 +0200
Links: << >>  << T >>  << A >>
hi guys,

im having some trouble with reading from a file, actually the thing is the
opening part.
the problem is that i "dont" know the name of the file to read before
compiling, that is because i've a "configuration" file where i give
commands, one of them being the name of the "input" file.

i know i could use a function, but that only works when i've a small amount
of data to read, cause otherwise, storing a HUGE array slows down the
simulation, without saying that modelsim tells me that i has not enough
memory and will start paging to disk and after a while it says that i got
completely out of memory.

Simulation works perfect if i read one line (of the input file) at the time,
but that means that the filename has to be written on the code (at least
that's how i've been doing, by using  ' file fp : TEXT is in "input.dat"; ')

now i need to open an arbitrary file, so i tried "file_open(fp,
filenameString, READ_MODE);" the problem is that somehow it doesnt work, as
it seems that if i open the file in one process (i have to open the file
just once and read it till the end of the file at every rising_edge(clk), so
that's two processes). It doesnt work cause it seems that the file is
"closed" outside the process it was opened (i think i even read about that
issue).

Also i cant find "file_open" declaration.

i also tried with a process like this: (im at home now, so i dont have the
real sources, but i cant sleep so im writing to ask for help :) please)

process
begin

    if (filenameString /= nothing) then
         file_open(fp, filenameString, READ_MODE);

         while (not endfile(fp)) loop
              wait until rising_edge(clk);
                read(fp, data);
                etc, etc
         end loop;
         file_close(fp);
    end if;
end process;

that didnt work either, im not sure if it was because of the file_open part
(i also did a check on the opening, it was succesful) or because the process
get in an infinite loop, modelsim just stop responding (i think that endfile
might return false if the file is not open, giving rise to the infinite
loop, but the loop would at least be "waiting" for "clk" and it would
actually read the data, but that doesnt happen). The file might get closed
once "out" the process (like when another process gets executed) or
something, i have no clue...

do any of you knows or have faced already this kind of situation? namely,
reading a file whose name's specified after compilation (by another file)
line by line (that is, not using a function to read a whole chunk of data
and storing it in an array)

any comments will be appreciated, thanks



Paris





Article: 68874
Subject: Re: OT: Gigabit Ethernet MAC Throughput
From: kanglc@starhub.net.sg (owner)
Date: 20 Apr 2004 20:20:27 -0700
Links: << >>  << T >>  << A >>
hmurray@suespammers.org (Hal Murray) wrote in message news:<108aipgspj1o8d@corp.supernews.com>...
> >On the PCI bus (64-bit, 66MHz), it shows that for every frame that
> >was fetch by the MAC, it has to read one descriptor and then write
> >one descritor, to release the ownership. From the datasheet, we cannot
> >find ways to burst the frames, in order to decrease the overhead
> >due to the handling of descriptors. Or is there?
> 
> Where are the descriptors stored?  Off chip RAM?  If so, consider
> putting them on chip.  Or you could add special logic to cache
> a clump of descriptors on chip.

Thanks for your suggestions Hal.

In our platform, the FPGA (Spartan IIe-300) connects to the MAC-PHY chip
directly via the PCI bus. The CPU (AMD Alchemy) is also on the PCI bus.
These are the only 3 devices on the PCI bus. After CPU sets up the
transmit frames and descriptors in the FPGA, and set up the necessary
registers inside the MAC, it initiates the FPGA to start the traffic
generation. The FPGA issues a PCI write transaction to one of the MAC
registers to start the operation. The MAC becomes a PCI master, fetching
the descriptors and frams from the FPGA. Each time a frame a fetched,
the MAC writes a descriptor (in the FPGA) to clear a OWN bit.

If the traffic generator operation is still in progress, the FPGA will
immediately reset the OWN bit to '1', so that the MAC knows it has
ownership of that particular descriptor.

I think our PCI bus timing cycles show that the system is working
correctly. Just that there is no way to burst a number of frames
to the MAC. This is the bottle neck for 64-byte frames. We can only
achieve at best 680Mbps on the line side.

Regards,
LC



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