8 Cct.doc

advertisement

Session 8 - CCT Specctra Auto-Routing

CCT Specctra Auto-Routing

Description Page

bestsave on C:\padspwr\files\jobname.bst .............................................................. 2 autosave on C:\padspwr\files\jobname.ato ............................................................. 3 status_file C:\padspwr\files\jobname.sts ................................................................ 4 unit mil ....................................................................................................................... 6 grid wire 8.333 ........................................................................................................... 7 grid via 8.333 ............................................................................................................ 8 protect all wires ......................................................................................................... 9 fix net GND VCC .................................................................................................... 11 define (class clocks clk*) ......................................................................................... 12 select class clocks .................................................................................................... 14 select via MICROVIA ............................................................................................ 14 rule class nets (testpoint (insert on)(side back)(use_via TESTVIA)) ................. 15 limit way 500 ............................................................................................................ 17 limit via 3 .................................................................................................................. 17 cost side_exit forbidden ......................................................................................... 18 tax ............................................................................................................................ 20 smart_route ............................................................................................................. 21 bus diagonal ............................................................................................................ 23 fanout 5 (via_share on) .......................................................................................... 24 report no_fanout C:\padspwr\files\jobname.nof ................................................ 29 route 25 ..................................................................................................................... 30 clean 4 ....................................................................................................................... 32 testpoint (use_via TESTVIA)(center_center 100) ............................................... 33 critic ......................................................................................................................... 36 spread ...................................................................................................................... 37 report unconnect C:\padspwr\files\jobname.non ................................................ 39 write wire C:\padspwr\files\jobname.w ................................................................ 40 unprotect all wires .................................................................................................. 42 recorner diagonal ................................................................................................... 44 miter (pin 100)(slant 1000)(bend 1000 50) ............................................................ 45 write routes C:\padspwr\files\jobname.rte ........................................................... 40 quit ........................................................................................................................... 47

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.1

Session 8 - CCT Specctra Auto-Routing

bestsave

Function: The bestsave command controls whether wires are saved when there is a routing improvement.

Description: This command turns the bestsave function on and off . When bestsave is on , the autorouter writes the routed wires at the end of each routing pass if the wiring has improved since the previous bestsave .

SPECCTRA calculates a routing pass-score as follows:

Pass-score = crossing violations + clearance violations + crosstalk violations + length violations + 2 unroutes.

Use: This bestsave wires file can be used to recover your work in the event of power failure. The default filename is bestsave.w, but we use jobname.bst.

The bestsave command does not replace the write wire command, which is used at the conclusion of an autorouting session. See the write wire command.

You load the wires to restart an autorouting session by using the read command.

Note: This command should only be used on computers that are slower than 200mhz. The autorouter works so fast and the possibility of lost time due to a power failure is so small that the use of the bestsave command will only create an undesired file that takes up unnecessary disk space. The bestsave wires file will always have to be deleted.

Command examples: bestsave on C:\padspwr\files\jobname.bst

bestsave on

(This is the desired proper syntax)

(This will create a file called bestsave.w and is not desired syntax)

8.2 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

autosave

Function: The autosave command controls whether wires are saved after each routing pass.

Description: This command turns the autosave function on and off . If the function is turned on , the autorouter writes the wiring results to a file at the end of each routing pass.

This is an overwrite process. At the end of an autorouting session, or in the event of a system crash, the results of the most recent wiring pass are in the autosave file. You can use the autosave file to recover. The default file name is autosave.w, but we use jobname.ato as the file name.

Use: This autosave wires file can be used to recover your work, in the event of power failure, if the bestsave command was not used. The bestsave command is preferred over autosave . The autosave command does not replace the write wire command, which is used at the conclusion of an autorouting session. See the write wire command.

You load the wires to restart an autorouting session by using the read command.

Note: This command should only be used on computers that are slower than 200mhz. The autorouter works so fast and the possibility of lost time due to a power failure is so small that the use of the autosave command will only create an undesired file that takes up unnecessary disk space. The autosave wires file will always have to be deleted.

Command examples: autosave on C:\padspwr\files\jobname.ato

(This is the desired syntax) autosave on (This will create a file called autosave.w and is not desired syntax)

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.3

Session 8 - CCT Specctra Auto-Routing

status_file

Function: The status_file command redirects the routing status information, from the default monitor.sts

, to the filename you specify.

Description: During autorouting operations, SPECCTRA automatically writes status information to a file named monitor.sts

in the C:\padspwr\files directory. If you want to rename this file and write it to a different directory, use the status_file command to name the file and the directory.

This report allows you to save a summary of routing pass statistics. The autorouter writes simplified routing statistics to the shell and to monitor.sts or the filename of your choice at the end of each routing pass. Routing statistics are automatically updated during a routing pass, after each 100 wires are routed.

Command Example: status_file C:\padspwr\files\jobname.sts

The following table describes the information contained in the routing status report:

Field

Start Time:

Report Time:

Nets =

Connections =

Current Wire =

Description

Indicates the time that the autorouter is started

Indicates the time when the report is generated

Indicates the number of nets

Indicates the number of 2 pin connections

Indicates the current or last wire routed

Reroute Wires = Indicates the total number of wires to be routed

Completion = Indicates the completion percentage

Unconnections = Indications the number of 2 pin connections that are not routed

ROUTING HISTORY

Field

Pass Name

Pass No.

Description

Identifies the type of pass completed

Conflicts Cross

Conflicts Clear

Fail

Unrte

Vias

Xtalk

Len.

Red %

CPU Time Pass

Identifies the number of the pass completed. Miter, bus and seedvia do not step the pass counter

Indicates the number of crossing conflicts

Indicates the number of clearance rule violations

Indicates the number of connections the router couldn’t rip-up and reroute with a new path in this routing pass.

Indicates the number of unconnections at the end of the pass

Indicates the number of vias used

Indicates the number of crosstalk rule violations

Indicates the number of Maximum and Minimum length rule violations

Indicates the % of reduction in conflicts compared to the previous pass

Indicates the CPU time for the pass

Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.4

Session 8 - CCT Specctra Auto-Routing

Example of a Status file:

#SPECCTRA Version V8.0 for win made 98/08/13 10:34:32

#ROUTING STATUS <<< C:\padspwr\files\Demoa.dsn >>>

Start Time: Wed Apr 14 16:20:02 1999

Report Time: Wed Apr 14 17:09:52 1999

Nets = 681 Connections = 2718

Current Wire = 0 Reroute wires = 1058

Completion = 100.00% Unconnections = 0

| ROUTING HISTORY ===========================================================

| Pass | Conflicts | | | | | |Red| CPU Time |

| Name |No.|Cross|Clear|Fail|Unrte| Vias|XTalk|Len| % | Pass | Total |

|----------+---+-----+-----+----+-----+-----+-----+---+---+--------+--------|

| Bus | 0| 0| 0| 6| 886| 2356| 0| 0| | 0:00:03| 0:00:03|

| Fanout | 1| 0| 0| 68| 878| 2926| 0| 0| | 0:04:41| 0:04:44|

| Route | 2| 1242| 196| 5| 5| 2945| 0| 0| 0| 0:04:01| 0:08:45|

| Route | 3| 935| 117| 2| 2| 2937| 0| 0| 26| 0:04:07| 0:12:52|

| Route | 4| 666| 117| 2| 2| 2932| 0| 0| 25| 0:04:48| 0:17:40|

| Route | 5| 451| 82| 1| 1| 2949| 0| 0| 31| 0:04:27| 0:22:07|

| Route | 6| 287| 25| 2| 1| 2977| 0| 0| 41| 0:04:55| 0:27:02|

| Route | 7| 100| 17| 2| 1| 3072| 0| 0| 62| 0:02:25| 0:29:27|

| Route | 8| 48| 6| 2| 1| 3097| 0| 0| 53| 0:02:29| 0:31:56|

| Route | 9| 27| 4| 2| 0| 3099| 0| 0| 42| 0:01:19| 0:33:15|

| Route | 10| 10| 7| 1| 0| 3119| 0| 0| 45| 0:00:41| 0:33:56|

| Route | 11| 6| 0| 1| 0| 3132| 0| 0| 64| 0:00:54| 0:34:50|

| Route | 12| 2| 2| 0| 0| 3134| 0| 0| 33| 0:00:17| 0:35:07|

| Route | 13| 0| 4| 0| 0| 3134| 0| 0| 0| 0:00:14| 0:35:21|

| Route | 14| 1| 0| 0| 0| 3132| 0| 0| 75| 0:00:12| 0:35:33|

| Route | 15| 1| 0| 0| 0| 3134| 0| 0| 0| 0:00:03| 0:35:36|

| Route | 16| 0| 0| 0| 0| 3134| 0| 0|100| 0:00:12| 0:35:48|

| Clean | 17| 0| 0| 3| 0| 3029| 0| 0| | 0:03:13| 0:39:01|

| Clean | 18| 0| 0| 1| 0| 3019| 0| 0| | 0:03:06| 0:42:07|

| Clean | 19| 0| 0| 5| 0| 3009| 0| 0| | 0:03:04| 0:45:11|

| Clean | 20| 0| 0| 0| 0| 2995| 0| 0| | 0:03:03| 0:48:14|

| Critic | 20| 0| 0| 0| 0| 2995| 0| 0| | 0:00:02| 0:48:16|

| Miter | 20| 0| 0| 0| 0| 2995| 0| 0| | 0:00:48| 0:49:04|

| Conflicts between polygon wires and fixed objects: 0

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.5

Session 8 - CCT Specctra Auto-Routing

unit

Function: The unit command sets your working units.

Description: The unit command sets the working units to one of 3 options:

 inch

 mil

 mm

You can change your working units at any time during an autorouting session.

Command input, report file output and display output are always scaled for the current working units.

Units defined in the do file should match units defined in your design file.

Command example: unit mil (all further numerical commands will be in mils)

8.6 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

grid wire

Function: The grid wire command defines a routing grid.

Description: When you use grid wire, a uniform X, Y wire grid is set to the current measurement units. Grid must be a positive number. New routes or rerouted wires use the specified grid, except when entering or exiting off-grid pins. Existing wires that don’t require rerouting are not changed even if you do not use the protect all wires command. If you include a signal layer name with the command, the grid applies only to that layer.

The grid wire command overrides the wire grid set by the grid smart command.

You can use the grid smart command instead of grid wire. The grid smart command defines the minimum wire grid. The purpose of grid smart is to route initial passes with a larger via grid to avoid via barriers and distribute vias. The grid smart command allows two wire to route between vias for a few routing passes, and then changes to one wire between vias for better convergence.

Command examples: grid wire 8.333 grid wire 5 Layer 1 grid wire 5,2.5

(use a routing grid of 8.333)

(use a different routing grid 5 on layer 1)

(use routing grid of 5 in the x axis and 2.5 in the y axis)

Common Routing Grids

All routing grids should be evenly divisible by 25

Examples:

Trace

Width

25

15

12

10

8

6

5

5

Routing

Grid

25

5

12.5

5

8.333

6.25

5

2.5

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.7

Session 8 - CCT Specctra Auto-Routing

grid via

Function: The grid via command defines a via placement grid.

Description: When you use the grid via command, a uniform X, Y via grid is set to the current measurement units. Grid must be a positive number. Subsequent autorouting locates any new or rerouted vias on the specified grid. Vias not involved in rip-up and reroute operations remain unchanged even if you do not use the protect all vias command.

If you include a < via_id > ie. microvia, the grid applies only to subsequent use of that via.

The name < via_id > must be capitalized.

The grid via command overrides the via grid computed by the grid smart command.

You can use the grid smart command instead of grid wire. The grid smart command defines the minimum wire grid. The purpose of grid smart is to route initial passes with a larger via grid to avoid via barriers and distribute vias. The grid smart command allows two wire to route between vias for a few routing passes, and then changes to one wire between vias for better convergence.

Command examples: grid via 8.333 grid via 25 MICROVIA grid via 5,2.5

Examples:

(place all vias on a 8.333 grid)

(place all microvias on a 25 grid)

(use via grid of 5 in the x axis and 2.5 in the y axis)

Trace

Width

25

15

12

10

8

6

5

5

Via

Grid

25

5

12.5

5

8.333

6.25

5

2.5

Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.8

Session 8 - CCT Specctra Auto-Routing

protect

Function: The protect command prevents the autorouter from ripping-up and rerouting existing wires and vias.

Description: This command prevents the autorouter from changing or rerouting wires and vias during subsequent route or delete commands. Use this command to protect preroutes that you want to preserve in you design file, or when you want to preserve fanout or bus routing. You can also use the command to preserve the routing after you read wires from an external file.

Note: When using the protect command on a partially routed net the auotrouter is allowed to complete the unrouted portion of the net.

See also the unprotect command which reverses protect .

Note: Protect and unprotect apply to routed wires only. See the fix and unfix commands to control routing of nets.

The protect command options are described in the following table.

Option Description all testpoints All vias and through-pin points created by the testpoint command. all vias all wires selected_wires layer_wires <layer_id>

All vias of all types.

All routed wiring.

Only the wiring that is currently selected.

All routed wires on <layer_id>. Multiple layer names can be included. class <class_id> All routed wiring of nets included in <class_id>, Multiple class names can be included. net <net_id> All routed wiring for the <net_id>. Multiple net names can be included.

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.9

Session 8 - CCT Specctra Auto-Routing attr Only those wires or visa with the named atribute. If multiple attributes are assigned to a wire or via, you can protect that object by using any one of the attributes. bus test fanout type soft

All wires routed with the bus command.

All vias added by the testpoint command.

All wires routed with the fanout command.

Wires and vias that the autorouter can push and shove when space is needed for other routing.

Command examples: protect all wires protect all wires (type soft) protect all wires (attr bus) protect all wires (attr fanout) protect net CLK GND VCC protect layer_wires s2 s3 protect all testpoints protect all vias (attr fanout)

8.10 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

fix

Function: The fix command prevents routing and rerouting of nets.

Description: This command ensures that selected or specified nets are not altered by any subsequent autorouter operations. Neither the wired nor unwired portions of a fixed net can be modified by the autorouter until an unfix command is used to change the net'’ status. Wires of fixed nets are treated as keepouts and cannot be involved in conflicts.

Note: When using the fix command on a partially routed net the auotrouter is not allowed to complete the unrouted portion of the net. The fix command will remove the net or class from the routing pass. On large designs, for example when GND & VCC are manually routed using the fix command (ie. fix net GND VCC) will skip those nets and substantially speed up the process.

All net names must be capitalized.

The fix command options are described in the following table.

Option selected

Description

Only the nets that are selected are fixed. The entire net is fixed, including any partially routed connections. net <net_id> class <class_id>

Command examples: fix net CLK GND VCC fix selected fix class clocks

All terminals and routed wiring for the specified nets.

All nets in the specified classes.

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.11

Session 8 - CCT Specctra Auto-Routing

define

Function: The define command creates classes, groups, group sets, differential pairs, and regions. This command can also be used to define net ordering, class-to-class relationships, and layer noise weight factors.

Description: The define command allows you to use rule and circuit descriptors to assign rules to nets, classes, groups, group sets and fromtos. With the fast-circuit (FST) option, you can assign class-to-class and region rules, differential net pairs, and you can create a table of layer noise weight factors to represent you PCB’s layer-to-layer noise coupling characteristics. Refer to the PADS Spectra Route Engine Users Guide - Design Language

Reference section for additional information on layer_noise_weight.

You can use the fromto descriptor to define net ordering, assign layer rules, and apply rule and circuit commands. See the <fromto_descriptor> for more detailed information.

The define command descriptors are explained in alphabetical order in the following section. Snytax diagrams are included.

Command examples: define (class clk2 SIG2 SIG3 SIG4) define (class clk3 SIG 5 SIG 6 (circuit (use_MICROVIA))) define (class clk4 SIG4 SIG7 SIG8 (rule (width 10) (clearance 7))) define (net SIG1 (order U1-1 U2-2 U4-4)) define (net SIG20 (fromto U10-2 U6-4) (fromto U6-4 U20-3

(rule (width 0.030))) (fromto U20-3 U20-4 (circuit (use_layer 1)))) define (group g5

(fromto U1-20 U2-33)

(fromto U3-12 U4-16)

(fromto U5-1 U6-4)

(circuit (use_via v12))) define (class_class C2 C3 (rule (parallel_segment (gap 0.005)

(limit 0.050)))) define (pair (nets SIG16 SIG17 (gap 0.005))) define (region region1 (rect s1 0.975 1 1.75 .6) (rule (width 0.015)))

