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 111550

Article: 111550
Subject: Formal Logic Equivalent Check (LEC)
From: "Davy" <zhushenli@gmail.com>
Date: 5 Nov 2006 17:35:00 -0800
Links: << >>  << T >>  << A >>
Hi all,

When do Formal Equivalent Check (RTL and Gate Level) , I remember that
the tool compare the comb logic between D-FF .

But when synthesis use re-timing and gated clock, can LEC tool compare
RTL and Gate?

And is gated clock one form of re-timing?

I am reading a paper from SNUG about gated clock (How to successfully
use gated clock...) but I cannot understand the waveform...

Best regards,
Davy


Article: 111551
Subject: Re: SystemVerilog not use Mail-box directly in VMM and AVM ?
From: "Davy" <zhushenli@gmail.com>
Date: 5 Nov 2006 17:38:22 -0800
Links: << >>  << T >>  << A >>


NigelE wrote:
> Davy wrote:
> > Hi NigelE,
> >
> > Thanks a lot! I mis-understand virtual interface.
> >
> > Is there any web seminar or online video talk about AVM? That I want to
> > understand AVM more clearly.
> >
> > Best regards,
> > Davy
> >
>
> Hi Davy
>
> Try a look at
>
> http://www.mentor.com/products/fv/events/
>
> You'll find listed in the online events, our recent 'Hitchhikers Guide
> to Verification' seminar that covers AVM and other SV verification
> topics.
>
> It's split into 5 sessions so you don't need to watch it all at once ;)
>
> Best regards
> 
> - Nigel

Hi Nigel,

Thanks a lot for the help!

Best regards,
Davy


Article: 111552
Subject: Re: Interface standards (was Re: Dual Port RAM)
From: "Peter Alfke" <alfke@sbcglobal.net>
Date: 5 Nov 2006 17:40:04 -0800
Links: << >>  << T >>  << A >>
KJ, is it so difficult for two reasonably intelligent engineers to
communicate ?
We are forced to be very efficient (small size) and very (fast high
clock rate), that's what the market demands.
Sacrificing performance by adhering to one or another of the so-called
interface standards is, at best, our second or third priority.
You may not like it, others do.
'nough said.
Peter Alfke


On Nov 5, 3:08 pm, "KJ" <kkjenni...@sbcglobal.net> wrote:
> "Peter Alfke" <a...@sbcglobal.net> wrote in messagenews:1162698535.527609.266650@f16g2000cwb.googlegroups.com...> Well, KJ, first of all, tone down, and dont second-guess how much I can
> > grasp.
> > "Peter Alfke goes off on his rant about his X's hard coded fifo runs at
> > 550
> > MHZ but doesn't seem to grasp the fact that he is talking about
> > performance
> > and that that hard coded fifo is implementing the EXACT SAME FUNCTION."I call them as I see them.  You were the one who several times went on with
> the sales pitch on the 550 MHz fifo when we were talking about interface
> standardization, not performance.
>
> > I have designed FIFOs over a longer time period than anybody else in
> > the world, for I created the world's first IC FIFO design in 1970, the
> > Fairchild 3341. So much for credentials...Good, now let's move on.
>
>
>
> > When we put a HARD FIFO into the Virtex-4 and Virtex-5 devices, we
> > realized that it had to be fully functional, fast and small, for every
> > BlockRAM is "burdened" with it. And once the transistors are
> > implemented on the chip, there is nothing that can be changed or taken
> > away, and any additional circuitry in the fabric would reduce
> > performance significantly. (There was, unfortunately, a subtle error in
> > the Virtex-4 implementation that forced us to come up with a
> > work-araound. We did not repeat that mistake inVirtex-5).Even now, instead of actually responding to anything that I had posted you
> are rambling on about things that Xilinx has done inside the various X
> products.  It reads again like a sales pitch, give it a rest....the
> relevance of what you have to say to my post is completely missing.....maybe
> you intended this for some other post, who can tell?
>
> > We had talked to many customers and listened to their ideas. That's why
> > there are not only programmable "ALMOST" full or empty flag, there isI'm thinking that the programmable flags idea came not so much from
> listening to customers but from the discrete fifos that existed long before
> in the industry that also had 'programmable' flags.  A bit of digging
> would've led you to that what most customers really needed was not
> programmability of the flag levels but being able to specify as a generic
> parameters the fifo fill level and how many flags were needed.  The discrete
> IC fifo guys couldn't really do this so they had to make it programmable,
> but in the soft IP world of CPLD/FPGAs you could....but instead chose to
> copy industry parts.  Maybe that's a good decision, maybe not but I'll bet
> not having run-time programmability is acceptable in most situations.  For
> the others, this would be a different function (different entity).
>
> > We designed the FIFO to be fast and small, with a comprehensive and
> > intuitive user interface.Fifo interfaces are all pretty intuitive, so why does X not support the
> lpm_fifo interface?  Is it not intuitive?
>
> > Are clock-multiplexers
> > standardized? How's about DCMs and PLLs, and IDELAY and ODELAY
> > fine-tuning circuits, and even multiplier/accumulators. Of course not,
> > none do!Why not?  As a user I want to multiply and divide clock frequency, skew them
> if necessary and possibly mux them together.  Sounds like something that can
> be standardized to me.  Toss in standardization of the various memory
> controllers as well while you're at it since the memory devices are
> standardized.  Remember what standardization means....interchangable with
> somebody else equivalent function.
>
> > Inside the chip we optimize the circuitry, and we are running way ahead
> > of standardization.That's your opinion (about being so far ahead).  Does that statement also
> imply that Xilinx is just so far ahead that they can't bother with component
> standardization?  That's another reading I could take away from that
> statement and seems to be what you're suggesting as well.
>
> > But, thanks to programmable logic, you can add soft standardization
> > layers to your heart's content. Nothing stops smart IP of implementing
> > any conceivable standard, but unfortunately usually at a cost and
> > performance sacrifice.Maybe.  Are you suggesting that the lpm_fifo function wouldn't run at your
> horn tooting 550 MHz?  Would be a bit of a bummer to think that you
> couldn't.
>
> > If someone knows a smarter way to design FPGAs, we really are
> > listening. Honest !I don't want to design FPGAs, I want to use them better and not be
> re-creating the wheel either and I think darn near all of your users would
> too.  The Xilinx way appears to be to avoid adhering to or encouraging any
> design standards for IP creation other than to imply that the X way is the
> only and the best way.
>
> > Our customers want performance at the lowest cost, plus ease-of-design.
> > But everybody has his own ideas about relative priorities.Yep
> 
> KJ


