[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [oc] Top-Down Vs Bottom-Up



On Mon, 2003-07-28 at 13:59, R. Ramakrishna wrote:
> Hi All,
>  
> My question may seem very trivial, but it is pretty tricky in my
> opinion.  I request to be corrected where ever I go wrong.
>  
> Question is:  In Basic Digital design, how do we distinguish Top-Down
> approach and bottom-up approach?  Will there be any difference in the
> RTL source files I obtain following these apporaches?  If no, then how
> do we define them, apart from the text-book definition, which says,
> "In Top-down approach, the algorithmic level of the problem is first
> stated, then the problem is modularized, so as to use a
> divide-and-design approach till a possible lowest level is obtained."
> and "In Bottom-up approach, the existing lowest level module is used
> in building a superior task and that is further used in building
> a more superior task and so on".  
> I could define the two terms at the synthesis level (using DC
> terminology, of-course) as follows:  
> Top-Down compile would mean I would read-in the whole of my design to
> the memory, apply my optimization constraints at the top-level only
> and then compile.  In case of a re-compilation, I would still have the
> top-module as my reference and apply attributes and constraints to my
> sub-designs using hierarchical definitions.
> Bottom-Up compile would mean I would read-in one sub-module at a time,
> with my sub-design-specific constraint files, compile each of them
> independantly, finally read-in my top-module, then link and compile
> with top-level constraints.  

Yes, these statements and observations are correct.

Typically a Top-Down approach is useful for very small
designs. What "very small" means in your case depends
how fast your compute server is and how much memory it
has.

I like to use To-Down to get a rough idea weather I am
close to my timing goals or not whenever possible (e.g.
design small enough for my compute server).

Bottom-up is a bit more tedious to set it up and write
the scripts for. So takes a bit more time initially.
But generally my experience has been: 1) much better
results, as the DC is working on smaller chunks;
2) easier for me to fix timing problems as I can see
them at the root before they make their way up to the
top.

In many cases Bottom-up ends up in much faster compile
times and better results, after the initial setup ...

> Thanks and Regards,
> R. Ramakrishna
> 
> ______________________________________________________________________
Regards, 
rudi               
--------------------------------------------------------
www.asics.ws  --- Solutions for your ASIC/FPGA needs ---
----------------- FPGAs * Full Custom ICs * IP Cores ---
FREE IP Cores --> http://www.asics.ws/ <-- FREE IP Cores

--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml