summaryrefslogtreecommitdiff
path: root/static/v10/man5/mds.10.5
blob: 1cd11866133e6e7daf915a4a4371ab295a3e3ca6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
.TH MDS 10.5 UCDS
.SH NAME
mds \- kollmorgen symbolic data format
.SH DESCRIPTION
.sp
.PP
MDS is the symbolic format for the Kollmorgen Pck Division channel router.
This is an abbreviated description of the format. 
.sp
.I Introduction
.PP
All MDS data is made up of integers, symbols and keywords.  All coordinates
are expressed in mils, i.e., 1/1000 of an inch (just like fizz!).  Coordinates
can be negative or positive and are denoted by matching parentheses of
the form (X Y).  Symbols require quotes around them if
not made up of numbers, letters, $ or a _.
.sp
.I Data types
.PP
There are 15 data types identified by their reserved word.  The following is
a list of valid types:
.sp
.ta 1.5i
.nf
Border	Board edges and keepouts
Check	Design rules to check (not required)
Design	Name of the design
F2	From-to (before routing)
Fail	Failed from-to (after routing)
File	pointer to another file
Fix	Hand routed wire
Hole	Drill hole
Level	Wiring surface (typically only two: COMP and PBSN)
Net	Net
Panel	Board of some type (optional)
Route	Routed from-to with intermediate points at each bend
Term	Termination site for a net (optional)
Wire	Wire path
Wire_region	Routing zone for layers
.fi
.Ce
.sp
.B Border id coordinates
.PP
Borders are closed loops composed by the coordinates and named by a identifier.
.sp
.B Check [rule] [-MIN: n] [-ON|-OFF]
.PP
Specifies what design rules should be checked by the
.I repair
program.
.sp
.B Design [name]
.PP
Names a design.  Strictly optional.
.sp
.B F2 netname coordinates [switches]
.PP
From-tos are the principal data format of the routing system.  They are
created from nets by F2gen.  Intermediate points are specified by
following the coordinate by a -I or -W.  Valid switches include:
.ta 0.75i,1.5i
.nf
	-LEVEL: level
		level name (or number)
	-ORDER: cost_function
		Sets cost function (see section below)
	-IFL: n
		number of inflection points; default 9
	-MIN_FS_END:
		sets minimum first and last segment length.  Default = 0.
	-MIN_WIRE_END:
		sets only wire end segment length.
	-MDR: n
		manhattan distance ratio (in tenths, default 1.5 = 15)
	-AXIAL | -ESCAPE | -EITHER | -DIAGONAL
		Route path direction; Axial is along axes, escape indicates
		diagonals on ends only.
	-AWD: n
		Adjacent Wire Distance
	-CLW: window
	-XDW: window
		CLW checks for coupled length violations within window {n,l}
		where n is the center to center distance and l is the length.
	-XOVER: limit
		Crossover limit
.fi
.sp
.B Fail netname coordinates [switches]
.PP
Fails are identical to from-tos except for be called fails.
See above list of switches.
.sp
.B File [filename] [switches]
.PP
This include the filename.  The switch specifies what kind of file it is.
.sp
.B Fix sequence_no [switches] coordinates
.PP
Specifies a hand routed net.  It is identical to route records (see below).
The endpoints must agree with the fail it fixes.
.sp
.B Hole code [switches] coordinates
.PP
Specifies a drilled or LASER'ed hole.  The switches are:
.nf
	-SIZE: n
		size of n mils
	-WIRED | -NOTWIRED
		dictates if hole can be wired
	-TOLERENCE: n
	-LASED -LEVEL: n | -DRILLED
		if not drilled, only one layer can be specified