8.12 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing define (layer_noise_weight (layer_pair s1 1.00)

(layer_pair s1 s2 0.920)

(layer_pair s2 s2 0.900)

(layer_pair s5 s5 0.880)

(layer_pair s5 s6 0.900)) define (net SIG1 (orderU1-1 U2-2) (comp_order U2 U3)) define (group g5 (fromto U1-13 U3-10) (fromto U3-15 U4-7)) define (group g6 (fromto U1-9 U3-16) (fromto U3-14 U4-6)) define (group_set grpset1 g5 g6) (rule (limit_vias 5)) define (net SIG2 (expose U7)) define (pair (nets A?+A?-(gap 0.008))

FST options (fast-circuit):

PCB layer noise weight

Class-to-class rules

Region rules

Pair

ADV options (advanced rules):

Layer_rule

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.13

Session 8 - CCT Specctra Auto-Routing

select

Function: The select command marks nets, classes of nets, groups of fromtos, group sets, and components for subsequent autorouter operations. When select is applied to layer, the named layers are available for subsequent operations. When select is applied to vias, the named vias are made available for subsequent routing operations.

Description: When objects are selected, only those objects are processed during routing operations. This command is useful for routing only a subset of all connections.

See also the unselect command which reverses select .

Command examples: select net ABUS?? select class clocks select class clock1 clock2 select group g1 select component U18 U21 select layer 1 4 select via MICROVIA select group_set grpset1 select component U2 (type net) select layer_wires S1 S2

8.14 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

rule

Function: The rule command sets pcb, layer, class, group_set, net, group, class_class, padstack, and region routing rules.

Description: The rule command sets design rules from the Command Entry Area or in a do file. Rules entered by these methods override system rules specified in the design file or by previous rule commands.

Design rules can be set at different levels, which are described in the following table.

When conflicting rules apply to the same connection, the autorouter applies the rule with the highest precedence.

Command examples: rule pcb (limit_vias 3) (maximum of 3 vias per net) rule layer S1 (clearance 50 (type smd_to_turn_gap)) rule class critical (parallel_segment (gap 25) (limit 150)) rule group g1 (parallel_segment (gap 25) (limit 150)) rule selected (limit_way 5) rule pcb (via_at_smd on (grid on) (fit on)) unit mil rule class clock (max_noise 400) rule class clock (parallel_noise (gap 5) (threshold 50) (weight .04)) rule class clock (parallel_noise (gap 8) (threshold 50) (weight .02)) rule class clock (tandem_noise (gap 12) (threshold 50) (weight .01)) unit inch rule class clock (time_length_factor .51) circuit class clock (min_total_delay 1.2) circuit class clock (max_total_delay 1.5) rule region region 1 (width 10) rule group_set grpset1 (junction_type term_only) rule padstack V25 (clearance 20 (type via_via)) rule padstack V35 (clearance 25 (type via_via))

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.15

Session 8 - CCT Specctra Auto-Routing

Understanding the SPECCTRA Rule Hierarchy

You meet design requirements by setting rules. You can set global rules for the PCB or specific rules for objects or collections of objects. Rules you set in SPECCTRA override rules set in the design file.

SPECCTRA rules are hierarchical. When multiple rule apply to the same object,

SPECCTRA follows the rule with the highest priority, called its precedence level. PCB rules (globe rule for the entire PCB design) have the lowest precedence level in the hierarchy. Higher precedence rule always overrides lower precedence rule that apply to the same object.

8.16 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

limit

Function: The limit command sets absolute controls that apply to each connection for the number of intersecting wire, number of vias, number of bends, and the maximum distance of wrong-way routes.

Description: The limit command allows you to specify global routing controls that apply to all pin-to-pin connections.

The limit options are described in the following table.

Description Option cross The maximum number of crossing conflicts allowed when routing a connection. via The maximum number of vias that can be used to route a connection. bend The maximum number of bend points that can be used to route a connection. way The maximum wrong-way distance allowed for a connection.

The range of limit for <positive_integer> is 0 through 255. You can set limit values, perform some routing passes, and return to the default system values by executing a limit command with a value of –1. If you don’t supply limit values, computed default values are used by the autorouter.

Command examples: limit via 3 limit way 300 limit way –1

(limits each net to no more than 3 vias)

(limits routing in the wrong direction by 300)

(resets routing limit to default value)

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.17

Session 8 - CCT Specctra Auto-Routing

cost

Function: The cost command sets routing costs and overrides the autorouter’s internal cost table.

Note: The tax command is preferred over cost if you need to apply routing costs.

Description: The autorouter uses default costs if you don’t use this command.

The following table describes the types of costs you can set.

Option Description way The cost to route in the wrong direction. For example, the cost of horizontal wire segments routed on a vertical layer. cross via off_grid

The cost of a crossing conflict.

The cost to use a via.

The cost to route off grid. The autorouter routes off grid unless you use the command cost_grid forbidden . If you use gridless routing, this cost doesn’t apply. off_center side_exit

The cost to enter or exit on SMD pad off center.

The cost to exit SMD pads on the long side. This cost does not apply to through-pin connections. squeeze layer

The cost to create a wire-to-via clearance violation.

The cost to use a layer for routing, controlled by either length or way. When cost <layer_name> (type length) is used, you control the cost to use a layer for routing. When cost

<layer_name> (type way) is used, you control the cost of wrong-way routing by layer.

Cost can be specified by a keyword (<cost_descriptor>) or a numeric nalue. The cost descriptors and their corresponding numeric values are listed in the following table.

8.18 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

Cost Description Numeric Value forbidden high medium low free

100

50

25

8

0

If you don’t use the cost command, the autorouter automatically adjusts costs throughout the autorouting session. You can override the internally defined costs and set them to fixed values with this command, although this is not generally recommended.

When you set a cost to forbidden , the sutorouter is not prohibited from overriding that cost except for vias. If you execute cost via forbidden , the autorouter is prohibited from using vias. A more efficient way of prohibiting vias is to unselect all vias .

The command cost off_grid forbidden is ignored when the center of an SMD pad is offgrid. The autorouter must go off-grid to route an off-grid pad.

When you execute a cost command, the cost value you specify remains constant until you change it or pass control back to the autorouter by resetting the value to –1.

If you want to return a cost parameter to its default (system-assigned) value, execute the cost command with a value of –1. For example:

Cost way-1

The tax command is preferred over the cost command.

Command examples: cost way forbidden cost via low cost layer 1 forbidden cost layer 2 high (type way)

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.19

Session 8 - CCT Specctra Auto-Routing

tax

Function: The tax command applies a factor to adjust the autorouters costs.

Description: Cost perimeters can be specified by using the cost command. When you specify a cost, it remains fixed and in effect until you change it. An alternative method of controlling costs is to apply a multiplier to the autorouter internal cost parameters by using the tax command. This is the recommended way to impact autorouting costing.

For example, tax way .9 multiplies the autorouters internal wrong way cost by 0.9. The autorouter uses this altered value until the internal parameter changes. The tax is then reapplied to alter the new internal value.

The default value for tax is 1. You can reset to this value at any time. The higher the tax number the higher the cost. For example the higher the cost via, the less vias will be used.

Command examples: tax way 1.1 tax via .8 tax layer 1 1.1

8.20 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

smart_route

Function: The smart_route command automatically routes your design and executes

SPECCTRA commands according to how your design is converging.

Description: The smart_route command evaluates your design and runs SPECCTRA autorouting commands to produce the best possible autorouting completion rate. The smart_route command adjusts the autorouting based on the conflict reduction rate, the routing completion rate, the failure rate, and the number of layers.

You can start the smart_route command at any stage of routing completion.

This command automatically enables the bestsave function and uses the default and filename. To specify a different path and filename, use the bestsave command. For general information about specifying filenames, see Chapter 1.

The smart_route options are described in the following table:

Option Description min_via_grid Sets the minimum via grid. The default is the via grid in the design file. min_wire_grid Sets the minimum wire grid. The default is the wire grid set in the design file. auto_fanout If on , the autorouter routes short escape wires from SMD pads to vias if there are more than two signal layers or if the top or bottom layer is not selected for routing. The default is on. auto_fanout_via_share If on , this option allows the autorouter during the fanout operation to share vias between SMD pads on the same net. This option only appears if auto_fanout is on. The default is on. auto_fanout_pin_share If on this option controls whether the autorouter during the fanout operation can escape to through-pins. The autorouter will escape to a through-pin if the cost is lower than the cost to use a via. This option only applies if auto_fanout is on (default). auto_miter When auto_miter is on , the autorouter changes corners from

930 to 135 degrees. This operation is activated after all route,

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.21

Session 8 - CCT Specctra Auto-Routing testpoint, and clean passes are completed. No mitering is done if the routing does not converge. The default for auto_miter is off . auto_testpoint When auto_tetspoint is on , the autorouter generates test points.

This operation is activated when the router reaches 100 percent completion or at the end of the forced convergence loop. The forced convergence loop occurs when smart_route adjusts internal costs and attempts to force convergence by routing small blocks of routing passes. The default for auto_testpoint is off . side Identifies the probing layer as front, back, or both . The probing layer is the layer on which testable vias are exposed (not covered by a component body). The default is back (bottom layer).

The side option identifies the front or back layer for separate test point rules. grid Specifies the grid for placement of test vias, which is a via grid that should match your bed-of-nails tester. The default is the current via grid.

Command examples: smart_route smart_route (min_via_grid 1) (min_wire_grid 1) smart_route (auto_fanout off) smart_route (auto_miter on) smart_route (auto_testpoint on (side back) (grid 25)) smart_route defaults best save bus diagonal fanout 5 route 25 route 50 16 clean 4

Note: Smart route will continue routing until it achieves 100% solution or it will continue route passes until it sees no completion progress.

8.22 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

bus

Function: The bus command uses a special algorithm to route component pins that share the same X or Y coordinates.

Description: The bus command directs the autorouter to route regular arrays of pins such as those that interconnect memory devices. The autorouter determines which nets are candidates for bus routing and then routes these connections. Clearance rules must permit sufficient space to allow bus routing without conflicts.

If you use the bus command without the diagonal option, buses are routed orthogonally.

Bus-diagonal routing is preferred because it provides the highest routing density.

Command examples: bus bus diagonal

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.23

Session 8 - CCT Specctra Auto-Routing

fanout

Function: The fanout command routes short escape wires and vias from SMD pads and through-pins.

Description: Escape vias are chosen by the autorouter from the available via set are placed according to the current PCB via grid. You can select the components you want to escape and designate which pins, and control whether the escape direction is inside or outside the components.

If you use the fanout command without options, it is equivalent to

Fanout 1 (direction in_out) (pin_share off) (via_share off) ( pin_type active)

When no components or nets are selected, all active SMD component pins are escaped.

For example the fanout command escapes all SMD pins that are activated (have signal or power nets assigned to them). The fanout direction can be both inside and outside of each component’s footprint.

Option

< passes >

Description

A positive integer that, when used, must immediately follow the fanout keyword to specify the number of rip-up and reroute fanout passes. Conflicts are allowed in the escape wire until the last fanout pass. Five fanout passes are suggested. The default pass value is 1 if not specified. direction Directs the autorouter to escape wires and vias inside the component footrpint ( in ), outside the footprint ( out ) or both

( in_out ). The default in_out option routes wires and vias in both directions.

The direction you specify also affects how through-pins are escaped when assigned the expose property. When the in_out option is set for fanout (default), exposed pins escape outside the component outline. See the assign_pin command. pin_share Allows you to control whether the autorouter can escape to through-pins. The default condition is pin_share off , which forces the autorouter to use only vias for escapes. When

Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.24

Session 8 - CCT Specctra Auto-Routing via-share pin_share is on , the autorouter escapes to a through-pin if the cost is lower than the cost to use a via and the through-pin is within the max_len distance.

Allows the autorouter during the fanout operation to share vias between SMD pads on the same net. The default condition, via_share off , forces the autorouter to use unique vias for every surface mount pad. share_len via_grid

Sets the maximum distance that a via or pin can be from a through-pin or via pin_share or a via_share is on. Vias and pins farther away from these pins will not share a fanout via.

If you use the default (-1), pin sharing can occur with any pin or via within the default distance of 200 mils. smart_via_grid

Sets a temporary via grid, which is used only during the fanout command. If no fanout via grid is specified, the default is the

PCB via grid. This temporary via grid should be a multiple of the PCB via grid.

Allows the autorouter to automatically calculate initial via grids that permit one wire or two wires between adjacent vias. If one_wire_between is selected, the temporary via grid allows one wire to be routed between adjacent vias. If two_wire_ between is selected, the temporary via grid allows two wires to be routed between adjacent vias. After fanout is completed, the via grid is re set to original PCB via grid. depth

If the via_grid is also used, that value is the minimum via grid that is used when computing the smart grid value.

Controls the number of layers a blind or buried via uses during fanout and the direction of the routing. You can set depth to the following options:

Oposite sets fanout to the opposite side of the design.

Pads on the front side fanout toward the back side and pads on the back side fanout toward the front side.

Embedded pins, which are pins only on internal layers, fanout to the opposite side from the side to which they are closest.

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.25

Session 8 - CCT Specctra Auto-Routing

Up sets fanout toward the front side.

Down sets fanout toward the back side.

A value of 0 sets no depth limitation. max_len Restricts the routed length of the escape wires. The length is measured from a pad’s origin to the center of the via. pin_type Specifies which types of pins are escaped.

The pin type options are described in the following table.

Description Pin Type Option active All signal pins that interconnect with one or more other pins, and all power pins. (all net listed pins) signal All pins that have signal nets assigned and interconnect with one or more other pins. power unused

All pins that have power nets assigned.

All pins, including SMD pads and through-pins, that have no net assigned. Unused pins are collected into a single net called

“UNUSED_PINS”. exclude_through_pin Excludes unused through-pins from pin escape. all All pins on the component including active and unused. single All single pin signal nets.

You can use separate fanout commands to escape different pin types differently, and you can specify the pin type more than once in a single fanout command to handle special situations. For example: fanout (direction in) (pin_type power) fanout (direction out) (pin_type signal) (pin_type unused)

The result of these two commands is that power is routed inside component footprints and signal and unused pins are routed outside component footprints.

8.26 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

The max_len rule restricts the routed length of the escape wires. The max_len rule restricts the routed length of the escape wires. The max_len is measured from a pad’s origin to the center of the via. Make sure that the max_len you specify allows sufficient space so that the wire and via can obey the sma_via_net clearance rule.

Rules set by using the rue command also affect fanout and are described in the following table.

Description Rule smd_to_turn_gap Sets the minimum distance to the first bend point in a wire from an SMD pad. smd_via_same_net Sets the minimum distance from an SMD pad to the first via in the wire.

Before you use fanout , consider the following:

The fanout operation can assist the autorouter on PCBs with four or more signal layers, but is usually not used with two-layer PCBs.

You can specify a via grid that is used during fanout , and rest to the original PCB via grid after fanout is completed.

You can specify a smart via grid that allows one wire between vias or two wires between vias. This grid is used during fanout , and reset to the original PCB via grid after fanout is completed.

Rather than protect fanout escape patterns to ensure that all SMD pins have a via for testing, assign test points to signal nets with the testpoint command after routing is complete. The autorouter tries to move existing vias onto the test grid, if you define one, before creating new test point via sites.

Use the bus diagonal command before fanout. The bus command executes quickly, and its results can be reviewed before executing further commands.

If you don’t want to fanout all pins of a component, select the components, switch to select wire mode, and click on the pins you want to execute (unselect) for fanout.

Only selected pins are escaped when you execute fanout .

If you enter fanout (pin_type all) , all pins are escaped, including pins without nets attached.

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.27

Session 8 - CCT Specctra Auto-Routing

Single-pin nets are not escaped unless fanout (pin_type all) or fanout (pin_type single) is used.

Command examples: fanout fanout 5 [5 fanout passes] select component U25 fanout (pin_type all) fanout (depth opposite 2) (share_len 500) fanout 5 (pin_type signal) (via_share on)

[for fanout only U25]

[fanout all pins on U25]

[depth for blind & buried vias] fanout (smart_via_grid two_wire_between) [allow 2 wires between vias] grid via 25 MICROVIA fanout (via_grid 25)

[sets via to microvia & grid 25]

[fanout using a grid of 25] fanout (pin_type unused (exclude_through_pins))

8.28 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

report no_ fanout

Function: The report no_function command lists all pins without escape wires and vias after the last fanout command is executed to the report window or to a file.

Description: You can use this report to determine wheter pins failed the fanout operation.

You can further determine wheter pins are blocked or cannot escape due to rule settings.

The no_fanout report lists the net name, X, Y location, and padstack id for each component pin that lacks a fanout wire and via. Only pins that match the last used pin type option for fanout appear in the report. The default type is active .

The information contained in the no_fanout report is described in the following table.

Field

PIN REFERENCE

Description

A reference designator, pin number combination.

NET NAME

X

Y

The net id used in the design.

The X coordinate location of the pin.

PADSTACK

Command example:

The Y coordinate location of the pin.

The padstack id for the pin. report no_fanout c:\padspwr\files\jobname-nofan.rpt

Report commands: report class

class.rpt report component

comp.rpt report conflict

conflict.rpt report corners

corners.rpt report crosstalk

xtalk.rpt report design

design.rpt report file

file.rpt

= c:\padspwr\files\________ report group

group.rpt report keepouts

keepouts.rpt report length

length.rpt report net

net.rpt report pairs report rules report status

pairs.rpt report regions

regions.rpt

rules.rpt

status.rpt report network

network.rpt report testpoint

tstpt.rpt report no_fanout

nofanout.rpt report unconnect

unconn.rpt report padstack

padstack.rpt report vias

vias.rpt

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.29

Session 8 - CCT Specctra Auto-Routing

route

Function: The route command initiates basic autorouting passes.

Description: If you enter the route command without a pass number, the autorouter executes a single pass through all connections. You can include the number of passes options, a start pass, and an option to remove wires that can’t be rerouted after ripup. The following table describes the three options of the route command.

Option Description

< passes > Specifies the number of wiring passes you want the autorouter to execute. Twenty-five passes is usually the suggested minimum.

<start_pass> Allows you to start the autorouter where it left off in a previous session. If you don’t supply < start_pass >, the autorouter calculates a starting pass number based on the completion level of the routing. This influences the routing cost algorithm. The

< start_pass > can be used anytime a route command is issued.

Do not use this option unless you are an experienced

SPECCTRA user.

-remove

When the autorouter tries to reroute a wire and can’t find a new path, it restores the wire to its original position. If you specify remove, the autorouter does not restore the wire, but instead creates an unroute. This option is used only when the number of fails is greater than 100 and there are hundreds or thousands of conflicts over 10 or more route passes. The –remove option is executed automatically if the autorouter detects a poor completion rate and high failure rate over five passes.

If you haven’t selected any connections, the autorouter attempts all connections defined in the network except those that are fixed or protected. The wires that actually get routed or rerouted are directly involved in conflicts, are close to wires involved in conflicts, or are connections that are not yet routed.

If you select any connections, the autorouter attempts only those you’ve selected.

The rule violations continue to appear, SPECCTRA executes route passes up to the number you specify. Once wiring is 100% complete with no crossing or clearance violations, autorouting stops. If there are crosstalk or maximum and minimum length

Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.30

Session 8 - CCT Specctra Auto-Routing violations, and you have a fast-circuit license, autorouting continues until these violations resolve.

You can enter the route command at any time except in pause mode. For example, you can execute the route command to:

Start the initial routing of a PCB.

Run the additional passes while maintaining a sequential pass-count for the session.

In the early stages of a design you might want to route a few passes at a time to closely monitor routing progress, change parameters, and route more passes.

Restart SPECCTRA, reload the saved wires, and execute additional route passes.

Choose the Menu Commands from the Help menu for information about using the route command.

See also the smart_route command.

Command examples: route 25 route 50 16 route 5 –remove

[route 25 passes]

[route 50 passes when solved resets algorithm to pass 16]

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.31

Session 8 - CCT Specctra Auto-Routing

clean

Function: The clean command initiates rip-up and reroute passes that improve manufacturability by removing vias and bend points and by changing SMD entries and exits.

Description: Clean passes improve PCB manufacturability. The clean command rips-up and reroutes all connections with high costs for parameters that include via use, off-center

SMD pad entry, and SMD pad side-exit. The use of clean results in better quality routes.

Four clean passes are suggested after completing all routing passes. If you use the command without a pass value, the autorouter performs one clean pass.

Caution: The clean command will rip up unprotected power and ground vias and reroute the connection to the nearest thru-hole pin in that net. This will create an unacceptable connection length for that net.

Command examples: clean clean 4

8.32 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

testpoint

(DFM Option)

Function: The testpoint command assigns test points to signal nets. Test points can be pins or vias.

Description: The testpoint command improves PCB tetsability by adding test points to routed signal nets. Both vias and through-pins can be test points. Test vias can be platedthrough type or single surface pads. Vias are restricted to locations outside the component bodies, by using the perimeter of each component image as a boundary. If your design file contains actual component outlines, these are used as the boundary.

When an exposed via (not covered by a component body), is not available, the testpoint function pushes the existing via onto an available test point grid site. If this fails, the system adds an additional test point via.

You assign test points by using the testpoint command after all routing is completed, but before you use clean, spread, and miter commands. When used at this stage, the operation takes advantage of existing vias.

A common method for achieving improved testability is to escape all SMD pins and then protect the SMD-to-via connections in order to protect to guarantee that all SMD pins have a via for testing. This method is thought to be useful for autorouting multilayer designs, but in fact, is very wasteful when compared to the autorouter’s test point method. The test point method is better because:

Many extra vias are required for those connections that can otherwise be completed without a via by wiring directly on the SMD layer.

When vias are protected, the ability to rip-up, reroute, and eliminate them is lost.

The ability to route on the SMD layers is constrained by all the protected connections.

On a five-pin net, five vias are generated and protected, but only one via is required per net for a test point. This wastes via sites.

The testpoint feature is disabled for balanced pairs. If you execute testpoint and then execute report testpoint , the report indicates the missing test points for balanced pairs.

Note: When you use the testpoint command, it sets the test point environment. The environment consists of the probing layer (front, back, or both), test grid, test shapes (test

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.33

Session 8 - CCT Specctra Auto-Routing via padstacks), test point center-to-center clearance, test point clearance to image-outline, and pin_allow rule. The test point environment is established by the last testpoint command. Any environment settings established by a previous testpoint command are overridden by the next command.

The testpoint command options ate described in the following table:

Description Option side Identifies the probing layer as front, back , or both . The probing layer is the layer on which testable vias are exposed (not covered by a component body). The default is back (bottom layer).

The side option identifies the front or back layer for separate test point rules. grid < positive_dimension > Specifies the grid for placement of test vias, which is a via grid that should match your bed-of-nails tester. The default is the current via grid. use_via < via_id> Specifies one of more via padstacks. If you don’t use this option, the autorouter chooses a via. Single-layer padstacks can be used as test vias. center_center Controls the minimum center-tocenter distance between test points. This applies to both vias and through-pins when the pin_allow rule is on. image_outline_clearance Controls on how far test points are placed from components. This is the minimum required distance between the edge of the test point. The default minimum distance is the area_via clearance rule for the given net.

Only one image_outline_clearance value can be specified. pin_allow comp< component_id >

Controls whether through-pins can be used as a test points.

Identifies a list of components with through-pins that can be used as test points. If a component list is not included, all through-pins that meet the grid and center-tocenter requirements are used.

8.34 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

Command examples: testpoint testpoint (side both) testpoint (grid 100) (use_via TESTVIA) (pin _allow on) testpoint (center_center 100) testpoint (image_outline_clearance 50)

If you want to set different test point rules for the front and back of the PCB, you can use separate testpoint commands. For example testpoint (side front) (use_via TESTPADTOP) testpoint (side back) (use_via TESTPADBOT)

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.35

Session 8 - CCT Specctra Auto-Routing

critic

Function: The critic command helps improve manufacturability without performing a ripup and reroute operation.

Description: The critic command inspects the routing to eliminate notches and removes extra bends. The critic command is similar to the clean command but different in one important respect. Where clean completely reroutes each wire and can drastically change a connection’s wiring, the critic command attempts to make local adjustments to the existing wires without rip-up and rerouting. The critic operation executes much faster than clean .

See also clean .

The following figure shows notch and bendpoint removal and stairstep removal.

Command example: critic

Before critic

Before critic

After critic

After critic

8.36 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

spread

(DFM Option)

Function: The spread command attempts to add space between wires, and between wires and pins.

Description: The spread command adds extra wire-to-object clearances to improve manufacturability of a printed circuit board. This command repositions wires to create extra clearance between wires and pins, wires and SMD pads, and adjacent wire segments.

The spread command does not move or remove vias. If type is not specified, extra clearances are attempted for all types. The critic command can remove U-type that can be created when spread adds extra clearance wires and pins. To retain the extra space (and not remove the notch) use the keep_notch option.

The spread command does not introduce new conflicts. The spread options are explained in the following table.

Description Option extra A keyword must be followed by a < begin_extra > value.

Optionally, you can also include a second < final_extra > value that causes spread to function in a progressive mode.

<begin_extra> A positive dimension value that specifies the initial extra clearance that is added to the named type. If < final_extra > is not supplied, < begin_extra > is the only value tried.

<final_extra> A positive dimension that specifies the last extra clearnace value attempted for the named type.

Specifies the clearance type. type wire_pin wire_smd wire_wire keep_notch

Is the extra clearance added between wires and through-pins.

Is the extra clearance added between wires and SDM pads.

Is the extra clearance added between adjacent wires.

Specifies the minimum, U-type notch allowed when critic is used. The default dimension is the wire-to-wire clearance. See also the critic command.

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.37

Session 8 - CCT Specctra Auto-Routing

If you enter both extra values, and < begin_extra > is smaller thank < final_extra >, the two values are automatically swapped. When you use the spread command without options it is equivalent to entering the command:

Spread (extra< begin_extra >)

Where < begin_extra >) defaults to one-half of the current clearance rule values for pin , wire_smd , and wire_wire .

