~ubuntu-branches/ubuntu/wily/electric/wily-proposed

« back to all changes in this revision

Viewing changes to com/sun/electric/tool/user/help/helphtml/chap09-06-06.html

  • Committer: Package Import Robot
  • Author(s): Markus Koschany
  • Date: 2015-08-12 13:15:54 UTC
  • mfrom: (1.2.7)
  • Revision ID: package-import@ubuntu.com-20150812131554-k4amekjrk0qw6cju
Tags: 9.06+dfsg-1
* Imported Upstream version 9.06+dfsg.
* Use --download-current-version for get-orig-source target.
* Declare compliance with Debian Policy 3.9.6.
* Vcs-Browser field: Switch to cgit.
* debian/control: Add all build-dependencies only to Build-Depends.
* Install ElectricIcon64x64.png icon. Drop debian/icons directory.
  Convert ElectricIcon64x64.png with imagemagick to electric.xpm at
  build-time.
* Update copyright years.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
<!-- COMMAND Tools/Routing/Sea-Of-Gates Cell Properties... -->
8
8
 
9
9
The sea-of-gates router is able to take an arbitrary set of unrouted arcs and convert them to layout.
10
 
It also honors the "Routing Exclusion" nodes to restrict certain metal layers
11
 
(see <A HREF="chap09-06-01.html#chap09-06-01">Section 9-6-1</A>).
12
 
<P>
13
 
To do this, use the <B>Sea-Of-Gates Route this Cell</B> command (in menu <B>Tools / Routing</B>).
 
10
To run it, use the <B>Sea-Of-Gates Route this Cell</B> command (in menu <B>Tools / Routing</B>).
14
11
If there are unrouted arcs selected, these will be the only ones converted.
15
12
Otherwise, all unrouted arcs in the cell will be converted.
16
13
If sub-cells below the current cell need to be routed, use <b>Sea-of-Gates Route Sub-Cells</b>.
17
14
<P>
18
 
The router has many features that can be controlled by the Routing Preferences
19
 
and by cell-specific properties.
20
 
<P>
21
15
<h3>Sea-of-Gates Routing Preferences</h3>
22
16
<p>
 
17
The router can be controlled by the Routing Preferences and by cell-specific properties.
23
18
The Routing Preferences (in menu <B>File / Preferences...</B>, "Tools" section, "Routing" tab)
24
19
has these options:
25
20
<ul>
30
25
<li><b>Search complexity limit</b> sets the maximum number of steps that
31
26
the router will take to find a route.
32
27
The larger the value, the longer the router will run before it gives up.</li>
 
28
<li><b>Maximum search factor</b> controls the maximum area that will be considered for a route.
 
29
This value is multiplied by the largest design-rule spacing, so a factor of 10 and a maximum
 
30
spacing of 15 means that the router will consider up to 150 units outside the bounding rectangle
 
31
of a route.</li>
33
32
<li><b>Do Global Routing</b> requests that a global routing preprocessing step be done
34
33
to plan the path of each route.
35
34
Global routing divides the cell into a grid, and forces each routes to run in certain grid squares.
41
40
<li><b>Rerun routing with failed routes</b> requests that the router run again
42
41
after it finishes in an attempt to complete those routes that failed the first time.
43
42
You can set a different complexity limit for this step.</li>
 
43
<li><b>Run even on connected routes</b> requests that the router connect points
 
44
that are already connected geometrically. When unchecked, routes that already connect
 
45
are ignored by the router.</li>
 
46
<li><b>Contact options</b> There are four ways to place contacts in the routed circuit:<ol>
 
47
<li><b>Contacts at top level</b> place contacts where they are needed at the top level of the cell.</li>
 
48
<li><b>Contacts use existing subcells or place at top</b> look for subcells that have the desired contact geometry
 
49
and place instances of those subcells instead of actual contacts. Other contacts are placed at the top level.</li>
 
50
<li><b>Contacts use existing subcells or create new ones</b> look for subcells that have the desired contact geometry
 
51
and place instances of those subcells instead of actual contacts. Other contacts cause new subcells to be created.</li>
 
52
<li><b>Contacts create new subcells</b> all contacts are placed in newly-created subcells.</li>
 
53
</ol></li>
44
54
<li><b>Use two processors per route</b> tells the router to use two threads for each route
45
55
(one tries to run a path from end 1 to end 2, the other tries to run a path from end 2 to end 1).
46
56
The thread that completes first terminates the other thread.
47
57
When not checked, the router alternates steps in the two directions, stopping when one of
48
 
the directions reaches its goal.
49
 
Because the router is able to follow both directions in a single thread,
50
 
this preference is not advised (it is better to use multiple processors for the next option,
51
 
which runs multiple routes in parallel).
52
 
However, on many-core systems, where there is excess computation power, this preference may be desirable.</li>
53
 
<li><b>Do multiple routes in parallel</b> attempts to use as many processors as possible
54
 
to run multiple routes at once.</li>
 
58
the directions reaches its goal.</li>
 
59
<li><b>Do multiple routes in parallel</b> uses multiple processors to run routes in parallel.</li>
55
60
<li><b>Forced processor count</b> tells the router to ignore the actual number of processors
56
 