.fi
.sp
.B Level level [-F2_DENSITY: n]
.PP
Specifies wiring level directly; designs are assumed to be on one level unless
otherwise told. The optional switch specifies density of routes on the layer.
.sp
.B Net [pre_switches]
or
.B Net name [pre_switches] coordinates [post_switches]
.PP
If the net name is omitted, then the switches are global.  The pre_switches
include all of the from-to switches plus the following:
.nf
	-LINK: n
		Limit of from-tos using this node; default: 2
	-FIX | -DECOMP
		Fixes order in from-to list or decomposes it
	-FIX_START | -NOFIX_START
	-FIX_END | -NOFIX_END
		Treat first or last node as if LINK: 1; default: NOFIX
	-TERM_TO: pool
	-TERM_END: pool
	-TERM_WIRE_END: pool
	-TERM_LIMIT: n
	-NOTERM
		Reduces link by 1.  Assigns terminator from pool. Default is -NOTERM
	-ORDER: cost_function
		Possible cost functions are:
			AIR_SL - Airline, shortest to longest
			AIR_LS - Airline, longest to shortest
			MAN_SL - Manhattan, shortest to longest
			MAN_LS - Manhattan, longest to shortest
			X_SL - X, shortest to longest
			X_LS - X, longest to shortest
			Y_SL - Y, shortest to longest
			Y_LS - Y, longest to shortest
	-BALANCE: cost_function
		Possible cost functions are:
			COUNT - by from-to count
			AIR - by "airline distance"
			MAN - by "Manhattan metric"
			X - by X coordinate
			Y - by Y coordinate
	-SUPPLY | -SIGNAL
		-SUPPLY nets are ignored; default is -SIGNAL.
.fi
.PP
The post_switches are:
.nf
	-LINK: n
	-FIX | -DECOMP
	-TERM_TO: pool
.fi
.sp
.B Panel [name] coordinates [-DESIGN: name]
.PP
Defines a coordinate system for translated output data.  Strictly optional.
.sp
.B Route [sequence_no] [switches] coordinates
.PP
If the sequence number and coordinates are
omitted, then the switches are globally applied.
Valid switches include:
.nf
	-NET: name
	-LEVEL: level
	-W_DIA: n
		Used by wire clearance checks
	-CLW: window
	-XDW: window
	-AWD: n
		Adjacent Wire Distance (default 0)
	-PASS: n
		Set pass number (starts at 1)
	-XOVER: limit
		Sets limit to wire crossovers; can be NONE, ONE or TWO.
.fi
.sp
.B Term pool coordinates
.PP
Pool together a set of coordinates of terminals given by XY coordinates.
Typically used by the TERMGEN program to assign terminators automatically.
Used by ECL freaks.
.sp
.B Wire [sequence_no] [switches] coordinates
.PP
Just like routes except ...
.sp
.B Wire_region [zone] [switches]
.PP
Specifies an XY plane where wiring can be done by the router.  If the zone
is omitted then the specification is global.  The switches are:
.nf
	-LEVEL: level
	-AWE_WE: n
		Axial Wire Edge to Wire Edge distance
	-AWE_HE: n
		Axial Wire Edge to Hole Edge distance
	-DWE_WE: n
		Diagonal Wire Edge to Wire Edge distance
	-DWE_HE: n
		Diagonal Wire Edge to Hole Edge distance
	-W_DIA: n
		Wire diameter
	-NSID: n
		Normal/Segment Intercept Distance.
	-MAX_HTURN: n
		Maximum turn angle (in degrees)
	-DIR: name | -DBECTORY: name
		Prepend this name to map file output name.
.fi
.sp
The following is a typical map file for input to Mapgen:
.sp
.nf
.Cs
Level COMP
Level PBSN -F2_density: 50
Net -balance: air
Wire_region A -Level: COMP -Max_Hturn: 135 -NSID: 15 -W_dia: 8
Wire_region A -AWE_WE: 8 -AWE_HE: 15 -DWE_WE: 27 -DWE_HE: 8
Wire_region B -Level: PBSN -Max_Hturn: 135 -NSID: 15 -W_dia: 8
Wire_region B -AWE_WE: 8 -AWE_HE: 15 -DWE_WE: 27 -DWE_HE: 8
.Ce
.fi