2020-02-03 10:44:15 -06:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2022-08-13 10:46:47 -05:00
< meta name = "description" content = "Contents Abstract Design Flow Design & Features of Coriolis Disclaimer Abstract Alliance is a complete toolchain for vlsi design. It provides a vhdl compiler and simulator, logic synthetiser,..." >
2020-02-03 10:44:15 -06:00
< meta name = "keywords" content = "" >
< link rel = "icon" href = "../favicon.ico" >
2020-02-09 11:18:42 -06:00
< title > Coriolis < span class = "sc" > vlsi< / span > Backend Tools - Coriolis VLSI CAD Tools [offline]< / title >
2020-02-03 10:44:15 -06:00
<!-- Stylesheets -->
< link href = "../theme/css/bootstrap.css" rel = "stylesheet" >
< link href = "../theme/css/fonts.css" rel = "stylesheet" >
< link href = "../theme/css/nest.css" rel = "stylesheet" >
< link href = "../theme/css/pygment.css" rel = "stylesheet" >
< link href = "../theme/css/coriolis.css" rel = "stylesheet" >
<!-- /Stylesheets -->
< script src = "../theme/js/jquery.min.js" > < / script >
< script src = "../theme/js/bootstrap.min.js" > < / script >
<!-- RSS Feeds -->
<!-- /RSS Feeds -->
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- [if lt IE 9]>
< script src = "https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js" > < / script >
< script src = "https://oss.maxcdn.com/respond/1.4.2/respond.min.js" > < / script >
<![endif]-->
< / head >
< body >
<!-- Header -->
< div class = "header-container" style = "background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('../images/common/layout-motif-faded-4.png'); background-position: center; " >
<!--
< div class = "container" >
< nav class = "navbar navbar-default" >
< div class = "container-fluid" >
< div class = "navbar-header" >
2020-02-09 11:18:42 -06:00
< a class = "navbar-brand" href = "../" > < img class = "mr20" src = "../images/common/Coriolis-logo-white-4-small.png" alt = "logo" > Coriolis VLSI CAD Tools [offline]< / a >
2020-02-03 10:44:15 -06:00
< / div >
< ul class = "nav navbar-nav" >
< li > < a href = "../pages/gitlab.html" > Git< / a > < / li >
< li > < a href = "../pages/documentation.html" > Documentation< / a > < / li >
< li class = "dropdown" >
< button class = "btn btn-default dropdown-toggle" type = "button" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "true" >
< span class = "caret" > < / span > Topics
< / button >
< ul class = "dropdown-menu" >
< li > < a class = "dropdown-item active" href = "../pages/homepage.html" > Coriolis < span class = "sc" > vlsi< / span > Backend Tools< / a > < / li >
< li > < a class = "dropdown-item " href = "../pages/symbolic-layout.html" > Symbolic Layout< / a > < / li >
< / ul >
< / li >
< / ul >
< / div >
< / nav >
< / div > <!-- navbar container -->
-->
<!-- Static navbar -->
< div class = "container" >
< div class = "header-nav" >
< div class = "header-logo" >
2020-02-09 11:18:42 -06:00
< a class = "pull-left" href = "../" > < img class = "mr20" src = "../images/common/Coriolis-logo-white-4-small.png" alt = "logo" > Coriolis VLSI CAD Tools [offline]< / a >
2020-02-03 10:44:15 -06:00
< / div >
< div class = "nav pull-right" >
< a href = "../pages/gitlab.html" > Git< / a >
< a href = "../pages/documentation.html" > Documentation< / a >
< / div >
< div class = "nav pull-right" >
< div class = "dropdown" >
< button class = "btn btn-default dropdown-toggle" type = "button" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "true" >
< span class = "caret" > < / span > Topics
< / button >
< ul class = "dropdown-menu" >
< li > < a class = "dropdown-item active" href = "../pages/homepage.html" > Coriolis < span class = "sc" > vlsi< / span > Backend Tools< / a > < / li >
< li > < a class = "dropdown-item " href = "../pages/symbolic-layout.html" > Symbolic Layout< / a > < / li >
< / ul >
< / div >
< / div >
< / div >
< / div >
<!-- /Static navbar -->
<!-- Header -->
< div class = "container header-wrapper" >
< div class = "row" >
< div class = "col-lg-12" >
< div class = "header-content" >
< a href = "https://www.lip6.fr/" > < img class = "mr20" height = "60px" src = "../images/common/LogoLIP6Blanc.png" alt = "LIP6" > < / a >
< a href = "https://www.sorbonne-universite.fr/" > < img class = "mr20" height = "60px" src = "../images/common/logo-SU-blanc-700px.png" alt = "Sorbonne Universite" > < / a >
< a href = "https://www.cnrs.fr/" > < img class = "mr20" height = "60px" src = "../images/common/LOGO-cnrs-white-large.png" alt = "CNRS" > < / a >
< h1 class = "header-title text-uppercase" > Coriolis < span class = "sc" > vlsi< / span > Backend Tools< / h1 >
< div class = "header-underline" > < / div >
< / div >
< / div >
< / div >
< / div >
<!-- /Header -->
< / div >
<!-- /Header -->
<!-- Content -->
< div class = "container content" >
<!-- - * - Mode: rst - * - -->
<!-- - * - Mode: rst; explicit - buffer - name: "definition.rst<documentation/etc>" - * - -->
<!-- HTML/LaTeX backends mixed macros. -->
<!-- Acronyms & names. -->
<!-- URLs -->
<!-- Standard CAO/VLSI Concepts. -->
<!-- Alliance & MBK Concepts -->
<!-- Hurricane Concepts. -->
< div class = "contents topic" id = "contents" >
2022-08-13 10:46:47 -05:00
< p class = "topic-title" > Contents< / p >
2020-02-03 10:44:15 -06:00
< ul class = "simple" >
< li > < a class = "reference internal" href = "#abstract" id = "id2" > Abstract< / a > < ul >
< li > < a class = "reference internal" href = "#design-flow" id = "id3" > Design Flow< / a > < / li >
< / ul >
< / li >
< li > < a class = "reference internal" href = "#design-features-of-coriolis" id = "id4" > Design & Features of < span class = "sc" > Coriolis< / span > < / a > < / li >
< li > < a class = "reference internal" href = "#disclaimer" id = "id5" > Disclaimer< / a > < / li >
< / ul >
< / div >
< div class = "section" id = "abstract" >
< h2 > < a class = "toc-backref" href = "#id2" > Abstract< / a > < / h2 >
< img alt = "Routed AM2901 layout picture." class = "align-center" src = "../pages/amd2901_chip_routed.png" style = "width: 50%;" / >
< p > < span class = "sc" > Alliance< / span > is a complete toolchain for < span class = "sc" > vlsi< / span > design. It provides a < span class = "sc" > vhdl< / span > compiler
and simulator, logic synthetiser, automatic place & route and portable < span class = "sc" > cmos< / span >
library. It has been in used in research projects such as the 875K transistors
< span class = "sc" > StaCS< / span > superscalar microprocessor or the 400K transistors < span class = "sc" > ieee< / span > gigabit < span class = "sc" > hsl< / span >
router. It has been actively developped during the 1990-2000 years and is maintained
2020-04-27 07:14:03 -05:00
since. Its practical limit for one standard cell block (flat) is about 10K gates,
2020-02-03 10:44:15 -06:00
above that limit you would need to use hierarchy and manually build a floorplan.
< span class = "sc" > Alliance< / span > is entirely written in C.< / p >
< p > < span class = "sc" > Coriolis< / span > was started in the year 2000 as a replacement for the place & route stage
of < span class = "sc" > Alliance< / span > . As such it is able to handle standard cells block (flat) of at least 150K
gates. It was later extended to support analog design re-implementing the methodology
introduced by the < span class = "sc" > cian< / span > team of < span class = "sc" > lip6< / span > / < span class = "sc" > su< / span > in < span class = "sc" > cairo< / span > / < span class = "sc" > cairo+< / span > . The tools have
been designed from the ground up to support digital only, analog only or mixed circuits.
< span class = "sc" > Coriolis< / span > is written in a mix of C++ and < span class = "sc" > Python< / span > .< / p >
< p > < span class = "sc" > Alliance< / span > / < span class = "sc" > Coriolis< / span > is free software. All source code is realeased under the < a class = "reference external" href = "http://www.gnu.org/copyleft/gpl.txt" > GPL< / a >
license, except for < span class = "sc" > Hurricane< / span > which is under < a class = "reference external" href = "https://www.gnu.org/licenses/lgpl-3.0.html" > LGPL< / a > and the < a class = "reference external" href = "http://www.si2.org/" > Si2< / a > < span class = "sc" > lef< / span > / < span class = "sc" > def< / span >
parser drivers that are under < a class = "reference external" href = "http://www.apache.org/licences/LICENSE-2.0" > Apache License, Version 2.0< / a > .< / p >
< p > < a class = "reference external" href = "../pages/symbolic-layout.html" > Short introduction to Symbolic Layout.< / a > < / p >
< div class = "section" id = "design-flow" >
< h3 > < a class = "toc-backref" href = "#id3" > Design Flow< / a > < / h3 >
< p > We are also upgrading the complete design flow by replacing < span class = "sc" > Alliance< / span > obsoleting
tools by more advanced < span class = "sc" > foss< / span > alternatives:< / p >
< ul class = "simple" >
< li > < a class = "reference external" href = "http://www.clifford.at/yosys/" > Yosys< / a > for logical synthesis.< / li >
< li > < a class = "reference external" href = "https://github.com/ghdl/ghdl" > GHDL< / a > for < span class = "sc" > vhdl< / span > simulation.< / li >
< / ul >
< / div >
< / div >
< div class = "section" id = "design-features-of-coriolis" >
< h2 > < a class = "toc-backref" href = "#id4" > Design & Features of < span class = "sc" > Coriolis< / span > < / a > < / h2 >
< p > The < span class = "sc" > Coriolis< / span > toolchain is build upon the < span class = "sc" > Hurricane< / span > database.< / p >
< ul class = "simple" >
< li > < strong > Tool Integration.< / strong > To better manages the challenges arising in the
increasingly bigger designs, the various tools have to work together
as a whole, in a tight integration at runtime. The < span class = "sc" > Hurricane< / span > database
has been develop to address this problem and as a results, all < span class = "sc" > Coriolis< / span >
tools are built upon it and can communicate through that core database.< / li >
< li > < strong > Deterministic.< / strong > The database and the tools are completely deterministics.
Two runs in < em > exactly< / em > the same context gives the same result.< / li >
< li > < strong > C++ & Python.< / strong > The < span class = "sc" > Hurricane< / span > database and all tools are fully exported
in < span class = "sc" > Python< / span > providing a seamless integration. The whole toolchain is build
as a mix of C++ for computational intensive part and < span class = "sc" > Python< / span > scripts for
everything else. There is not even a binary, the main program < em > is< / em > a
< span class = "sc" > Python< / span > script and can be rewritten in any way you like.< / li >
< li > < strong > Graphic Interface.< / strong > < span class = "sc" > Hurricane< / span > also come with a graphical interface
allowing to display, explore or check your design. The graphic interface
can be extended (in C++) do display any custom overlay.< / li >
< li > < strong > Symbolic Layout.< / strong > For digital part of the designs, we use a symbolic
layer approach. Note that < span class = "sc" > Coriolis< / span > can make digital designs using real
technology, but it's a largely untested feature yet.< / li >
< li > < strong > Analog Design.< / strong > A complete user-guided methodology for designing analog
circuits is available. It is fully integrated in all the tools and will
allow mixed design in the near future.< / li >
< / ul >
< / div >
< div class = "section" id = "disclaimer" >
< h2 > < a class = "toc-backref" href = "#id5" > Disclaimer< / a > < / h2 >
< p > < span class = "sc" > Alliance< / span > / < span class = "sc" > Coriolis< / span > tools, at the time being, are not suitable for deep submicron
technological nodes (below 130nm / 180nm).< / p >
< p > For portability across foundries, technological nodes and freedom from fondries < span class = "sc" > nda< / span > ,
< span class = "sc" > Alliance< / span > / < span class = "sc" > Coriolis< / span > rely on < em > portable< / em > layout (or < em > scalable< / em > layout, or < em > symbolic< / em > layout).
To produce a valid < span class = "sc" > gds< / span > file, you would need to use the < span class = "cb" > s2r< / span > translation tool which
needs a configuration file suited for the target technology, and < em > that< / em > file is under
< span class = "sc" > nda< / span > . So, either should be written by you, or given to you through services like
< a class = "reference external" href = "https://www.mycmp.fr/" > MyCMP< / a > .< / p >
< / div >
< / div >
<!-- /Content -->
<!-- Footer -->
< div class = "footer gradient-2" >
< div class = "container footer-container " >
< div class = "row" >
< div class = "col-xs-4 col-sm-3 col-md-3 col-lg-3" >
< div class = "footer-title" > Social< / div >
< ul class = "list-unstyled" >
< / ul >
< / div >
< div class = "col-xs-4 col-sm-3 col-md-3 col-lg-2" >
< / div >
< div class = "col-xs-4 col-sm-3 col-md-3 col-lg-3" >
< div class = "footer-title" > Links< / div >
< ul class = "list-unstyled" >
2020-02-09 11:18:42 -06:00
< li > < a href = "https://coriolis.lip6.fr/" target = "_blank" > Alliance/Coriolis< / a > < / li >
2020-02-03 10:44:15 -06:00
< li > < a href = "https://www-soc.lip6.fr/" target = "_blank" > CIAN Team Website< / a > < / li >
< li > < a href = "https://f-si.org" target = "_blank" > Free Silicon Foundation< / a > < / li >
< / ul >
< / div >
< div class = "col-xs-12 col-sm-3 col-md-3 col-lg-4" >
< p class = "pull-right text-right" >
< small > < em > Proudly powered by < a href = "http://docs.getpelican.com/" target = "_blank" > pelican< / a > < / em > < / small > < br / >
< small > < em > < span class = "sc" > NEST< / span > theme by < a href = "https://github.com/molivier" target = "_blank" > molivier< / a > < / em > < / small > < br / >
< small > Copyright © 2020-2020 Sorbonne Universite< / small >
< / p >
< / div >
< / div >
< / div >
< / div >
<!-- /Footer -->
< / body >
< / html >