coriolis/documentation/output/pages/homepage.html

237 lines
14 KiB
HTML
Raw Normal View History

<!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">
<meta name="description" content="Contents Abstract Design Flow Design &amp; Features of Coriolis Disclaimer Abstract Alliance is a complete toolchain for vlsi design. It provides a vhdl compiler and simulator, logic synthetiser, ...">
<meta name="keywords" content="">
<link rel="icon" href="../favicon.ico">
<title>Coriolis <span class="sc">vlsi</span> Backend Tools - Coriolis VLSI CAD Tools [offline]</title>
<!-- 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">
<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>
</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">
<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>
</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">
<p class="topic-title first">Contents</p>
<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 &amp; 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 &amp; 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
since. It's practical limit for one standard cell block (flat) is about 10K gates,
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 &amp; 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 &amp; 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++ &amp; 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">
<li><a href="https://coriolis.lip6.fr/" target="_blank">Alliance/Coriolis</a></li>
<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>