Article: 111553
Subject: Re: SystemVerilog not use Mail-box directly in VMM and AVM ?
From: "Davy" <zhushenli@gmail.com>
Date: 5 Nov 2006 18:18:57 -0800
Links: << >>  << T >>  << A >>

Davy wrote:
> NigelE wrote:
> > Davy wrote:
> > > Hi NigelE,
> > >
> > > Thanks a lot! I mis-understand virtual interface.
> > >
> > > Is there any web seminar or online video talk about AVM? That I want to
> > > understand AVM more clearly.
> > >
> > > Best regards,
> > > Davy
> > >
> >
> > Hi Davy
> >
> > Try a look at
> >
> > http://www.mentor.com/products/fv/events/
> >
> > You'll find listed in the online events, our recent 'Hitchhikers Guide
> > to Verification' seminar that covers AVM and other SV verification
> > topics.
> >
> > It's split into 5 sessions so you don't need to watch it all at once ;)
> >
> > Best regards
> >
> > - Nigel
>
> Hi Nigel,
>
> Thanks a lot for the help!
>
> Best regards,
> Davy

The direct path to 'Hitchhikers Guide to Verification' seminar is
http://www.mentor.com/products/fv/events/hitchhiker_online_sem.cfm#
Just a memo for myself :)

Thanks!
Davy


Article: 111554
Subject: Re: JTAG connection for chipscope
From: kollarameshk@gmail.com
Date: 5 Nov 2006 20:34:14 -0800
Links: << >>  << T >>  << A >>
Hi all,
         Thanks for your help.I got the problem with software.I just
uninstalled chipscope and installed again.Then it worked out.
But when i am doing boundary scan with JTAG or iMPACT,it couldn't
identify the one of the devices on the ML461 baord.We have four Xilinx
FPGAs(xc4vlx25) on ML461 and one SystemACE.But it identifies only last
three FPGAs and it couldn't identify the SystemACE and first FPGA
properly.Due to this it is also showing the number of devices on the
board are more than four,different number at different times.I don't
know what is the problem with this.If we exclude this first FPGA from
boundary scan chain,then it detects the other three FPGAs properly.This
first FPGA is giving problem in the  boundary scan chain.

-Ramesh.

On Nov 5, 7:15 pm, yttrium <yttr...@telenet.be> wrote:
> John Adair wrote:
> > One thing to check is that Impact is not open when using Chipscope. I
> > have seen cases of Impact affecting chipscope operation.
>
> > John Adair
> > Enterpoint Ltd.
>
> > kollarame...@gmail.com wrote:
> >> Hi,
> >>      I need help for solving the following problem.I am trying to
> >> connect to ML461 JTAG port from PC parallel port by using XILINX
> >> parallel cable through chipscope.But it couldn't connect properly.It
> >> gives the following error.
>
> >> ERROR: Socket Open Failed. localhost/127.0.0.1:50001
> >> localhost
> >> java.net.ConnectException: Connection refused: connect
> >> ERROR: Failed to open Xilinx Parallel Cable. See message(s) above.
>
> >> And the same cable setup works properly with the another same board.
>
> >> I really appreciate your help.
>
> >> Thanks,
> >> -Rameshyes i had the same problems ... and yes [Markus Meng] the parallel pod
> is still supported (i still use it) ... maybe something to do with the
> IO settings of the parallel port (ECP/EPP...) i had to change this one
> in the beginning ...- Hide quoted text -- Show quoted text -


Article: 111555
Subject: Re: FSL microblaze to co-processor write problem...
From: Zara <me_zara@dea.spamcon.org>
Date: Mon, 06 Nov 2006 06:42:44 +0100
Links: << >>  << T >>  << A >>
On 4 Nov 2006 09:31:57 -0800, "Xesium"
<amirhossein.gholamipour@gmail.com> wrote:

>Hi guys,
>I'm trying to connect a simple co-processor to microblaze. The
>co-processor simply gets 8 inputs and does a simple arithmetic and
>gives one output. The problem that I'm currently experiencing is (I
>figured it out during simulation) that, when I put a data from
>microblaze on FSL the fsl_m_write signal from microblaze doesn't become
>1. So the co-processor never notices that there are data on the bus and
>it never changes status. As well when I check the data on the FSL
>microblaze-to-coprocessor bus, it is not what I'm trying to write. Put
>instruction takes 2 cycles to execute. The first cycle the data on FSL
>master output of microblaze is insane but the second cycle it becomes
>one. However I've made sure that FSL_M_FULL is not 1. So my FIFO is
>empty. The clk and reset signal of the co-processor is correctly
>connected to the processor. As well I'm doing blocking read and write.
>Do you have any idea why it is not working?
<...>

