| 1 |
6 |
root |
<html>
|
| 2 |
|
|
|
| 3 |
|
|
<head>
|
| 4 |
|
|
<meta http-equiv="Content-Language" content="en-us">
|
| 5 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
| 6 |
|
|
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
|
| 7 |
|
|
<meta name="ProgId" content="FrontPage.Editor.Document">
|
| 8 |
|
|
<title>A Little Bit about Alliance</title>
|
| 9 |
|
|
</head>
|
| 10 |
|
|
|
| 11 |
|
|
<body bgcolor="#FFCCCC">
|
| 12 |
|
|
|
| 13 |
|
|
<p align="center"><font face="Times New Roman" size="5">A Little Bit about
|
| 14 |
|
|
Alliance</font></p>
|
| 15 |
|
|
<p align="center"> </p>
|
| 16 |
|
|
<p><font size="4"><b>A. Introduction</b></font></p>
|
| 17 |
|
|
<p><font size="4">Alliance is a Computer Aided Design System for Very Large
|
| 18 |
|
|
Scale Integrated Circuits (VLSI) design. Alliance is a non-commercial
|
| 19 |
|
|
software developed by Équipe Achitecture des Systèmes et Micro-Électronique,
|
| 20 |
|
|
Laboratoire d'Informatique de Paris 6,Université Pierre et Marie Curie,
|
| 21 |
|
|
France. So, if you are interested in Alliance, you can get the software
|
| 22 |
|
|
and more information at <a href="http://www-asim.lip6.fr">http://www-asim.lip6.fr</a>
|
| 23 |
|
|
. We usually run this software under Linux Operating Systems (we use Red
|
| 24 |
|
|
Hat Linux 6.2).</font></p>
|
| 25 |
|
|
<font size="4">The ALLIANCE VHDL</font> is dedicated to digital
|
| 26 |
|
|
synchronous circuits design, which is usually used for:
|
| 27 |
|
|
<ul>
|
| 28 |
|
|
<li><font size="4">logic simulation </font>
|
| 29 |
|
|
<li><font size="4">logic synthesis </font>
|
| 30 |
|
|
<li><font size="4">functional abstraction </font>
|
| 31 |
|
|
<li><font size="4">formal proof</font> </li>
|
| 32 |
|
|
</ul>
|
| 33 |
|
|
<p><font size="4">The ALLIANCE VHDL is fully compatible with the IEEE VHDL
|
| 34 |
|
|
standard Ref. 1076 (1987). That means that a VHDL description using the ALLIANCE
|
| 35 |
|
|
subset can be simulated with any full-VHDL commercial compiler-simulator.</font></p>
|
| 36 |
|
|
<p><font size="4">The VHDL description of a circuit is made of two separate
|
| 37 |
|
|
parts: the external view and the internal view.</font>
|
| 38 |
|
|
<p><font size="4">The external view defines the name of the circuit and its
|
| 39 |
|
|
interface. The interface of a circuit is a list of ports. Each port is specified
|
| 40 |
|
|
by its name, its mode, its type, its constraint for an array and, its kind.</font>
|
| 41 |
|
|
<p><font size="4">The mode of a port depends only on the manner the port is used
|
| 42 |
|
|
inside the circuit (in the internal view of the circuit). If the value of a port
|
| 43 |
|
|
is to be read in the view of the description, the port must be declared with the
|
| 44 |
|
|
mode <code>IN</code>. If the value of a port is to be written by the internal
|
| 45 |
|
|
view, the port must be declared with the mode <code>OUT</code>. If both above
|
| 46 |
|
|
conditions are satisfied the port must be declared with the mode <code>INOUT</code>.</font>
|
| 47 |
|
|
<font size="4">Only structural and behavioural data flow are supported as
|
| 48 |
|
|
internal view.</font>
|
| 49 |
|
|
<p><font size="4">A circuit, a subcircuit, or a cell can have two different
|
| 50 |
|
|
descriptions:</font>
|
| 51 |
|
|
<ul>
|
| 52 |
|
|
<li><font size="4">a structural view may be defined in a file with a <code>.vst</code>
|
| 53 |
|
|
extension </font>
|
| 54 |
|
|
<li><font size="4">a behavioural data flow description may be defined in a
|
| 55 |
|
|
file with a <code>.vbe</code> extension.</font></li>
|
| 56 |
|
|
</ul>
|
| 57 |
|
|
<p> </p>
|
| 58 |
|
|
<p><font size="4"><b>B. Starting Using Alliance</b></font></p>
|
| 59 |
|
|
<p><font size="4">We can start using Alliance by linking our workspace to the
|
| 60 |
|
|
source of Alliance by typing :</font></p>
|
| 61 |
|
|
<p> <font size="4">
|
| 62 |
|
|
<b>source /home/cad/alliance/share/etc/alc_env.csh</b></font></p>
|
| 63 |
|
|
<p><font size="4">here we assume that the Alliance is located in directory
|
| 64 |
|
|
/home/cad.</font></p>
|
| 65 |
|
|
<p><font size="4">The next step is to set the environment of Alliance. We
|
| 66 |
|
|
usually use logic gates from <b>sclib</b> to develop a circuit. So, we
|
| 67 |
|
|
must set the environment by typing :<br>
|
| 68 |
|
|
</font></p>
|
| 69 |
|
|
<p> <font size="4"><b>setenv
|
| 70 |
|
|
MBK_CATA_LIB .:/home/cad/alliance/archi/Linux/cells/sclib</b></font></p>
|
| 71 |
|
|
<p><font size="4">We must know the symbolic name of gate that we use by seeing
|
| 72 |
|
|
manual of <b>sclib</b>. To see manual of all about command we want to know, we
|
| 73 |
|
|
can type </font></p>
|
| 74 |
|
|
<p> <font size="4">
|
| 75 |
|
|
<b>man name_of_command </b></font></p>
|
| 76 |
|
|
<p><font size="4">After that, we can start our design by typing the source code
|
| 77 |
|
|
in the text editor. Our design can be from behavioural data flow
|
| 78 |
|
|
description or logic circuit description. We can write our comment like
|
| 79 |
|
|
this :</font></p>
|
| 80 |
|
|
<p> <font size="4">
|
| 81 |
|
|
/* our_comment */</font></p>
|
| 82 |
|
|
<p><font size="4">If our design comes from behavioural data flow description, we
|
| 83 |
|
|
save it with a <b>.vbe</b> extension. You can see examples of
|
| 84 |
|
|
behavioural D-Flip Flop design <a href="dflipflop.shtml">here</a>. </font></p>
|
| 85 |
|
|
<p><font size="4">If our design comes from logic circuit description, we save it
|
| 86 |
|
|
with a <b>.c</b> extension.</font> <font size="4">In
|
| 87 |
|
|
order to write this file, we must follow the syntax below :</font></p>
|
| 88 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">/*<o:p>
|
| 89 |
|
|
</o:p>
|
| 90 |
|
|
</p>
|
| 91 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 92 |
|
|
</span>genlib.h is required for all genlib programs.<o:p>
|
| 93 |
|
|
</o:p>
|
| 94 |
|
|
</p>
|
| 95 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 96 |
|
|
</span>it defines the set of functions we will use for schematic capture<o:p>
|
| 97 |
|
|
</o:p>
|
| 98 |
|
|
</p>
|
| 99 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">*/</p>
|
| 100 |
|
|
<p>#include <genlib.h><br>
|
| 101 |
|
|
</p>
|
| 102 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">/*<o:p>
|
| 103 |
|
|
</o:p>
|
| 104 |
|
|
</p>
|
| 105 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 106 |
|
|
</span>decoder.c is to become the `core' executable program. So we must<o:p>
|
| 107 |
|
|
</o:p>
|
| 108 |
|
|
</p>
|
| 109 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 110 |
|
|
</span>define a main procedure main()<o:p>
|
| 111 |
|
|
</o:p>
|
| 112 |
|
|
</p>
|
| 113 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">*/<o:p>
|
| 114 |
|
|
</o:p>
|
| 115 |
|
|
</p>
|
| 116 |
|
|
<p>main()<br>
|
| 117 |
|
|
{<br>
|
| 118 |
|
|
DEF_LOFIG("decoder"); /* decoder.c is our file
|
| 119 |
|
|
name */<br>
|
| 120 |
|
|
</p>
|
| 121 |
|
|
<p style="margin: 0">/* define inputs and outputs of our system */</p>
|
| 122 |
|
|
<p class="MsoNormal" style="margin: 0"> </p>
|
| 123 |
|
|
<p class="MsoNormal" style="margin: 0">/*<o:p>
|
| 124 |
|
|
</o:p>
|
| 125 |
|
|
</p>
|
| 126 |
|
|
<p class="MsoNormal" style="margin: 0"><span style="mso-spacerun: yes">
|
| 127 |
|
|
</span>We start with the input terminals.<o:p>
|
| 128 |
|
|
</o:p>
|
| 129 |
|
|
</p>
|
| 130 |
|
|
<p class="MsoNormal" style="margin: 0"><span style="mso-spacerun: yes">
|
| 131 |
|
|
</span>Only signals and connectors can be vectorized.<o:p>
|
| 132 |
|
|
</o:p>
|
| 133 |
|
|
</p>
|
| 134 |
|
|
<p class="MsoNormal" style="margin: 0">*/<o:p>
|
| 135 |
|
|
</o:p>
|
| 136 |
|
|
</p>
|
| 137 |
|
|
<p style="word-spacing: 0; margin: 0">LOCON("x", IN, "x" );
|
| 138 |
|
|
/* define input */<br>
|
| 139 |
|
|
LOCON("res", IN, "res" );
|
| 140 |
|
|
/* define reset input, if we need it */<br>
|
| 141 |
|
|
LOCON("ck", IN, "ck" );
|
| 142 |
|
|
/* define clock input */</p>
|
| 143 |
|
|
<p style="word-spacing: 0; margin: 0">LOCON("z", INOUT, "z"
|
| 144 |
|
|
); /* define an output of a gate
|
| 145 |
|
|
but acts as input of another gate */</p>
|
| 146 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 147 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">/*<o:p>
|
| 148 |
|
|
</o:p>
|
| 149 |
|
|
</p>
|
| 150 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 151 |
|
|
</span>Then,<span style="mso-spacerun: yes"> </span>the output terminals.<o:p>
|
| 152 |
|
|
</o:p>
|
| 153 |
|
|
</p>
|
| 154 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">*/<o:p>
|
| 155 |
|
|
</o:p>
|
| 156 |
|
|
</p>
|
| 157 |
|
|
<p style="word-spacing: 0; margin: 0"><br>
|
| 158 |
|
|
LOCON("y[0:1]", OUT, "y[0:1]" );
|
| 159 |
|
|
/* define output consists of 2
|
| 160 |
|
|
bits*/</p>
|
| 161 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 162 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 163 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">/*<o:p>
|
| 164 |
|
|
</o:p>
|
| 165 |
|
|
</p>
|
| 166 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 167 |
|
|
</span>Then the supplies.<o:p>
|
| 168 |
|
|
</o:p>
|
| 169 |
|
|
</p>
|
| 170 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 171 |
|
|
</span>They are inputs, but we like them better at the end of the<o:p>
|
| 172 |
|
|
</o:p>
|
| 173 |
|
|
</p>
|
| 174 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 175 |
|
|
</span>description.<o:p>
|
| 176 |
|
|
</o:p>
|
| 177 |
|
|
</p>
|
| 178 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">*/<o:p>
|
| 179 |
|
|
</o:p>
|
| 180 |
|
|
</p>
|
| 181 |
|
|
<p style="word-spacing: 0; margin: 0">LOCON("vdd", IN, "vdd"
|
| 182 |
|
|
); /* define vdd input */<br>
|
| 183 |
|
|
LOCON("vss", IN, "vss" );
|
| 184 |
|
|
/* define vss input */<br>
|
| 185 |
|
|
<br>
|
| 186 |
|
|
....</p>
|
| 187 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 188 |
|
|
<p style="word-spacing: 0; margin: 0">/* define all components that we use to
|
| 189 |
|
|
develop our system */</p>
|
| 190 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 191 |
|
|
<p style="word-spacing: 0; margin: 0">LOINS("a2_y", "a1",
|
| 192 |
|
|
"x", "m", "z", "vdd", "vss",0);</p>
|
| 193 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 194 |
|
|
<p style="word-spacing: 0; margin: 0">/* a2_y is a simbolic name for 2
|
| 195 |
|
|
inputs <b>and gate</b> */</p>
|
| 196 |
|
|
<p style="word-spacing: 0; margin: 0">/*<b> </b>a1 is our given name for
|
| 197 |
|
|
this component where there must be no same name in<b> </b>the same file */</p>
|
| 198 |
|
|
<p style="word-spacing: 0; margin: 0">/* x and m is inputs of a1 */</p>
|
| 199 |
|
|
<p style="word-spacing: 0; margin: 0">/* z is the output of a1 */</p>
|
| 200 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 201 |
|
|
<p style="word-spacing: 0; margin: 0">....</p>
|
| 202 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 203 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">SAVE_LOFIG();<o:p>
|
| 204 |
|
|
</o:p>
|
| 205 |
|
|
</p>
|
| 206 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span style="mso-spacerun: yes">
|
| 207 |
|
|
</span>exit(0);<span style="mso-spacerun: yes">
|
| 208 |
|
|
</span>/* necessary for the proper run of the Makefile */ <o:p>
|
| 209 |
|
|
</o:p>
|
| 210 |
|
|
</p>
|
| 211 |
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">}<span style="mso-spacerun: yes">
|
| 212 |
|
|
</span><o:p>
|
| 213 |
|
|
</o:p>
|
| 214 |
|
|
</p>
|
| 215 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 216 |
|
|
<p style="word-spacing: 0; margin: 0"><font size="4"><a href="counter.shtml">Here</a>
|
| 217 |
|
|
we can see the example <b>.c</b> file of 4-bit counter.</font></p>
|
| 218 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 219 |
|
|
<p style="word-spacing: 0; margin: 0"><font size="4"><b>C. Basic Alliance
|
| 220 |
|
|
Tools</b></font></p>
|
| 221 |
|
|
<p style="word-spacing: 0; margin: 0"> </p>
|
| 222 |
|
|
<p style="word-spacing: 0; margin: 0"><font size="4">After that, we </font><font size="4">are
|
| 223 |
|
|
now ready to actually design the chip and use the Alliance tools. The design
|
| 224 |
|
|
flow for this little example is composed of 5 main steps:</font></p>
|
| 225 |
|
|
<ul>
|
| 226 |
|
|
<li>
|
| 227 |
|
|
<p style="margin-top: 0; margin-bottom: 0"><font size="4">behavioral capture
|
| 228 |
|
|
and simulation</font></li>
|
| 229 |
|
|
<li>
|
| 230 |
|
|
<p style="margin-top: 0; margin-bottom: 0"><font size="4">netlist capture
|
| 231 |
|
|
and validation</font></li>
|
| 232 |
|
|
<li>
|
| 233 |
|
|
<p style="margin-top: 0; margin-bottom: 0"><font size="4">physical layout
|
| 234 |
|
|
generation</font></li>
|
| 235 |
|
|
<li>
|
| 236 |
|
|
<p style="margin-top: 0; margin-bottom: 0"><font size="4">design validation</font></li>
|
| 237 |
|
|
<li>
|
| 238 |
|
|
<p style="margin-top: 0; margin-bottom: 0"><font size="4">symbolic to real
|
| 239 |
|
|
conversion.</font></li>
|
| 240 |
|
|
</ul>
|
| 241 |
|
|
<p><font size="4">First of all, we must make a structural file (<b>.vst</b>).
|
| 242 |
|
|
We can get structural view from our behavioural data flow description (<b>.vbe</b>)
|
| 243 |
|
|
file or from our <b>.c</b> file. Here are the basic Alliance tools :</font></p>
|
| 244 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(i)<span style="mso-spacerun: yes">
|
| 245 |
|
|
</span>genlib</font></b></p>
|
| 246 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">By
|
| 247 |
|
|
using this tool, we can change our logic circuit description file (<b>.c</b>)
|
| 248 |
|
|
into structural file (<b>.vst</b>) which more useful in next process. <b><O:P>
|
| 249 |
|
|
</b>The command is :</font></p>
|
| 250 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">
|
| 251 |
|
|
|
| 252 |
|
|
<b> </b>
|
| 253 |
|
|
<b>genlib .c_file_name</O:P>
|
| 254 |
|
|
</b></font></p>
|
| 255 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(ii)<span style="mso-spacerun: yes">
|
| 256 |
|
|
</span>scmap<O:P>
|
| 257 |
|
|
</font></b></p>
|
| 258 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">Our
|
| 259 |
|
|
behavioural data flow description file (<b>.vbe</b>) can be changed into
|
| 260 |
|
|
structural file (<b>.vst</b>) by using this tool. The command is :<br>
|
| 261 |
|
|
</font></p>
|
| 262 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4"><b>
|
| 263 |
|
|
|
| 264 |
|
|
scmap .vbe_ file_name .vst_file_name
|
| 265 |
|
|
</b></font></p>
|
| 266 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">We
|
| 267 |
|
|
can see the structural file (<b>.vst</b>) generated from the previous
|
| 268 |
|
|
behavioural D-Flip Flop design <a href="struct.shtml">here</a>.<b></O:P>
|
| 269 |
|
|
</b></font></p>
|
| 270 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(iii)
|
| 271 |
|
|
asimut </font></b></p>
|
| 272 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">This
|
| 273 |
|
|
tool is usually used to simulate our design by giving some inputs. We can
|
| 274 |
|
|
see simulation results, which can be compared to our expected outputs. We
|
| 275 |
|
|
must create a test pattern file (<b>.pat</b>) contains some inputs we will
|
| 276 |
|
|
use in the simulation. You can see the example of test pattern file <a href="test.shtml">here</a>.
|
| 277 |
|
|
The command is :</font></p>
|
| 278 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4"><br>
|
| 279 |
|
|
<b> asimut .vst_file_name test_pattern_file_name
|
| 280 |
|
|
simulation_results_file_name</b> <b><O:P>
|
| 281 |
|
|
</O:P>
|
| 282 |
|
|
</b></font></p>
|
| 283 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(iv)
|
| 284 |
|
|
xsch<O:P>
|
| 285 |
|
|
</O:P>
|
| 286 |
|
|
</font></b></p>
|
| 287 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">We
|
| 288 |
|
|
can see logic circuit of our structural file by using this tools.</font></p>
|
| 289 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(v)
|
| 290 |
|
|
xpat<O:P>
|
| 291 |
|
|
</O:P>
|
| 292 |
|
|
</font></b></p>
|
| 293 |
|
|
<font size="4">We can see timing diagrams of test pattern file (<b>.pat</b>) and our asimut
|
| 294 |
|
|
result file (<b>.pat</b>) by using <b>xpat</b> tool.</font>
|
| 295 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(vi)
|
| 296 |
|
|
scr<O:P>
|
| 297 |
|
|
</O:P>
|
| 298 |
|
|
</font></b></p>
|
| 299 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">Our
|
| 300 |
|
|
structural file can be extracted into symbolic layout using <b>scr</b>.
|
| 301 |
|
|
The command is :<br>
|
| 302 |
|
|
|
| 303 |
|
|
|
| 304 |
|
|
|
| 305 |
|
|
<b>scr -sclib -p -r file_name</b></font></p>
|
| 306 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">This
|
| 307 |
|
|
symbolic layout result (<b>.ap</b>) can be viewed by <b>graal</b> tool.<b><O:P>
|
| 308 |
|
|
</O:P>
|
| 309 |
|
|
</b></font></p>
|
| 310 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(vii)
|
| 311 |
|
|
s2r</font></b></p>
|
| 312 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">Our
|
| 313 |
|
|
symbolic layout can be changed into real layout by using <b>s2r</b>. The
|
| 314 |
|
|
command is :<br>
|
| 315 |
|
|
<b>
|
| 316 |
|
|
s2r file_name</b> </font></p>
|
| 317 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">This
|
| 318 |
|
|
real layout (<b>.cif</b>) can be viewed by using <b>dreal</b> tool.</font></p>
|
| 319 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><b><font size="4">(viii) <span style="mso-spacerun: yes">
|
| 320 |
|
|
</span>lynx<O:P>
|
| 321 |
|
|
</O:P>
|
| 322 |
|
|
</font></b></p>
|
| 323 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">Our
|
| 324 |
|
|
real layout can be changed into new structural file (<b>.al</b>) by using <b>lynx</b>.
|
| 325 |
|
|
First, we must set the environmet by the command :</font></p>
|
| 326 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4"><b> </b>
|
| 327 |
|
|
<b>setenv MBK_OUT_LO al</b></font></p>
|
| 328 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">then
|
| 329 |
|
|
we type the command :</font></p>
|
| 330 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"> <font size="4">
|
| 331 |
|
|
<b>lynx -v .ap_file_name output_file_name -f</b></font></p>
|
| 332 |
|
|
<p class="MsoNormal" style="LINE-HEIGHT: 150%; TEXT-ALIGN: justify"><font size="4">After
|
| 333 |
|
|
this, we can do simulation post-layout on the old (<b>.vst</b>) and new (<b>.al</b>)
|
| 334 |
|
|
structural file by using <b>lvx</b>. The command is : </font></p>
|
| 335 |
|
|
<p><b><font size="4">
|
| 336 |
|
|
lvx vst al .vst_file_name .al_file_name</font></b></p>
|
| 337 |
|
|
<p><font size="4">Another way to compare the result is using <b>asimut</b>.
|
| 338 |
|
|
We can simulate the new structural file (<b>.al</b>) with the previous test
|
| 339 |
|
|
pattern file using asimut. But first, we must set the environment :<br>
|
| 340 |
|
|
</font></p>
|
| 341 |
|
|
<p><b> </b><font size="4"><b>
|
| 342 |
|
|
setenv MBK_IN_LO al</b></font></p>
|
| 343 |
|
|
<p><font size="4">then using <b>asimut</b> :</font></p>
|
| 344 |
|
|
<p align="center"><font size="4"><b>
|
| 345 |
|
|
asimut .al_file_name testpattern_file_name result_file_name </b></font></p>
|
| 346 |
|
|
<p><font size="4">After that we can compare the new simulation result with the
|
| 347 |
|
|
previous simulation result. We expect to get the same result.</font></p>
|
| 348 |
|
|
|
| 349 |
|
|
<p> </p>
|
| 350 |
|
|
|
| 351 |
|
|
<p><font size="4">To know more about Alliance and find tutorials, you can
|
| 352 |
|
|
visit <a href="http://www-asim.lip6.fr">http://www-asim.lip6.fr</a></font></p>
|
| 353 |
|
|
|
| 354 |
|
|
</body>
|
| 355 |
|
|
|
| 356 |
|
|
</html>
|