When you specify both <begin_extra> and <final_extra>, multiple passes are invoked that use progressively smaller values to create extra wire-to-object clearances. In this progressively mode of operation, < begin_extra > is the first extra clearance value attempted.

After the first pass, the < begin_extra > value is divided by two, and that value is attempted for the next pass. This process continues until the divide-by-two operation results in a value equal to or less than < final_extra >, or until five passes elapse. If the divide-by-two operation results in a value less than < final_extra >, the final pass is invoked and the

< final_extra > clearance value attempted. If after four passes the divide-by-two result is greater than < final_extra >, that divide-by-two value is used for a fifth and final pass.

When you use the progressive mode with a wire grid, the grid should be smaller than the amount of additional clearance you want to add. During the progressive mode, if a divideby-two operation results in a value that is smaller than the defined wiring grid the function terminates.

When just one or two clearance types are specified, spread is applied only to the specified types. The unspecified type is excluded. Extra clearance values apply only during the spread operation. When the command finishes, clearance rules revert to their default or previously specified values.

Use spread after completion of all route and clean passes before you use the miter or recorner commands.

Command examples: spread spread (extra 3 (type wire_wire wire_pin)) spread (extra .1) spread (extra 40 5) spread (extra 5 (type wire_wire)) (extra 6 (type wire_smd))