I am not sure on how you do this on verilog (never workes with it!),
but I know for sure you must tell the micrtoblaze instance to really
have an fsl port (in VHDL: generic map (... C_FSL_LINKS=> 1..)

Have you done so? Because, although all pins are there, the fsl
connection will not be instantiated if you don't tell the synthesiser
to do so


best regards,

Zara

Article: 111556
Subject: Re: Scientific Computing on FPGA
From: eric <erixx@gmx.net>
Date: Mon, 06 Nov 2006 08:58:45 +0100
Links: << >>  << T >>  << A >>
There is another simple possibility to speed up calculations.
Do you know that the GPU on a modern graphics card can do matrix
calculations a lot times faster than a CPU? There are several
SDKs and you wont need special Hardware for that.

Xilinx and Altera stuff takes a lot of time and a high risk
because if you really have a problem to solve the engineers from there 
say: "This is not supported"... You get only help if you a buying in 
large quantaties.

And in scientific computing you never have a large quantatie.


So use alternativly a GPU for fast calculations like FFT and Sorting.

My favorite SDK is BrookGPU 
(http://graphics.stanford.edu/projects/brookgpu/).
Easy to use and a lot of out oft the box runnig examples. It works with
every modern 3d Accellertor because it uses OpenGL and DirectX.

You will implement the stuff in a week or two. In VHDL you'll need half 
a year for the simulation and timig stuff for the same result.

Think about it!

Eric









lancepickens@gmail.com schrieb:
> Thanks for the speedy reply everyone, I appreciate the help.
> 
> ~Lance
> 
> On Nov 3, 10:26 am, "Marc Reinig" <M...@newsgroups.nospam> wrote:
>> The other area where FPGA's win is in latency.  Parallel or networked PC's
>> cannot meet the latency requirements of many large computationally intensive
>> real-time systems, even though they can meet the throughput requirements
>>
>> Marco
>> ________________________
>> Marc Reinig
>> UCO/Lick Observatory
>> Laboratory for Adaptive Optics
>>
>> "JJ" <johnjak...@gmail.com> wrote in messagenews:1162578053.176232.266200@e3g2000cwe.googlegroups.com...
>>
>>
>>
>>> Nico Coesel wrote:
>>>> helmut.leonha...@gmail.com wrote:
>>>>> Everything what can parallelize is possibly running faster in Hardware
>>>>> than in Software.
>>>> Still, the amount of processing power a modern PC processor can
>>>> deliver is enormous. It is problably more cost effective to optimize
>>>> an algorithm to run parallel on 10 PC's than to develop a specific
>>>> FPGA solution. If space is a constraint, the answer is in using blade
>>>> servers.
>>> This is often true even for obvious applications of FPGA, PC can still
>>> be better.
>>> The analysis needs to account for factors such as floating point use,
>>> high locality referencing or lots of computing on tiny data sets and
>>> use of standard 32, 64 bit operands favors PCs  On the other hand bit
>>> mangling, very high rates of memory shuffling, use of unusual bit wise
>>> or odd size mathematical operators and strategic use of buffer memories
>>> are a win for FPGAs.
>>> I suspect that as Flash drives replace hard drives at the 30GByte level
>>> the case for hardware taking control of data management in Flash only
>>> increases since a hardware FPGA design wouldn't usually include disk
>>> systems and can then push the PC host further away.
>>> Some problems can be factored both ways to get similar results in which
>>> case PCs still have the familiarity edge. Still a PC based solution
>>> that is just recompiled to hardware will perform far less well  since
>>> it has already been factored to favor the PC.
>>> For a hardware solution, the software version can be viewed as the
>>> simulation of same hardware and most simulations usually run many
>>> orders slower than real hardware.
>>> This is why the best hardware solution is unlikeley to ever be achieved
>>> by software folks who have little experience in hardware who would
>>> force the FPGA to emulate the PC strengths.
>>> John Jakson
>>> transputer guy
> 

Article: 111557
Subject: Re: reset
From: "ALuPin@web.de" <ALuPin@web.de>
Date: 6 Nov 2006 00:12:24 -0800
Links: << >>  << T >>  << A >>
No.

 := (others=>'0');

in signal declarations are not synthesizable.

Rgds


Article: 111558
Subject: Re: post-synthesis simulation issues with ModelSim
From: "krishna.janumanchi@gmail.com" <krishna.janumanchi@gmail.com>
Date: 6 Nov 2006 00:21:38 -0800
Links: << >>  << T >>  << A >>
add this to your code

library VITAL;
use VITAL.VITAL_TIMING.ALL;

regards,
Krishna Janumanchi

sergey wrote:
> Forgot to include the actual lines that its erroring on:
>
> inmatA : in STD_LOGIC_VECTOR2 ( 3 downto 0 , 16 downto 0 );
>     inmatB : in STD_LOGIC_VECTOR2 ( 3 downto 0 , 16 downto 0 );
>     outmat : out STD_LOGIC_VECTOR3 ( 3 downto 0 , 3 downto 0 , 16
> downto 0 )
>
> (I see that they're declared as multi-dimensional and probably aren't
> supposed to be... but why is Xilinx translating them that way, and what
> can I do about it?)
>
> -- Sergey
>
> sergey wrote:
> > Hi all again,
> >
> > I have a fairly straight forward systolic array design which uses the
> > fixed_point type.  It simulates fine for the behavioral simulation.  It
> > synthesizes fine (there are a few warnings, but they appear to be
> > OK)... but when I try to do a post-synthesis simulation in ModelSim, I
> > get:
> >
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(237):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(237):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(237):
> > Unknown identifier 'std_logic_vector2'.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(238):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(238):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(238):
> > Unknown identifier 'std_logic_vector2'.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > Prefix of a slice must be a 1 dimensional array.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > Unknown identifier 'std_logic_vector3'.
> > ** Error:
> > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(241):
> > VHDL Compiler exiting
> >
> > Do I need to include some library that I'm not?  What might be the
> > issue? 
> > 
> > Thanks in advance,
> > 
> > Sergey


Article: 111559
Subject: Re: Fastest ISE Compile PC?
From: David Brown <david@westcontrol.removethisbit.com>
Date: Mon, 06 Nov 2006 09:50:02 +0100
Links: << >>  << T >>  << A >>
Thomas Entner wrote:
>>> I took the plunge and built up a 2nd PC using a Core2Duo.
>>> Here are the specs:
>>> Old PC: P4 3GHz HT, 2GB DDR2-533 RAM, Gigabyte GA81915 mobo, stock
>>> cooler
>>> New PC: Core2Duo E6600, 2GB DDR2-800 RAM, ASUS P5B Mobo, ArcticFreezer7
>>> cooler
>>> Using a Spartan3 design running clean from scratch in ISE 8.2.3i
>>> Old PC: 82mins
>>> New PC: 35mins
>>> New PC (overclocked to 3.2GHz):  25mins
>>> I'm really pleased with the Core2Duo and would recommend it.
>> Conclusion dual cores (multiprocessor) benefits Xilinx ISE substantially?
>>
> No, cache size matters.... As far as I know, neither ISE nor Quartus use the 
> second core, but both benefit from the huge cache.
> 
> Thomas
> 
> www.entner-electronics.com
> 
> 

I'm sure the second core will make a difference - while the one long 
task is occupying one core, other minor tasks will run on the other 
core.  While these other tasks might only take a tiny proportion of the 
processor time, you avoid the penalties of task switching (like losing 
your cache) on the working processor.



Article: 111560
Subject: I2C Master in Verilog
From: "Chris" <nospam@nospam.com>
Date: Mon, 6 Nov 2006 01:14:44 -0800
Links: << >>  << T >>  << A >>
The opencores.org I2C appears to be only in VHDL.  Does anyone know of a
free I2C master in Verilog?

Thanks,  Chris.



Article: 111561
Subject: Re: Formal Logic Equivalent Check (LEC)
From: "Thomas Stanka" <usenet_10@stanka-web.de>
Date: 6 Nov 2006 01:19:19 -0800
Links: << >>  << T >>  << A >>
Hi,

Davy schrieb:
> When do Formal Equivalent Check (RTL and Gate Level) , I remember that
> the tool compare the comb logic between D-FF .
>
> But when synthesis use re-timing and gated clock, can LEC tool compare
> RTL and Gate?

LEC is the tool from Cadence(former Verplex). AFAIK is this tool able
to handle retiming (or better: is able to support the user to handle
retiming).

> And is gated clock one form of re-timing?

IMHO no. Gated clock is another problem for formal verification.

bye Thomas


Article: 111562
Subject: Schifra Reed-Solomon ECC Library
From: "Arash Partow" <partow@gmail.com>
Date: 6 Nov 2006 01:42:00 -0800
Links: << >>  << T >>  << A >>
Hi all,

I'd like to announce that the open source Schifra C++
Reed-Solomon error correcting code library is now
available and awaiting your download.

What is it?

Schifra is a very robust, highly optimized and extremely
configurable Reed-Solomon error correcting code library
implemented in C++. Schifra supports standard, shortened
and punctured Reed-Solomon codes. It also has support for
stacked product codes and interleaving.

url: http://www.schifra.com

Arash Partow
________________________________________________________
Be one who knows what they don't know,
Instead of being one who knows not what they don't know,
Thinking they know everything about all things.


Article: 111563
Subject: choise of fpga platform
From: "tsemer" <tsemertzidis@gmail.com>
Date: 6 Nov 2006 02:02:38 -0800
Links: << >>  << T >>  << A >>
Hello everyone,
I need some help coising a platform to programm an fpga for my project.
I need a fast fpga because the signal will be proccessed @ near 800Mhz.
Do you have any suggestions for the platform? I saw the Sandance
solution (www.sundance.com) and it seems to me ok. If anyone can give
me an advise on this it is very welcome.
Thanks in advance,
Tsemer.


Article: 111564
Subject: To Xilinx guys out there - microblaze mapping problem
From: me_2003@walla.co.il
Date: 6 Nov 2006 02:26:26 -0800
Links: << >>  << T >>  << A >>
Hi,
I have a design in which I need to instantiate two microblaze system
instances (the same microblaze system in two places).
I'm doing it by the following way:
1) I've created a system containing a single microblaze (in EDK)
2) I've instantiated it in my hdl code in two different places.
3) Then I merged the two bmm files into a single bmm file which looks
like this:

///////////////////////////////////////////////////////////////////////////////
//
// Address space 'rmac_lmb_bram' 0x00000000:0x00001FFF (8 KB).
//
///////////////////////////////////////////////////////////////////////////////

ADDRESS_BLOCK rmac_lmb_bram RAMB16 [0x00000000:0x00001fff]
BUS_BLOCK
CORE/rmac_i/system_rmac/lmb_bram/lmb_bram/ramb16_0 [31:24] ;
CORE/rmac_i/system_rmac/lmb_bram/lmb_bram/ramb16_1 [23:16] ;
CORE/rmac_i/system_rmac/lmb_bram/lmb_bram/ramb16_2 [15:8] ;
CORE/rmac_i/system_rmac/lmb_bram/lmb_bram/ramb16_3 [7:0] ;
END_BUS_BLOCK;
END_ADDRESS_BLOCK;

///////////////////////////////////////////////////////////////////////////////
//
// Address space 'tmac_lmb_bram' 0x00000000:0x00001FFF (8 KB).
//
///////////////////////////////////////////////////////////////////////////////

ADDRESS_BLOCK tmac_lmb_bram RAMB16 [0x00000000:0x00001fff]
BUS_BLOCK
CORE/tmac_i/system_tmac/lmb_bram/lmb_bram/ramb16_0 [31:24] ;
CORE/tmac_i/system_tmac/lmb_bram/lmb_bram/ramb16_1 [23:16] ;
CORE/tmac_i/system_tmac/lmb_bram/lmb_bram/ramb16_2 [15:8] ;
CORE/tmac_i/system_tmac/lmb_bram/lmb_bram/ramb16_3 [7:0] ;
END_BUS_BLOCK;
END_ADDRESS_BLOCK;