on the machine and to use an appropriate number of threads for the processor count specified here.
57
 
Set the value back to zero to remove the override.</li>
 
61
on the machine and to use the specified number of threads.</li>
58
62
</ul>
59
63
<p>
60
64
<!-- NEED 3in -->
66
70
<p>
67
71
<CENTER><IMG SRC="fig09-69.png" ALT="Figure 9.69"></CENTER>
68
72
<p>
 
73
<!-- NEED 2in -->
69
74
The upper-left part of the dialog controls routing properties for the entire cell.
70
75
<ul>
71
76
<li><b>Alternating Metal Layer Usage</b> controls the placement of alternating layers
75
80
You can then choose whether odd-numbered arcs are horizontal or vertical.</li>
76
81
<li><b>Contact inclusion pattern</b> and <b>Contact exclusion pattern</b> let you specify which contacts in
77
82
the technology to use for routing.
 
83
You can also select contacts to use in 2X routing.
78
84
For example, to force only contacts that start with the letters "X-", set the inclusion pattern to "X-(\w+)"</li>
79
85
<li><b>Do not place rotated contacts</b> Requests that asymmetric contacts not be tried in a rotated orientation.</li>
80
86
<li><b>Do not make Steiner Trees (already done)</b> Before routing begins, the unrouted arcs
82
88
(multiple arcs on a single network that connect more than two ports) run in the most efficient way.
83
89
This efficient path is called a "Steiner Tree".
84
90
If you believe that the routes are already optimized, you can request that this step be skipped.</li>
 
91
<li><b>Contacts down avoided layers</b> and <b>Contacts up avoided layers</b> Requests that nets which
 
92
start or end on forbidden layers be allowed to place a contact up or down to a permitted layer.
 
93
The contact cannot create new geometry on the forbidden layer, so the necessary area on that layer must
 
94
already exist.</li>
 
95
<li><b>Routing bounds layer</b> sets the layer which will limit the bounds of routing.
 
96
If geometry exists in that layer, the extent of the geometry will define the bounds of routing.</li>
85
97
</ul>
86
98
</TD><TD></TD></TR></TABLE>
87
99
<p>
88
100
The lower-left part of the dialog controls individual layers in the cell.
89
101
It lets you disable the use of any layer, or favor it above others.
90
 
You can also override the default width and spacing rules on that layer.
 
102
You can also request that a layer be a taper by setting a Maximum taper length
 
103
Tapers are the initial or final segments
 
104
of a route which use the width of the geometry at the end, rather than the default width.
 
105
They have a limited run length.
 
106
You can also request that a given layer be available only for tapers, and not for intermediate routing.
 
107
For each layer, you can also override the default width and spacing rules on that layer.
 
108
The "2X width threshold" is the width above which a wire is considered to be "2X" in size.
 
109
When that happens, special contacts may be used, and mask colors are flipped
 
110
(only relevant in technologies that have multiple masks on a layer).
 
111
The <b>Remove Geometry Layer</b> is a layer which will remove the presence of the given layer.
 
112
For example, if the Remove Geometry Layer for Metal-1 is set to a layer called "DM1",
 
113
then the presence of the DM1 layer will actually remove any Metal-1 under it for the purposes of routing.
91
114
<p>
92
 
And you can set a grid for placement of the layer.
93
 
Grid control can be <b>Fixed</b> (with a spacing and an offset)
 
115
Another layer control is the use of grids.
 
116
Grids can be <b>Fixed</b> (with a spacing and an offset)
94
117
or <b>Arbitrary</b> (with multiple grid coordinates).
95
118
When editing arbitrary grids, icons on the right let you create new grid coordinates, delete existing ones,
96
119
and even draw the location on the screen.
97
120
Click <b>Show</b> to draw the grids on the cell to help you see where the grids actually are.
98
121
<p>
99
 
The right side of the dialog controls individual nets that are to be routed.
100
 
If nothing is listed on the right, then all selected nets are routed (or all nets, if nothing is selected).
101
 
Use the "Add Net" button to add a named net and use the "Remove Net" button to remove a listed net.
 
122
The upper-right side of the dialog controls individual nets that are to be routed.
 
123
If nothing is listed at the top, then all highlighted nets are routed (or all nets, if nothing is highlighted).
 
124
Use the <b>Add Net</b button to add a named net
 
125
and the <b>Remove Net</b> button to remove selected nets from the list.
102
126
When a net is selected, you can even override the layers that will be used to route that net
103
127
and you can override the width and spacing rules for that layer on that net.
104
128
<p>
 
129
The lower-right part of the dialog lets you add arbitrary rectangles in the chip on given metal layers
 
130
which will act as blockages, preventing routing in that area.
 
131
The "add" icon creates new blockages, the "delete" icon removes them, the "edit" icon modifies the selected blockage,
 
132
and the <b>Show</b> button shows all blockages in the circuit.
 
133
<p>
105
134
At the bottom, the "Import..." button reads a command file that can fill this dialog with values.
106
135
 
107
136
<!-- TRAILER -->