LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Rudolf Usselmann <rudi@a...>
    Date: 28 Jul 2003 14:54:17 +0700
    Subject: Re: [oc] Top-Down Vs Bottom-Up
    Top

    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
    
    
    
    

    ReferenceAuthor
    [oc] Top-Down Vs Bottom-UpR Ramakrishna

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.