4) I synthesize my design using synplify 8.1
5) I call the following script (for translate and map)

ngdbuild -a -p XC4VLX80-FF1148-10 -bm
/home/motic/projects/fpga/units/mac/mac_bmax/802_16d/ublaze/rmac_tmac.bmm
-sd ../../../../syn/syn_v4/edf
-uc ../../bs_lx80.ucf bs rev1/bs.ngd;

map -cm area -p XC4VLX80-FF1148-10 -detail -o rev1/map.ncd -pr b
rev1/bs.ngd rev1/bs.pcf;

The ngdbuild goes well but the mapping process has lots of errors ( it
seems that the mapper tries to place the two microblaze instances on
top of each other)
part of the map log file (.mrp) is attached
Can you please advise ?
Thanks in advance, Mordehay.

Snippet of the map report file (originaly conatins 465 errors):

Release 7.1.03i Map H.41
Xilinx Mapping Report File for Design 'bs'

Design Information
------------------
Command Line   : map -cm area -p XC4VLX80-FF1148-10 -detail -o
rev1/map.ncd -pr
b rev1/bs.ngd rev1/bs.pcf
Target Device  : xc4vlx80
Target Package : ff1148
Target Speed   : -10
Mapper Version : virtex4 -- $Revision: 1.26.6.4 $
Mapped Date    : Mon Nov  6 11:55:10 2006

Design Summary
--------------
Number of errors   : 465
Number of warnings :3074

Section 1 - Errors
------------------
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y0) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/RAM16x1D_Reg1_Low" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I31/reg1_Data_Low)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/RAM16x1D_Reg1_Low" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I31/reg1_Data_Low)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y1) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/RAM16x1D_Reg1_High" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I31/reg1_Data_High)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/RAM16x1D_Reg1_High" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I31/reg1_Data_High)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y2) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/RAM16x1D_Reg1_Low" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I15/reg1_Data_Low)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/RAM16x1D_Reg1_Low" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I15/reg1_Data_Low)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y3) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/RAM16x1D_Reg1_High" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I15/reg1_Data_High)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/RAM16x1D_Reg1_High" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I15/reg1_Data_High)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X1Y0) which require the combination of the following symbols
into a
   single SLICE component:
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/Reg1_Mux" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/reg1_Data<31>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/Reg1_Mux" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/reg1_Data<31>)
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/Data_Write_Mux" (Output Signal =
   CORE/tmac_i/system_tmac/dlmb_LMB_WriteDBus[31])
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/Data_Write_Mux" (Output Signal =
   CORE/rmac_i/system_rmac/dlmb_LMB_WriteDBus[31])
   There are more than two function generators.  Please correct the
design
   constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y4) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/RAM16x1D_Reg1_Low" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I30/reg1_Data_Low)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/RAM16x1D_Reg1_Low" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I30/reg1_Data_Low)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X1Y1) which require the combination of the following symbols
into a
   single SLICE component:
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Dopb_Interface_I/OPB_Data_
   Mux_I1/MUX_LUT31" (Output Signal =
   CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/mux_Data_Read<31>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Dopb_Interface_I/OPB_Data_
   Mux_I1/MUX_LUT31" (Output Signal =
   CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/mux_Data_Read<31>)
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/Reg2_Mux" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/reg2_Data<31>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/Reg2_Mux" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/reg2_Data<31>)
   There are more than two function generators.  Please correct the
design
   constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y5) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/RAM16x1D_Reg1_High" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I30/reg1_Data_High)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/RAM16x1D_Reg1_High" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I30/reg1_Data_High)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X1Y2) which require the combination of the following symbols
into a
   single SLICE component:
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/Reg1_Mux" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/reg1_Data<15>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/Reg1_Mux" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/reg1_Data<15>)
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/Data_Write_Mux" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/raw_Data_Write<15>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/Data_Write_Mux" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/raw_Data_Write<15>)
   There are more than two function generators.  Please correct the
design
   constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y6) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I14/RAM16x1D_Reg1_Low" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I14/reg1_Data_Low)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I14/RAM16x1D_Reg1_Low" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I14/reg1_Data_Low)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X1Y3) which require the combination of the following symbols
