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>
|