(extra 8 2 (type wire_pin)) spread (keep_notch 12)

8.38 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

report unconnect

Function: The report unconnect command writes information to the report window or to a file on connections that are not wired in the design.

Description: This report lists all unconnected fromto by net name. It includes the reference designator, pin number, and coordinate location for each pin in the fromto.

Command example:

Report unconnect c:\padspwr\files\unconn.rpt.

Report commands: report class

class.rpt report component

comp.rpt report conflict

conflict.rpt report corners

corners.rpt report crosstalk

xtalk.rpt report design

design.rpt report file

file.rpt

= c:\padspwr\files\________ report group

group.rpt report keepouts

keepouts.rpt report length

length.rpt report net

net.rpt report pairs

pairs.rpt report regions

regions.rpt report rules

rules.rpt report status

status.rpt report network

network.rpt report testpoint

tstpt.rpt report no_fanout

nofanout.rpt report unconnect

unconn.rpt report padstack

padstack.rpt report vias

vias.rpt

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.39

Session 8 - CCT Specctra Auto-Routing

write

Function: The write command creates text files that are used to store autorouting results and data.

Description: The specified data is written to the optional <filename>. If no <filename> is indicated, the default filename is one of the following:

The contents of the file names are listed in the following table:

Option Description wire routes

Contains all routed and vias.