into a
   single SLICE component:
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Dopb_Interface_I/OPB_Data_
   Mux_I1/MUX_LUT15" (Output Signal =
   CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/mux_Data_Read<15>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Dopb_Interface_I/OPB_Data_
   Mux_I1/MUX_LUT15" (Output Signal =
   CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/mux_Data_Read<15>)
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/Reg2_Mux" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/reg2_Data<15>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I15/Reg2_Mux" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/reg2_Data<15>)
   There are more than two function generators.  Please correct the
design
   constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y7) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I14/RAM16x1D_Reg1_High" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I14/reg1_Data_High)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I14/RAM16x1D_Reg1_High" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I14/reg1_Data_High)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X1Y4) which require the combination of the following symbols
into a
   single SLICE component:
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/Data_Write_Mux" (Output Signal =
   CORE/tmac_i/system_tmac/dlmb_LMB_WriteDBus[30])
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/Data_Write_Mux" (Output Signal =
   CORE/rmac_i/system_rmac/dlmb_LMB_WriteDBus[30])
   	LUT symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/Reg1_Mux" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/reg1_Data<30>)
   	LUT symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I30/Reg1_Mux" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/reg1_Data<30>)
   There are more than two function generators.  Please correct the
design
   constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y8) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I29/RAM16x1D_Reg1_Low" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I29/reg1_Data_Low)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I29/RAM16x1D_Reg1_Low" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I29/reg1_Data_Low)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X2Y0) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/RAM16x1D_Reg2_Low" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I31/reg2_Data_Low)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I31/RAM16x1D_Reg2_Low" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I31/reg2_Data_Low)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
ERROR:Pack:679 - Unable to obey design constraints
(MACRONAME=microblaze_0,
   RLOC=X0Y9) which require the combination of the following symbols
into a
   single SLICEM component:
   	RAMDP symbol

"CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I29/RAM16x1D_Reg1_High" (Output Signal =

CORE/tmac_i/system_tmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I29/reg1_Data_High)
   	RAMDP symbol

"CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_
   I/Register_File_Bit_I29/RAM16x1D_Reg1_High" (Output Signal =

CORE/rmac_i/system_rmac/microblaze_0/microblaze_0/Data_Flow_I/Register_File_I
   /Register_File_Bit_I29/reg1_Data_High)
   The address signals must match exactly when using both F and G in
RAM mode.
   Please correct the design constraints accordingly.
  
   and it continues like this ....


Article: 111565
Subject: Re: To Xilinx guys out there - microblaze mapping problem
From: "Göran Bilski" <goran.bilski@xilinx.com>
Date: Mon, 6 Nov 2006 12:50:03 +0100
Links: << >>  << T >>  << A >>
Hi,

The problem is that the two microblazes have the exact same name.
MicroBlaze is a RLOC block which requires a unique name.

In this case, I think you need to create two EDK designs which are more or 
less the same except for the instance name of MicroBlaze
or you can also create two microblaze in one EDK design.

Göran




Article: 111566
Subject: Re: Interface standards (was Re: Dual Port RAM)
From: "KJ" <kkjennings@sbcglobal.net>
Date: Mon, 06 Nov 2006 11:50:48 GMT
Links: << >>  << T >>  << A >>
"Peter Alfke" <alfke@sbcglobal.net> wrote in message 
news:1162777204.878034.242930@f16g2000cwb.googlegroups.com...
> KJ, is it so difficult for two reasonably intelligent engineers to
> communicate ?
No, and I might suggest that you would not find it so difficult either if, 
when you make your posts, you would give the courtesy of replying to what 
was said in the post that you're replying to instead of going into a speech 
or sales pitch.  Speeches and pitches can be interesting and can often spawn 
their own sub-topics, but that doesn't make them relevant to the discussion. 
One technique is to not top post.

> We are forced to be very efficient (small size) and very (fast high
> clock rate), that's what the market demands.
Among other demands as well.  Customers are like that.  We all have them.

> Sacrificing performance by adhering to one or another of the so-called
> interface standards is, at best, our second or third priority.
And yet the basis for this statement is "because Peter said so".  You 
haven't been able to offer even a single example to back up what you've 
said.  You have offered no benchmarks, no references, nothing to back up 
your statement that one would be "Sacrificing performance by adhering to one 
or another of the so-called interface standards".

> You may not like it, others do.
Others are free to (dis)like things for no rational basis if they so choose. 
Personally I think you're shortchanging the intelligence of a good chunk of 
your users and power users with the statements you've made in this thread.

> 'nough said.
> Peter Alfke


KJ 



Article: 111567
Subject: Re: reset
From: "KJ" <kkjennings@sbcglobal.net>
Date: Mon, 06 Nov 2006 12:02:10 GMT
Links: << >>  << T >>  << A >>

<ALuPin@web.de> wrote in message 
news:1162800744.822146.61370@f16g2000cwb.googlegroups.com...
> No.
>
> := (others=>'0');
>
> in signal declarations are not synthesizable.
>
> Rgds

Whether or not it is synthesizable depends on the synthesis tool and the 
target device.  Specifying the power up default value for the output of a 
clocked register certainly can be synthesizable.  In fact both brand 'A' and 
brand 'X' (and I'm sure others) FPGAs do specify that registers are reset at 
the completion of configuration which is the FPGA equivalent of 'power up' 
so the construct certainly is synthesizable.

One should tread with care though and probably limit the usage of default 
values to only those signals that have to do directly with generating the 
internal reset signal as was mentioned earlier in the post.  One should 
probably also only try to only use a default value of '0' as well since most 
(all?) FPGAs will clear the flip flops not set some of them to '0' and 
others to '1'.  There is a very simple technique that can be used that would 
allow a default value of '1' to be specified in the code even though the 
flip flop resets to '0' but then you'll be counting on the synthesis tool to 
implement this.

KJ 



Article: 111568
Subject: Re: Interface standards (was Re: Dual Port RAM)
From: Martin Thompson <martin.j.thompson@trw.com>
Date: 06 Nov 2006 12:07:23 +0000
Links: << >>  << T >>  << A >>

Maybe I'll regret jumping in here, but here's my take :-)

