ASIM
MAIL [PRINT]
Equipe | Recherche | Education | Liens 
search for  

  Equipe
     Accès
     Annuaire
     Distinctions
     Séminaires

  Recherche
   Système
     Disydent
     HighPerf
     Steps
     Optimisation
     Formal verif
     Spin
     Soclib
   Back-End
     Alliance
     Coriolis
     Verif
     Aner
   Analog IC&Tools
     Cairo
     Oceane
   Publications
   Theses
   Offres de stage
   Offres de post-doc

  Education
     Master
     Plannings
     DEA
     DESS
     Maitrise
     Documentation

  Liens
     CERME
     GdrCAO
     SocLib
     MPC
     LIP6
     UPMC
     CNRS
     UFR Info
     Edite
     CCR

  Intranet

(This page is best viewed with CSS style sheets enabled)
 » Asim  » recherche  » coriolis

The Coriolis platform

Coriolis is an experimental integrated platform for the research, development and evaluation of new back-end VLSI design flows. Interconnect scaling to nanometer processes presents many difficult challenges to CAD flows. Currently academic research on back-end tend to address only specific algorithmic issues separately, although one key issue to address is the cooperation of multiple algorithmic tools. CORIOLIS, our platform, is based on an integrated C++ database around which all tools consistently interact and collaborate. This platform currently includes a timing-driven global place and route flow.

The Coriolis flow

The flow developed and under experimentation is a top-down refinement process which proceeds by a succession of interleaved phases of quadri-partitioning, global routing and net-list timing optimizations:

Fig : Coriolis flow

The entry point is the geometric quadri-partitioning of all bins with more than, let say, 100 instances. Then the net-lists of those bins are quadri-partitioned (independently but taking into account pseudo-pins and net criticalities, if already available from a previous iteration).

Then the global router (re)builds or refines the steiner-trees of all nets whose cells have changed location. It has multiple algorithmic tactics tailored for different net configuration and criticalities, and tries to both minimize wire length and congestion on fences.

After this step, the RC trees are (re)evaluated and a new static timing analysis is processed in order to compute critical paths, slacks and criticality value on each arc of the timing graph which provide tighter directives to the next placement and global routing step.

At this step, data is available to proceed (in the future) to gate sizing and buffer planning (buffers will be virtually inserted in the timing graph, not in the net-list, and corresponding area requirement reserved in the bins). This will require of course an engine to spread apart cells and maintain area density in the bins.

Once this refinement loop ends, buffers are physically created in the net-list, the detailed placement step legalize and fixes precisely cell locations. Then additional steps of global routing refinement can proceed, taking into account pin locations and obstructions. After a last pass of timing analysis, the resulting global routing directives and net criticalities can be fed to a detail router (under development).

See below a screenshot of the Coriolis platform in action.

screenshot

Publications

The Coriolis team

Core team

Contributors

Envoyez le lien - Imprimer ce document  
Web Site © 1995-2004 ASIM/LIP6/UPMC
W3C Validation HTML - CSS - Links

Last modified on 31/07/2006