Contains all routed wires and vias, plus additional information for translating the route data back to the host layout system. include The include testpoints option adds the < test_points_descriptor > section at the end of the wire or routes file. See the Design

Language Reference for information about the

< test_points_desriptor >.

The include guides option adds guide information to the wire or routes file so that the host system can determine the topology used in SPECCTRA for unrouted connections. selected_only Specifies that only selected wires and vias are written to the wire or routes file. network padstacks conflicts corner

Contains the network supplied in the design file.

Contains the images supplied in the deisgn file.

Contains a list of crossover (cross) and clearance (near) conflicts.

Contains a list of all corners and arcs in the routing. Corners listed are 90 and 135 degrees specifically, and all other angles.

Arcs are also listed when the fast-circuit router is used to create round corners.

8.40 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing session Contains the design filename and a history of previous session files. The session file contains routing and placement data. For information on placement, see the write session command in

Chapter 5. comment Allows you to include a comment in the session file. The

< comment_string > Is added at the end of the history section of the session file. colormap Contains data that defines the display colors and patterns for design objects and graphical features in the work area. If you do not provide a color map file. SPECCTRA uses the color and patterns defined in the design file, or uses internal defaults.

There are two ways to activate the guide output in the routes files:

The translator can force the guides to be inserted by inserting

(routes_include guides) in the < parser_descriptor >

The user can force the guides to be included by specifying write routes (include guides) in the do file or on the SPECCTRA command line (use this only if your translator can parse the guide information in the route files).

The session file provides an easy means for managing the files and data generated during automatic placement and autorouting sessions. The session file can include component placement data; floor plan data; a list of gate, subgate, and pin swaps; and routing data.

The swap list is created only if gate, subgate, pin, or terminator swapping is used. This list is needed to update your netlist with new pin assignments.

The session file begins with a header that identifies the session directory path and filename. The file also identifies the path and filename for the base design file and include trail of any previous session files. This session trail provides history of all SPECCTRA session for this specific session file. If you don’t supply a path and filename when you issue the write session command, design.ses is the default file that is written to your design directory.