We designers want standard interfaces to FPGA bits and bobs.

FIFOs are a good example, no-one *wants* to design their own. There is
a "standard" interface defined, but it's not used across all vendors,
which makes life painful to port...

Also, mostly we don't need lots of clever configurations.

If I want to use Xilinx's FIFO, I use code like this (with some snippage):
-- FIFO18: 16k+2k Parity Synchronous/Asynchronous BlockRAM FIFO BlockRAM Memory
-- Virtex-5
-- Xilinx HDL Libraries Guide, version 8.2.2
FIFO18_inst : FIFO18
    generic map (
        ALMOST_FULL_OFFSET      => X"0080",  -- Sets almost full threshold
        ALMOST_EMPTY_OFFSET     => X"0080",  -- Sets the almost empty threshold
        DATA_WIDTH              => 18,       -- Sets data width to 4, 9, or 18
        FIRST_WORD_FALL_THROUGH => false)    -- Sets the FIFO FWFT to TRUE or FALSE
    port map (
        DO      => DO,                       -- 16-bit data output
        DOP     => DOP,                      -- 2-bit parity data output
        EMPTY   => EMPTY,                    -- 1-bit empty output flag
        FULL    => FULL,                     -- 1-bit full output flag
        WRCOUNT => WRCOUNT,                  -- 12-bit write count output
        DI      => DI,                       -- FIFO data input, with determined by DATA_WIDTH
        DIP     => DIP,                      -- 2-bit partity input
        RDCLK   => RDCLK,                    -- 1-bit read clock input
        RDEN    => RDEN,                     -- 1-bit read enable input
        RST     => RST,                      -- 1-bit reset input
        WRCLK   => WRCLK,                    -- 1-bit write clock input
        WREN    => WREN                      -- 1-bit write enable input
    );

As an aside: And what's this DI/DO and DIP/DOP about?  I ask for 18
bits, I just want 18-bits!

Now, not inly is this non-standard, if I want a different size, I have
to instantiate a different component with a different name!

The same goes for RAMs.

Anyway, if I want to use most others' I use this:
   LPM_FIFO_1: entity work.LPM_FIFO
    generic map (
        LPM_WIDTH     => LPM_WIDTH,
        LPM_WIDTHU    => LPM_WIDTHU,
        LPM_NUMWORDS  => LPM_NUMWORDS,
        LPM_SHOWAHEAD => LPM_SHOWAHEAD,
        LPM_TYPE      => LPM_TYPE,
        LPM_HINT      => LPM_HINT)
    port map (
        DATA  => DATA,
        CLOCK => CLOCK,
        WRREQ => WRREQ,
        RDREQ => RDREQ,
        ACLR  => ACLR,
        SCLR  => SCLR,
        Q     => Q,
        USEDW => USEDW,
        FULL  => FULL,
        EMPTY => EMPTY);

Now, I agree with KJ, the LPM_WIDTH and WIDTHU thing is daft.  The
TYPE and HINT don't usually help me much, but the rest of it maps
directly onto Xilinx's template doesn't? There's a different entity
with async clocks, for those cases, but chnaging between async and
sync clocks happens a lots less often than between sizes of FIFO!

And if I change the size, the SW is smart enough to instantiate the
low-level stuff in the right way for me.

If I need absolute control, then sure, I can go and instantiate those
myself, but for the majority, all I need is a straightforward FIFO!

And again the same applies for things like LPM_RAM.

They all do the same thing.  Why can't I just write the same thing for
all of them?  

After all, I can write a bit of VHDL to wrap it, which get's me there
- but why do *I* (and everyone like me) have to do this, why can't the
vendors do it for me?

Maybe I'm missing something fundamental, but when I use a FIFO, all I
want is a simple FIFO with a consistent interface.  Do others have a
different view?

Perhaps we should all get together and write the wrappers and docs for
this between us for the benefit of future generations ( :-)?)

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html

   

Article: 111569
Subject: Re: Anyone who have succeeded with BPI configuration on the Spartan-3E Starter Kit
From: fibunacci <>
Date: Mon, 6 Nov 2006 04:11:42 -0800
Links: << >>  << T >>  << A >>
Hello,

The sourcecode of the CPLD... <http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm>

Article: 111570
Subject: PCIe latency
From: slkjas@gmail.com
Date: 6 Nov 2006 04:41:46 -0800
Links: << >>  << T >>  << A >>
Hi

Im trying to design a high speed data capture card. Im using a Lattice
ECP2M-50 FPGA with the one-board SERDES units (MGBT in Xilinx
dtasheets). Im using a MSPS Nation ADC. This dual ADC has a output of
1Gb/s and thus the combined x4 lane PCIe will match this rate. HOWEVER,
if there is latency on the PCIe bus more than 100us then my RAM inside
the FPGA will overflow. I need to know bus latency between TLP's
because i need to know if I require external RAM or if the design in
possible!

Can someone please help me!!??

Thanks
Jason


Article: 111571
Subject: Re: post-synthesis simulation issues with ModelSim
From: "sergey" <skatsev@gmail.com>
Date: 6 Nov 2006 04:44:10 -0800
Links: << >>  << T >>  << A >>
Dear Krishna,

Thank you for your response.

