Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / man / man5 / cns.5
1 .TH CNS 5 "06 November 2002" "AVERTEC" "File Formats"
2
3 .SH Name
4 .TP 20
5 CNS \-
6 YAGLE and TAS data structure to represent extracted gate net-lists.
7
8 .so man1/avt_origin.1
9
10 .SH DESCRIPTION
11 .PP
12 The CNS data structure is designed to represent extracted gate net-lists.
13 It has evolved out of the need for a common data structure for CAD-CLSI
14 verification tools such as: formal verification, timing and power
15 analysis, and logico-temporal simulation.
16 .br
17 The CNS data structure combines the precision advantage of a transistor
18 net-list with the speed advantage of a logical gate net-list.
19 This is achieved by representing the circuit as a directed acyclic graph
20 representing signal-flow within the circuit.
21 Each node of this graph is a type of pseudo logical gate known as a cone.
22 A graph representation of the circuit allows the direct implementation
23 of rapid transversal algorithms useful in simulation and timing analysis.
24
25 .SH THE CONES
26 .PP
27 A Cone is the disassembled equivalent of a logical gate. It is made up of branches,
28 a branch corresponding to a path from the node on which the cone is built to an external
29 port across transistor source-drain junctions.
30 .br
31
32 Each cone contains up to four sets of branches but at least one. These set correspond
33 to the type of external port on which the branch ends.
34 .br
35 The four types are: VDD, VSS, EXT and GND, corresponding to branches terminating on Vdd
36 or Vss power supplies, external connectors, or ground (inclued for GaAs compatibility)
37 respectively.
38 .br
39 For external connector branches the final link of the branch points to the corresponding
40 connector.
41 .br
42
43 The connectivity between cones is represented by edges. Each cone contains two list of
44 edges: one for the inputs, and one for the outputs.
45 An edge contains a pointer to an object to which the cone is connected (cone or external
46 connector) and a type indicating the type of object and certains characteristics of the
47 connection.
48
49 .SH ENVIRONMENT VARIABLES
50 .PP
51 The environment variables allow selection of the ouput format and icontrol the display of trace and debug information.
52
53 .TP 20
54 \fICNS_DRIVE_VERBOSE\fP
55 If the value of this variable is set to "yes", then
56 a CNV format file is driven.
57
58 .TP 20
59 \fICNS_DRIVE_NORMAL\fP
60 If the value of this variable is set to "yes", then
61 a CNS format file is driven.
62
63 .TP 20
64 \fICNS_TRACE_MODE\fP
65 An integer which, if greater than or egal to 1, indicates that
66 an execution trace of all
67 CNS functions is displayed. the default value is 0.
68
69 .TP 20
70 \fICNS_DEBUG_MODE\fP
71 An integer which, if greater than or egal to 2, indicates that additionnal
72 figure coherency checks should be performed, this can significantly increase
73 execution time. The default value is 0.
74
75 .SH FILE FORMAT
76 .PP
77 The file format is "file_name.cns" or "filename.cnv", where
78 "file_name" is the name of the figure.
79 If neither \fICNS_DRIVE_VERBOSE\fP nor \fICNS_DRIVE_NORMAL\fP is set to "yes" then
80 the CNS format is driven.
81 If both are specify, CNS and CNVformats are driven.
82
83 .SH THE CNV FILE
84 .PP
85 The CNV file is a more readable version of the CNS file.
86 Both files contains the same information and are equivalent.
87 The CNS file is a less readeable format more suited for parsing.
88
89 .SH CNS AND CNV SECTIONS
90 .PP
91 The CNS and CNV files have the same structure. These files are made
92 up of distinct sections.
93 .br
94 The five sections are:
95 .br
96 - Header
97 .br
98 - External Connectors
99 .br
100 - Transistors
101 .br
102 - Cells
103 .br
104 - Cones
105 .br
106
107 .SH THE CNS and CNV SECTIONS
108 .PP
109 The following descriptions of the sections match with the CNV file.
110 Even is the CNS file contains the same informations than the CNV file,
111 the redaction of the two file is quite different.
112 In order to have a better understanding what follows, make sure you have
113 generated the CNV file by setting the proper Environment Variable.
114
115 .TP 10
116 .B HEADER
117 The Header in CNV looks like:
118 .br
119
120 CNS V<number> <techno> Created by <name> on <date>
121 .br
122 Figure: <figure name>
123 .br
124 Netlist format: <format name>
125 .br
126 Capacitance Scale: <number>
127 .br
128
129 .TP 20
130 \fIVersion\fB
131 The first information in the HEADER is the CNS version number.
132
133 .TP 20
134 \fITechnology\fB
135 Following the CNS version is the technology of the figure.
136 Usually set to 'npmosfet' to indicate MOS technology.
137
138 .TP 20
139 \fIInformation\fB
140 The informations given in the HEADER contains the user name and
141 the date of creation of the file.
142
143 .TP 20
144 \fIFigure\fB
145 This is the figure name.
146
147 .TP 20
148 \fINetlist format\fB
149 This is the input netlist format.
150
151 .TP 20
152 \fICapacitance Scale\fB
153 The capacitance scale factor.
154
155 .TP 10
156 .B EXTERNAL CONNECTORS
157 There is an example on EXTERNAL CONNECTOR description in CNV:
158 .br
159
160 <index number>) <name> (<type>)
161 .br
162
163 .TP 20
164 \fIIndex\fB
165 An index associated to the connector, counting the number of connector to this point.
166 References can be made to this number in order to identify the connector in the list.
167
168 .TP 20
169 \fIConnector Name\fB
170 This is the connector name.
171
172 .TP 20
173 \fIConnector Type\fB
174 The connector type can be INPUT, OUTPUT, TRISTATE or a POWER SUPPLY.
175 The connector type is indicated in brackets following the connector name.
176
177 .TP 10
178 .B TRANSISTORS
179 In CNV a transistor is described as follows:
180 .br
181
182 <index>) <name>, Type <type> driven by '<name>',
183 Position = (<number>,<number>),
184 Width=<number>, Length=<number>,
185 PS=<number>, PD=<number>,
186 XS=<number>, XD=<number>
187 .br
188
189 .TP 20
190 \fIIndex\fB
191 An index associated with the transistor.
192 References can be made to this number in order to identify the transistor in the list.
193
194 .TP 20
195 \fIName\fB
196 The name of the transistor is composed of two letters: "tr", followed by a number.
197
198 .TP 20
199 \fIType\fB
200 Indicate the transistor type.
201 .br
202 Can be TN or TP, respectively for N and P transistor.
203
204 .TP 20
205 \fIDriven\fB
206 The name of the cone connected to the transistor gate.
207
208 .TP 20
209 \fITransistor Position\fB
210 If the information has been extracted, it gives the localistation of the transistor in the layout.
211 .br
212 By default set to (0,0).
213
214 .TP 20
215 \fIDimensions\fB
216 Width, Length, PS, PD, XS, XD define the pysical dimensions of the transistor.
217
218 .TP 10
219 .B CELLS
220 In CNV, a cell is described as follows:
221 .br
222
223 <index>) Model <number>
224 .br
225 <cone name>
226 .br
227 <cone name>
228 .br
229
230 .TP 20
231 \fIIndex\fB
232 An index associated to the cell, counting the number of cell to this point.
233 References can be made to this number in order to identify the cell in the list.
234
235 .TP 20
236 \fIModel\fB
237 Regroupes under the same model an ensemble of cone which structure has been defined
238 by the user in order to perform pattern matching.
239 .br
240 See man \fBfcl\fP.
241
242 .TP 10
243 .B CONES
244 In CNV a cone is described as follows:
245 .br
246 <index>) <cone name>
247 .br
248 Type: <type>
249 .br
250 TecTytpe: <technology>
251 .br
252 INPUTS
253 .br
254 <edge type> '<name of the edge>'
255 .br
256 OUTPUTS
257 .br
258 <edge type> '<name of the edge>'
259 .br
260 BRANCHES
261 .br
262 <index>) <type of the branche>
263 .br
264 <link type> <name> (Index=<number>)
265 Driven by '<cone name>', Capa = <number>
266 .br
267
268 .TP 20
269 \fIIndex\fB
270 An index associated to the cones, counting the number of cones to this point.
271 References can be made to this number in order to identify the cones in the list.
272
273 .TP 20
274 \fIName\fB
275 Following the index is the cone name.
276
277 .TP 20
278 \fIType\fB
279 Specifiy certains of the cone particularity if needed.
280
281 .TP 20
282 \fITecType\fB
283 The technologic characteristics of the cone.
284
285 .TP 20
286 \fIINPUTS\fB
287 Indicates the type and name of the input edges.
288 .br
289 Type can be either a cone or an external connector.
290
291 .TP 20
292 \fIOUTPUTS\fB
293 Indicates the type and name of the output edges.
294 .br
295 Type can be either a cone or an external connector.
296
297 .TP 20
298 \fIBRANCHES\fB
299 For each branche there is an index followed by the
300 branch which can be Vdd, Vss, Ext or Gnd (See \fITHE CONES\fP).
301 The branch type can be followed by a list in brackets.
302 Each terms of this list indicating characteristics of the branch.
303 .br
304 Each branch contains a list of links, each one beginning by the link
305 type, TN or TP, followed by the number appearing in the name of the
306 transistor.
307 .br
308 For convenience, the index of the link is indicated in brackets just after
309 this number, refering to the list of transistor.
310 .br
311 Follows the name of the cone driving the transistor gate, and the capacitance
312 of the link.
313
314 .SH EXAMPLE
315 .PP
316 A more complete exemple of Cone is given for comprehension:
317 .br
318
319 .br
320 39) accu_2.dff_m
321 .br
322 Type: Flip-Flop,Master
323 .br
324 TecTytpe: Degraded Vdd
325 .br
326 INPUTS
327 .br
328 Cone 'auxsc33'
329 .br
330 Cone command 'ck'
331 .br
332 Cone loop feedback 'spi_81'
333 .br
334 OUTPUTS
335 .br
336 Cone loop 'spi_81'
337 .br
338 BRANCHES
339 .br
340 1) Vdd (Degraded)
341 .br
342 TN 47 (Index=190) (Command) Driven by 'ck', Capa = 16.40
343 .br
344 TP 169 (Index=68) Driven by 'auxsc33', Capa = 7.00
345 .br
346 2) Vdd (Non-Functional,Feedback)
347 .br
348 TP 168 (Index=69) Driven by 'spi_81', Capa = 16.40
349 .br
350 3) Vss
351 .br
352 TN 47 (Index=190) (Command) Driven by 'ck', Capa = 16.40
353 .br
354 TN 51 (Index=186) Driven by 'auxsc33', Capa = 7.00
355 .br
356 4) Vss (Non-Functional,Feedback)
357 .br
358 TN 42 (Index=195) Driven by 'spi_81', Capa = 16.40
359 .br
360 CELLS
361 .br
362 (3)
363 .br
364
365 .SH SEE ALSO
366 .PP
367 yagle(1), tas(1), hitas(1)
368
369 .so man1/avt_bug_report.1
370