Command examples: write wire c:\padspwr\files\filename.wir write routes c:\padspwr\files\ filename.rte write conflict c:\padspwr\files\conflict.rpt

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.41

Session 8 - CCT Specctra Auto-Routing

unprotect

Function: The unprotect command reverses protect.

Description: The unprotect command options are described in the following table.

Option all testpoints

Description all vias all wires net < net_id >

All vias of all types

All routed wiring. selected_wires Only the wiring that is currently selected. layer_wires < layer_id > All routed wires on < layer_id >. Multiple layer names can be included. class < class_id > All routed wiring of nets included in < names can be included. class_id >. Multiple class

All routed wiring for the < included. net_id >. Multiple net names can be attr

All vias and through-pin test points added by the testpoint command.

Only those wires with the names attribute. If multiple attributes are assigned to a wire, you can protect that wire by using any one of the attributes. bus test fanout

All wires routed with the

All vias added by the testpoint

All wires routed with the bus command.

command. fanout command.

When attr fanout is used with the all vias option, only the vias created without the fanout command are unprotected. type soft Wires and vias that the autorouter can push and shove when space is needed for other routing.

Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.42

Session 8 - CCT Specctra Auto-Routing

Note: Protect and unprotect functions apply to routed wires only. See the fix and unfix commands to control routing of nets and fromtos.

Command examples: unprotect all wires unprotect all wires (attr bus) unprotect all vias unprotect net SIGNAL1 unprotect class clocks (attr fanout) unprotect selected_wires unprotect layer_wires 2 3 unprotect all testpoints

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.43

Session 8 - CCT Specctra Auto-Routing

recorner

Function: The recorner command charges 90 degree wire corners to 135 degrees. See the miter command for improved function.

Description: The recorner command changes corners from 90 to 135 degrees to improve manufacturability. The round option, which replaces square corners with arcs, is available only with a fast-circuit license. The pin, slant , and bend options control which corner locations are changed. If < setback > is not supplied, default < setback > values are used. The < setback > value must be a positive dimension. Each corner is checked before chamfering to avoid creating new conflicts.

The recorner diagonal command performs pin, slant, and bend operations simultaneously. If you enter the recorner diagonal command without setback values, the autorouter uses default setback values.

If you must apply engineering changes or reroute the design, use the unmiter command to remove the 135 degree corners. The autorouter is more efficient when it is routing orthogonal wires.

For illustrations of the following recorner options, see the miter command. An explanation of each recorner option is listed in the following table.

Option Description round pin

Replaces 90 degree corners with arcs.

Changes wire corners at pin and via exits to 135 degrees if the corner occurs at or above the setback distance. Rectangular pads are executed from this operation. slant bend diagonal

Replaces two 90 degree corners with two 135 degree corners.

Changes a 90 degree corner to a 135 degree corner.

Performs all pin, slant, and bend operations. The three setback values are for pin, slant, and bend respectively.

Command examples: recorner diagonal recorner bend 250 recorner diagonal 500 500 500

Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.44

Session 8 - CCT Specctra Auto-Routing

miter

(DFM Option)

Function: The miter command changes 90 degree wire corners to 135 degrees.

See also the unmiter command, which removes the 135 degree corners created by miter .

Description: The miter command cuts or rounds wire corners. This command is similar to the recorner command but with the enhanced functionality. When the style option is diagonal , corners with 90 degree bends are changed to 135 degrees. When the miter command is used without options, the operation applies to all miter types and defaults to style diagonal. For example, the miter command is the same as the following: miter (pin) (slant) (bend) (tjunction) (style diagonal)

Note: You must have the FST option to use miter (style round)

When a setback parameter is not supplied with a miter type, < setback > uses default values.

The default pin and slant < setback > value is 1 inch.

The default bend < start_setback > value is .5 inch. The default < fault_setback > value is the minimum wire width.

During the miter operation, the autorouter examines all 90 degree corners and attempts to replace them with 135 degree corners, or with an arc, by using either the specified or default setback values. If at least one miter attempt with a given setback value is successful during a pass, the autorouter iterates with that setback value and retires all remaining 90 degree corners.

If you must apply engineering changes or route the design again, use the unmiter command to remove the 125 degree corners. The autorouter is more efficient when rerouting orthogonal wires.

The miter types are defined as follows: pin < setback > specifies a cut or an arc in a pin (includes SMD) if the pin-to-turn distance is equal to or greater than < setback >. The pin setback distance is measured from the center of the pin to the turn.

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.45

Session 8 - CCT Specctra Auto-Routing slant < setback > replaces a wrong-way segment with a 135 degree segment, or with an arc, when the wrong-way length is equal to or greater than < setback > bend < start_setback > < final_setback > specifies a cut or an arc at a bend. The

< start_setback > parameter specifies the initial setback distance that is attempted.

When all attempts fail during this initial iteration, the value of < start_setback > is divided by two and the new value is attempted in all remaining 90 degree bends.

This process continues. After all attempts fail, the previous setback value is divided by two, and that new value is used. When the divide-by-two operation results in a value less than < final_setback >, the < final_setback > Value is applied until all miter attempts fail and the miter bend operation terminates. When only < start_setback > is supplied, < final_setback > defaults to the minimum wire width. tjunction < setback > specifies changes to 135 degrees at wire tjunctions, where

< setback > is the distance from the tjunction to the start of the cut. The default for miter tjunction < setback > is 0.5 inch. layer < layer_name > applies the miter operation to only the specified layers. If you enter multiple layer names, separate them with a blank space.

The miter styles are: diagonal , which changes 90 degree corners to 135 degrees.

FST round , which replaces 90 degree corners with an arc geometry that is fitted to the corners. When the style option is round, the pin setback value is used for all corners. If pin < setback > is not specified, the miter round setback defaults to 1 unit_line, where: unit_line=wire width + wire_wire clearance

The unit_line value is computed by layer.

Command examples: miter miter (pin 50) (slant 100) (bend 1000 50) (style diagonal)

8.46 Rev. 2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053

Session 8 - CCT Specctra Auto-Routing

quit

Function: The quit command exits the autorouter.

Description: The quit command terminates autorouter operation. Save any wiring data before you use this command.

The quit command can be entered from the Command entry area or from a do file.

In either case, the autorouter terminates operation without prompting from confirmation.

You can also quit by clicking Quit on the File menu. When you initiate quit by this method, SPECCTRA prompts you to confirm your action.

If you use the –quit switch when you start the autorouter, autorouter operation immediately terminates after the last command executes in the start-up do file.

Command example: quit

Rev.2412 ©2002 ACUCAD ~ 1011 Glacier Pkwy, Algonquin, IL 60102-5004 Voice (847) 854-6052 FAX (847) 854-6053 8.47

Download