255 lines
14 KiB
HTML
255 lines
14 KiB
HTML
<!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 Making an asic Symbolic Layout Symbolic To Real Translation Pros & Cons of Symbolic Layout A Note About Analog Designs Making an asic This section is a short introduction to the...">
|
|
<meta name="keywords" content="">
|
|
<link rel="icon" href="../favicon.ico">
|
|
|
|
<title>Symbolic Layout - 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 " href="../pages/homepage.html">Coriolis <span class="sc">vlsi</span> Backend Tools</a></li>
|
|
<li><a class="dropdown-item active" 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 " href="../pages/homepage.html">Coriolis <span class="sc">vlsi</span> Backend Tools</a></li>
|
|
<li><a class="dropdown-item active" 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">Symbolic Layout</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">Contents</p>
|
|
<ul class="simple">
|
|
<li><a class="reference internal" href="#making-an-asic" id="id4">Making an <span class="sc">asic</span></a></li>
|
|
<li><a class="reference internal" href="#id2" id="id5">Symbolic Layout</a></li>
|
|
<li><a class="reference internal" href="#symbolic-to-real-translation" id="id6">Symbolic To Real Translation</a></li>
|
|
<li><a class="reference internal" href="#pros-cons-of-symbolic-layout" id="id7">Pros & Cons of Symbolic Layout</a></li>
|
|
<li><a class="reference internal" href="#a-note-about-analog-designs" id="id8">A Note About Analog Designs</a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="making-an-asic">
|
|
<h2><a class="toc-backref" href="#id4">Making an <span class="sc">asic</span></a></h2>
|
|
<p>This section is a short introduction to the terminology of <span class="sc">asic</span> making.</p>
|
|
<p>The end product of a <span class="sc">vlsi</span> design flow is basically a <em>drawing</em>. This drawing
|
|
is what you send to the foundry in order to fabricate it. Usually, this is a
|
|
file in <span class="sc">gds</span> format, which contains a lot of geometric shapes expressed in
|
|
microns or nanometers.</p>
|
|
<p>This drawing is called a <strong>layout</strong>.</p>
|
|
<p>In the layout, each geometrical shape is associated with a <em>layer</em>. For example,
|
|
there are layers for each metal level like <tt class="docutils literal">metal1</tt> or <tt class="docutils literal">metal2</tt>.</p>
|
|
<p><strong>Layers</strong> tells in what <em>material</em> you want the geometrical shape to be build.
|
|
(this is an oversimplification)</p>
|
|
<p>All shapes in a given layer constitute a <strong>mask</strong>, analogous to an overlay in
|
|
classical drawing programs.</p>
|
|
<p>The foundry will not accept <em>any</em> layout. In order to be successfully fabricated,
|
|
all the shapes of a layout must respect a set of rules. For example, to ensure
|
|
that after fabrication, two separated shapes of <tt class="docutils literal">metal1</tt> are indeed separated,
|
|
they must respect a <em>minimal distance</em>, for example 0.5µ. This special set of
|
|
rules is called the <strong>Design rules</strong>.</p>
|
|
<p><strong>Design Rules</strong> gives many insigth about a process and is subjected to <span class="sc">nda</span>.
|
|
For the same reason your whole layout covered by it, meaning that you cannot
|
|
publish it in any way.</p>
|
|
</div>
|
|
<div class="section" id="id2">
|
|
<h2><a class="toc-backref" href="#id5">Symbolic Layout</a></h2>
|
|
<p><strong>Symbolic Layout</strong> is a way of making the layout of a chip independant of a given
|
|
technological node. This technique is based on the observation that, between two
|
|
processes in the same technological node (say, for example, 350nm of <span class="sc">ams</span> and
|
|
350nm of <span class="sc">tsmc</span>), there are only minors rules variations. Moreover, even between
|
|
different nodes (350nm <span class="sc">ams</span> and 180nm <span class="sc">ams</span>), the <em>shrink rate</em> of the various
|
|
layers of the process are the same.</p>
|
|
<p>Symbolic layout consist of drawing in a blank unit called the <span class="raw-html">λ</span> (lambda).
|
|
Then, the value of the <span class="raw-html">λ</span> is calculated for the target technology so that the
|
|
layout fit it's particular design rules. This approach was first introduced by
|
|
<span class="sc">Mead</span> & <span class="sc">Conway</span> <a class="citation-reference" href="#vlsisys" id="id3">[VLSISYS]</a>.</p>
|
|
<p>As <span class="sc">Coriolis</span> can manage both symbolic and real layers in the same design,
|
|
it uses the following convention for layer naming:</p>
|
|
<ul class="simple">
|
|
<li><tt class="docutils literal">METAL1</tt> : uppercase named layers are for <em>symbolic layers</em>. Those layer
|
|
shapes will change when mapped toward a real technology.</li>
|
|
<li><tt class="docutils literal">metal1</tt> : lowercase named layers are for <em>real layers</em>. THeir shapes will
|
|
be exported exacltly <em>as is</em>.</li>
|
|
</ul>
|
|
<p><img alt="Symbolic, Mead & Conway" class="align-middle" src="../images/symbolic-layout/symbolic-1.png" style="width: 80%;" /></p>
|
|
<p>The symbolic layout of <span class="sc">Alliance</span>, refine this approach, by adding width and cap
|
|
extentions factors to allow a closer fitting of the technology.</p>
|
|
<p><img alt="Symbolic, Alliance" class="align-middle" src="../images/symbolic-layout/symbolic-2.png" style="width: 80%;" /></p>
|
|
</div>
|
|
<div class="section" id="symbolic-to-real-translation">
|
|
<h2><a class="toc-backref" href="#id6">Symbolic To Real Translation</a></h2>
|
|
<p>Contrary to commercial design flows wich directly creates a layout for a target
|
|
node, our flow create a <em>symbolic layout</em> which you have to translate into one
|
|
on the target process. This is done with the <span class="cb">s2r</span> tool which stands for
|
|
"Symbolic To Real". And this tool must have a configuration file for the
|
|
intended technology (this is the <tt class="docutils literal">.rds</tt> file). As the <tt class="docutils literal">.rds</tt> file is
|
|
written using the <strong>Design Rules</strong> so is under <span class="sc">nda</span>. Writting the <tt class="docutils literal">.rds</tt>
|
|
to get the best fit for target process is still largely a craft.</p>
|
|
<p><img alt="Symbolic to Real translation" class="align-middle" src="../images/symbolic-layout/rds-1.png" style="width: 80%;" /></p>
|
|
</div>
|
|
<div class="section" id="pros-cons-of-symbolic-layout">
|
|
<h2><a class="toc-backref" href="#id7">Pros & Cons of Symbolic Layout</a></h2>
|
|
<p>Cons:</p>
|
|
<ul class="simple">
|
|
<li>As it cannot make use of the finest features of the target process, there is an
|
|
unvoidable loss of area. That is, the layout once translated will be bigger than
|
|
if it has been done directly. The loss is below 10%.</li>
|
|
</ul>
|
|
<p>Pros:</p>
|
|
<ul class="simple">
|
|
<li>You do not have to build you chip for each target process. You only need to write
|
|
a new <tt class="docutils literal">.rds</tt> file.</li>
|
|
<li>Symbolic layout is not subjected to <span class="sc">nda</span>, so it can be freely published and
|
|
exchanged.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="a-note-about-analog-designs">
|
|
<h2><a class="toc-backref" href="#id8">A Note About Analog Designs</a></h2>
|
|
<p>The symbolic layout approach is not suited for analog designs. Analog designs are
|
|
closely related to the target process. So we developped a different methodology
|
|
to ensure portability.</p>
|
|
<table class="docutils citation" frame="void" id="vlsisys" rules="none">
|
|
<colgroup><col class="label" /><col /></colgroup>
|
|
<tbody valign="top">
|
|
<tr><td class="label"><a class="fn-backref" href="#id3">[VLSISYS]</a></td><td><span class="sc">Mead</span>, Carver; <span class="sc">Conway</span>, Lynn (1980). Introduction to VLSI systems.
|
|
Reading, Mass.: Addison-Wesley. ISBN 0201043580. OCLC 4641561</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</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> |