Which file do I add that to?  The post-synthesis VHDL file, or the
pre-synthesis top-level module?

Also, I tried adding it to the post-synthesis file and ModelSim can't
find library VITAL.  Is that something only available with the full
version? (I'm using the starter version).

Thanks again,

Sergey

krishna.janumanchi@gmail.com wrote:
> add this to your code
>
> library VITAL;
> use VITAL.VITAL_TIMING.ALL;
>
> regards,
> Krishna Janumanchi
>
> sergey wrote:
> > Forgot to include the actual lines that its erroring on:
> >
> > inmatA : in STD_LOGIC_VECTOR2 ( 3 downto 0 , 16 downto 0 );
> >     inmatB : in STD_LOGIC_VECTOR2 ( 3 downto 0 , 16 downto 0 );
> >     outmat : out STD_LOGIC_VECTOR3 ( 3 downto 0 , 3 downto 0 , 16
> > downto 0 )
> >
> > (I see that they're declared as multi-dimensional and probably aren't
> > supposed to be... but why is Xilinx translating them that way, and what
> > can I do about it?)
> >
> > -- Sergey
> >
> > sergey wrote:
> > > Hi all again,
> > >
> > > I have a fairly straight forward systolic array design which uses the
> > > fixed_point type.  It simulates fine for the behavioral simulation.  It
> > > synthesizes fine (there are a few warnings, but they appear to be
> > > OK)... but when I try to do a post-synthesis simulation in ModelSim, I
> > > get:
> > >
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(237):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(237):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(237):
> > > Unknown identifier 'std_logic_vector2'.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(238):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(238):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(238):
> > > Unknown identifier 'std_logic_vector2'.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > > Prefix of a slice must be a 1 dimensional array.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(239):
> > > Unknown identifier 'std_logic_vector3'.
> > > ** Error:
> > > C:/thesis/SDRE/VHDL/FINAL/mult/netgen/synthesis/mult_arr_synthesis.vhd(241):
> > > VHDL Compiler exiting
> > >
> > > Do I need to include some library that I'm not?  What might be the
> > > issue? 
> > > 
> > > Thanks in advance,
> > > 
> > > Sergey


Article: 111572
Subject: Re: Formal Logic Equivalent Check (LEC)
From: "ABC" <bcang78@gmail.com>
Date: 6 Nov 2006 05:01:37 -0800
Links: << >>  << T >>  << A >>
Hi Davy,
Yes, LEC can compare RTL and GLN with retiming. Command is analyze
retiming... For gated clock, it is not part of retiming. LEC has
limited default gated clock structure recognition but you still can use
LEC to perform formal verification on GLN with your gated clock
netlist.

Best regards,
ABC

Davy wrote:
> Hi all,
>
> When do Formal Equivalent Check (RTL and Gate Level) , I remember that
> the tool compare the comb logic between D-FF .
>
> But when synthesis use re-timing and gated clock, can LEC tool compare
> RTL and Gate?
>
> And is gated clock one form of re-timing?
>
> I am reading a paper from SNUG about gated clock (How to successfully
> use gated clock...) but I cannot understand the waveform...
> 
> Best regards,
> Davy


Article: 111573
Subject: Re: Spectre of Metastability Update
From: "rickman" <gnuarm@gmail.com>
Date: 6 Nov 2006 05:03:16 -0800
Links: << >>  << T >>  << A >>
Jim Granville wrote:
> rickman wrote:
>
> > Jim Granville wrote:
> >>Packages are relatively cheap (a new package is way cheaper than
> >>a new die development), give them a large enough volume target,
> >>and they will chase it.
> >
> >
> > That is not what X and A will tell you.  They plan out the packaging
> > when they design a product family.  It seems to be a major issue to put
> > a part in a new package.
>
> Of course, salesmen will always pitch what they have, and give all
> sorts of spin as to why anything else should be off your radar :)

It is kind of hard to spin the loss of a sale when the competition has
what we need.


> When we spoke with infineon years ago, they said ~50K
> was enough to contemplate a new package.
> If it is one already in their flow, that helps as well.
> So, for Xilnix that means probably the QFN48.
> Then they think about OTHER customers, and something like
> this is NOT a blind alley, as there are many applications
> for CPLDs with more macrocells, but less IO.

It may not be a blind alley for us, but for the FPGA vendors, they
don't seem interested.  The other issue with Xilinx is the family.
They are all about the Coolrunner II parts while I much prefer the
Coolrunner XPLA parts which only require a single power supply.  At
least the Lattice parts incorporate an LDO if you want the advantages
of the newer process and are size limited.


Article: 111574
Subject: Re: reset
From: Duane Clark <junkmail@junkmail.com>
Date: Mon, 06 Nov 2006 13:25:39 GMT
Links: << >>  << T >>  << A >>
KJ wrote:
> 
> One should tread with care though and probably limit the usage of default 
> values to only those signals that have to do directly with generating the 
> internal reset signal as was mentioned earlier in the post.  One should 
> probably also only try to only use a default value of '0' as well since most 
> (all?) FPGAs will clear the flip flops not set some of them to '0' and 
> others to '1'.  There is a very simple technique that can be used that would 
> allow a default value of '1' to be specified in the code even though the 
> flip flop resets to '0' but then you'll be counting on the synthesis tool to 
> implement this.

The synthesis tools I have used correctly synthesize even non '0' 
declaration initializations, and X does support non '0' initialization. 
And this is very handy in a lot of places. For example, I often use this 
to set the default value of registers, since I know that software will 
not attempt to change the registers until long after the FPGA has 
initialized.



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