华佗养生网
您的当前位置:首页User Guide

User Guide

来源:华佗养生网


ELECTRA

User Guide Version 1.2, March 2004

Copyright Notice

Copyright © 2003-2004 by KONEKT, SPRL. All rights reserved. No part of this work may be reproduced without receiving the prior permission of the copyright owner.

All brand or product names mentioned in this guide are trademarks or registered trademarks of their respective owners.

In particular:

SPECCTRA® is a registered trademark of Cadence, Inc. Windows is a trademark of Microsoft Corp.

Disclaimer

KONEKT SPRL AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

2

ELECTRA v1

1 Overview of ELECTRA Routing Technology.......................................5 2 Main Features..........................................................................7 3 CAD Flow Integration..................................................................8 4 Using ELECTRA.......................................................................9 4.1 4.2 4.3 4.4 4.5 4.6 4.7

Pushbutton Autorouting.........................................................9 Basic Routing Strategy........................................................10 Analyzing Routing Results....................................................11 Improving routability...........................................................13 Restarting the autorouter.....................................................13 Advanced Rules Hierarchy...................................................14 Mouse driven Viewing Navigation...........................................17

5 Quick Command Reference........................................................19 5.1 5.2 5.3 5.4

Notations.......................................................................19 Descriptors.....................................................................19 Types:...........................................................................20 Command Reference.........................................................21

autoroute.....................................................................................................................21 bestsave......................................................................................................................21 bus................................................................................................................................21 check............................................................................................................................22 circuit............................................................................................................................22 clean.............................................................................................................................23 cost...............................................................................................................................24 delete all wires............................................................................................................25 direction.......................................................................................................................26 fanout...........................................................................................................................26 filter...............................................................................................................................27

3

grid...............................................................................................................................27 limit...............................................................................................................................28 protect..........................................................................................................................29 quit................................................................................................................................29 read..............................................................................................................................29 recorner.......................................................................................................................30 route.............................................................................................................................30 rule...............................................................................................................................31 select............................................................................................................................32 status_file....................................................................................................................32 tax.................................................................................................................................32 unprotect.....................................................................................................................34 unselect.......................................................................................................................34 write..............................................................................................................................34 6 Appendix..............................................................................35

4

ELECTRA v1

1 Overview of ELECTRA Routing Technology

ELECTRA™ is a new generation of Shape-Based Autorouting software for PC boards. By contrast to traditional gridded maze autorouters, a shape-based approach allows for more efficient use of routing area and is more suited to handle complex design rules requirements of high density PCB designs.

In addition to its shape-based architecture, ELECTRA routes with conflicts and uses a multi-pass cost-based conflict

reduction algorithm to find a routing solution adapting to the natural flow of the nets. Crossing Clearance Figure 1

On the initial passes the router uses a relatively low cost for accepting a routing path solution with crossing and clearance conflicts (figure 1). Costings are then slowly increasing on subsequent passes, as illustrated on figure 2.

5

COSTS CONFLICT PASSES

Figure 2

By allowing nets to be routed with conflicts, autorouted wires will initially start with an ideal path. The final routing solution closely mimics interactive routing results in terms of optimal wire length and number of vias.

As the router iterates though the passes, it uses conflict

information to generate a solution resolving the conflicts and untangling the routed wires.

When the design is easily routable, the conflict curve drops down very rapidly. When the design is difficult, the conflict reduction rate will exhibit oscillations. Routing history can be monitored to predict and qualify routability of a design. (Read 2.4 for more details on Analyzing Routing Results)

Adaptive routing algorithm is a proven approach to

systematically reach high completion rate on complex high density PCB designs.

6

ELECTRA v1

2 Main Features

§ Adaptive Shape-Based routing strategy § Concurrent routing of up to 256 layers § Hierarchical rules-based autorouting § Memory routing pass § Blind/buried/staggered vias § Vias under SMD pads § Customizable cost factors § Batch routing option § Advanced Rules

o Layer assignment of nets wires o Width and Clearance by layer

o Via assignment by default, net class and net o Net and net class rules by layer

§ Post route cleanup optimization (Bend and Via removal)

7

3 CAD Flow Integration

ELECTRA supports a broad spectrum of PCB CAD systems by reading the widely-employed Design File (DSN) format.

ELECTRA’s routing results are saved into standard route file format (RTE) or session files (SES). ELECTRA is thus a plug-and-play autorouter for any existing PCB CAD system

environment that has a SPECCTRA® design file interface. The design flow for employing ELECTRA is illustrated by the diagram below:

SPECCTRA Design or Session file PCB CAD System ELECTRA SPECCTRA RTE or Session file Figure 3

8

ELECTRA v1

4 Using ELECTRA

4.1 Pushbutton Autorouting

1. Start ELECTRA, select the menu File / Load and load the demo design located in \\Demo\\Demo.dsn

2. Select the icon as shown above to run the pre-defined routing strategy. You can now watch the router in action!

Electra can also be controlled through typed-in commands or a command file (DO file) for unattended batch operation.

9

The equivalent command to run the pre-defined routing strategy is named autoroute. Click in the command entry log window and type in autoroute

4.2 Basic Routing Strategy

The adaptive routing strategy method generally requires many routing passes and involves selection of the right commands to build the best strategy.

Sequence of commands can be saved in a text DO file for future reuse. Use the “File/Execute Do file…” menu to execute a Do file. A pre-defined routing strategy DO file can be found in the

executable directory, it is called “basic.do”. The strategy is as follows:

#============== # BASIC DO file #==============

# Phase 1 - Initial #------------------ bus diagonal fanout 5 #

# Phase 2

#------------------ route 20 clean 2 #

# Phase 3

#------------------ route 25 16 clean 2 #

# Phase 4- Cleanup #------------------ filter 5 #

# Phase 5 - Final #------------------ recorner diagonal status_file

10

ELECTRA v1

4.3 Analyzing Routing Results

Select the button as shown to get a routing report in the log window. Alternatively you can use the command report status to generate a report.

To determine if a design is routable, check the status report for convergence signs:

11

§ Conflict reduction rate is higher than 15% after passes 2-5

Here is an example:

ELECTRA Version v1.0.0

Design = C:\\Designs\\b1.dsn Report Time = 04:59:28 Nets = 325 Components = 74 Connections = 395 Vias = 114 Signal Layers = 2 Power Layers = 2 Completion = 100.00% Unroutes = 0 Routing Time = 00:00:30

________________________________________________________________ | Pass | Conflicts| | | | | CPU Time | | Name | # |Xing|Clear|Fail|Unrte|Vias|%Red| Pass | Total | |________|___|____|_____|____|_____|____|____|________|________| | Route | 1| 560| 32| 0| 0| 32| | 0:00:03| 0:00:03| | Route | 2| 306| 5| 0| 0| 37| 47| 0:00:04| 0:00:07| | Route | 3| 178| 2| 1| 0| 47| 42| 0:00:03| 0:00:10| | Route | 4| 100| 1| 0| 0| 57| 43| 0:00:03| 0:00:13| | Route | 5| 53| 0| 0| 0| 76| 47| 0:00:03| 0:00:16| | Route | 6| 15| 0| 0| 0| 96| 71| 0:00:02| 0:00:18| | Route | 7| 3| 0| 0| 0| 108| 80| 0:00:02| 0:00:20| | Route | 8| 2| 0| 0| 0| 108| 33| 0:00:01| 0:00:21| | Route | 9| 2| 0| 0| 0| 108| 0| 0:00:01| 0:00:22| | Route | 10| 2| 0| 0| 0| 108| 0| 0:00:00| 0:00:22| | Route | 11| 2| 0| 0| 0| 108| 0| 0:00:00| 0:00:22| | Route | 12| 1| 0| 0| 0| 111| 50| 0:00:00| 0:00:22| | Route | 13| 1| 0| 0| 0| 111| 0| 0:00:00| 0:00:22| | Route | 14| 2| 0| 0| 0| 112| 0| 0:00:00| 0:00:22| | Route | 15| 1| 0| 0| 0| 111| 50| 0:00:01| 0:00:23| | Route | 16| 0| 0| 0| 0| 114| 100| 0:00:01| 0:00:24| |________|___|____|_____|____|_____|____|____|________|________|

12

ELECTRA v1

4.4 Improving routability

1. A unroute is a connection where the autorouter has not been able to find a path. This can probably be related pin that cannot be accessed, the presence of some blockage or high congestion area.

2. High crossing counts, indicative of insufficient signal layers and/or via starvation

3. High clearance counts may come from design rules errors or improper layer route direction

4. Go gridless, it will help in achieving higher completion rate.

5. Verify layer directions

6. On 2 layers boards you might have to run many passes (~100). Note that passes above 5 run faster since only nets that are in conflict are rerouted.

4.5 Restarting the autorouter

The syntax of the route command allows the control of the starting pass count: route

When the number of completed passes (n) is less than 15, the should be n+1.

When the number is higher than 15, then the should be 16.

13

4.6 Advanced Rules Hierarchy

ELECTRA reads the rules constraints out from the DSN file. The host CAD system interface embeds the design rules into the transferred DSN file.

Rules can be set globally (PCB) or specifically to layers, net classes or nets. When rules are applied at these different levels, a rule's hierarchy precedence takes place. The autorouter rule precedence is

PCB < layer < class < net

This shows that PCB rules have the lowest priority and the net rules, the highest.

Here is the list of rules that are embedded in the design file (DSN) and that are supported by ELECTRA.

There are two categories of rules type: clearance and wiring rules as shown by the rule descriptor below.

::=

[(clearance [(type {})])] | [(junction_type [term_only | all])] |

[(limit_bends [[(reorder )] 14

ELECTRA v1

Separate clearance can be assigned by object type such as wire_smd (wire against SMD pad). The object types are:

§ wire § pin § smd § via § area

Examples:

1. Setting PCB width and clearance:

rule pcb (width 8) rule pcb (clearance 8)

rule pcb (clearance 6 (type wire_via))

2. Setting a layer rule applying to all nets in a design:

rule layer s1 s2 (width 6) (clearance 6)

3. Setting a special net rule:

rule net sig1 (clearance 12)

rule net sig2 (clearance 10 (type via_pin))

4. Limiting wrong way routing distance:

rule net clk (limit_way 150)

This will force the router to use a via if it exceeds the wrong way limit.

15

5. Limiting number of vias per connection:

rule pcb (Limit_vias 4)

rule class fast (limit_vias 1)

Prevent via use:

rule class c1 (limit_via 0)

On entire design:

unselect all vias

16

ELECTRA v1

4.7 Mouse driven Viewing Navigation

The intrinsic mouse navigation methods have been designed for a three button mouse, and involve either a click, or a drag operation.

Zoom To Area:

Drag the middle mouse button in an upward motion from the lower-left or lower-right starting corner until the desired view is within the elastic bounding box…

OR

Pan To:

Press and release the middle mouse button at the desired center point for the new view …

Zoom Out:

Drag the middle button in a downward left or right motion until the outer elastic box visually shows the desired zoom out percentage. The displayed inner box represents the current viewport…

OR

17

Full View:

Drag the middle button in a horizontal motion either left or right until a fixed rectangular box appears at the starting point. Upon release, the display will expand to a viewport that fits the chip outline of the database …

OR

Note: Toolbar view icons can be used for viewing navigation as well as hot keys such PgUp to Zoom In, PgDown to Zoom Out, F5 to Refresh and Home to get a Full View.

18

ELECTRA v1

5 Quick Command Reference

5.1 Notations

[ ] = option | = OR

{ } = parameter inside can appear multiple times <> = includes a descriptor

5.2 Descriptors

::=

[(priority | (use_via {}) | (use_layer {})]

::=

(class [{}]

[(circuit {})] [(rule })] [{}])

::=

[forbidden | high medium | low | free | | -1]

::=

(layer_rule { } )

::=

[(clearance [(type {})])] | [(junction_type [term_only | all])] |

[(limit_bends [19

[(limit_crossing [[(reorder )]

5.3 Types:

::=

[_ |

smd_via_same_net | via_via_same_net | buried_via_gap | antipad_gap | pad_to_turn_gap | smd_to_turn_gap | drill_gap]

::=

[way | cross | via | off_grid | off_center | side_exit | squeeze]

::=

[pin | smd | via | wire | area]

::=

[starburst]

20

ELECTRA v1

5.4 Command Reference

autoroute

Invokes a general purpose routing strategy.

The strategy can be customized by changing the command file located in the executable directory. The command file is named “basic.do”.

bestsave

bestsave on | off

Controls automatic saving of the best routing solution during a multi-pass routing run. Routing result is saved into a file named “bestsave.rte” at the same location as the design file.

bus

bus [diagonal]

Invokes a bus routing pass only on regular array of pins with collinear connections where the pins share a common X or Y coordinate. This is particularly effective on memory arrays. In this mode, the router will not generate conflicts, so rules must allow for sufficient space. By default traces are routed orthogonally, unless the diagonal option is specified.

21

check

This command can be used to run a DRC (design rules check) and visually tag the violations. This is used in particular when a rule is changed. A check is automatically invoked after every routing pass. The total number of violations is shown on the status line and visual feedback is added to the layout view to indicate conflict locations.

circuit

circuit [class | net ] {}

Used to schedule the routing order priorities, specific vias to be used and allowed routing layers amongst nets and net classes.

::=

[(priority | (use_via {}) | (use_layer {})]

The value of priority ranges from 0 to 255, the default is 10.

The use_via rule assigns one or more via padstack to a class or a net. If more than one padstack is defined, the autorouter will favor the smallest padstack in size.

22

ELECTRA v1

The use_layer rule assigns routing layers where nets and

classes must be routed. Note that the use_layer rule will override a layer unselection rule.

Examples:

# Routing a net / class to specific layers circuit net sig1 (use_layer L1 L2) circuit class fast (use_layer M1 M2)

# Assigning routing priority circuit net sig1 (priority 200)

clean

clean []

The clean command reroutes all the connections with higher costs settings and helps achieve

§ Wire optimization with minimum bends § Vias minimization

§ Less off-center SMD pad entry § Exit SMD pad on long edge

23

cost

cost cost_descriptors>|[(type[length|way])]|-1]]

User adjustable routing costs. This command sets the internally defined costs to a fixed value. By default, some of the cost values get internally modified during autorouting. It is not

recommended to change cross and squeeze costing specifically.

Cost values can range from 0 to 100. A value of -1 will reset the cost value. Predefined cost description values can be used: Cost Value Forbidden 100 High 50 Medium 25 Low 8 Free 0

The following costs can be set: Option Description cross crossing conflict squeeze wire to wire clearance conflict via wire to via clearance conflict way cost of routing in non preferred

layer direction

off_grid Cost of routing off grid if a grid

was specified

off_center Cost of entering or exiting a SMD

pad off center

side_exit Cost to exit SMD pads on long

side 24

ELECTRA v1

layer

If type is length it is the cost of using the layer. If type is way, it is the cost of routing on non preferred direction

Examples:

cost layer S1 forbidden

cost layer S2 high (type way) cost via high

delete all wires

Removes all existing wiring, except for the protected wires.

25

direction

Changes preferred routing direction by layer

direction

[horizontal | vertical | orthogonal | off]

fanout

fanout

[]

[(direction[in_out | in | out])]

[(pin_share [on | off])] [(via_share [on | off])]

{[(pin_type [active | signal | power | unused | all | single])]}

[(max_len )]

AutoRoutes short escape wires with a via from SMD pads. Recommended on SMD boards having more than 2 routing

layers. Fanout direction can be set so that fanout vias are added inside SMD components, and/or outside. Fanout can be limited by pin type, for example pins connected to power nets only.

Examples:

# 5 fanout passes fanout 5

# Depth for blind & buried vias

fanout (depth opposite 2) (share_len 500)

fanout 5 (pin_type signal) (via_share on) 26

ELECTRA v1

# Allow 2 wires between vias

fanout (smart_via_grid two_wire_between)

# Sets via to microvia & grid 25 grid via 25 MICROVIA

# Fanout using a grid of 25 fanout (via_grid 25)

filter

filter []

Removes wires that are in conflict

grid

grid [via [] |

wire []

Specifies wire and via grid spacing. The grid wire command overrides the wire grid set by the grid smart command.

Examples:

# use a routing grid of 8.333 grid wire 8.333

# use a different routing grid 5 on layer 1 grid wire 5 layer 1

27

limit

limit [cross [ | -1] |

via [ | -1] | bend [ | -1] | way [ | -1]]

The limit command sets absolute limit values to be applied to each connection. Control is provided to limit maximum allowed number of intersecting wire, number of vias per connection, number of bends, and the maximum distance of non preferred (wrong-way) routing. The range of limit for 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.

Examples: limit via 2 limit way 200

# resets routing limit to default value limit way –1

28

ELECTRA v1

protect

protect all wires

Prevents router from changing or deleting protecting wires, e.g. this option is useful to protect pre-routed GND and VCC nets. Note that the router is still allowed to connect to protected wires.

quit

quit

The quit command can be entered from the Command entry area or from a DO file. If routes results where not saved, the autorouter terminates his process by prompting for confirmation to save or not the route results.

read

read routes

Loads a routes file (RTE)

29

recorner

recorner [diagonal]

The recorner command charges 90 degree wire corners to 135 degrees. It is performed on wire corners exiting pins and vias, as well as bend and slant wire configuration.

route

route [[]]

When the number of completed passes (n) is less than 15, the should be n+1.

When the number is higher than 15, then the should be 16.

30

ELECTRA v1

rule

rule [pcb | layer | class |

net |] {}

Rules can be set globally (PCB) or specifically to layers, net classes or nets.

There are two categories of rules type: clearance and wiring rules as shown by the rule descriptor below.

::=

[(clearance [(type {})])] | [(junction_type [term_only | all])] |

[(limit_bends [[(reorder )]

31

select

select [layer | via] {} |

[all [layers | vias] |

[comp] {} | [net] {}

Enables the autorouter to use specific layers and vias for routing. Allows for selecting net for routing.

Note: Names are case sentitive

status_file

status_file

Creates a status file with routing history and located in the

design directory. The status filename is named after the design name, with the extension .sts.

tax

tax [way | cross | via | off_grid | off_center | side_exit |

squeeze | layer ] [ |

positive_integer>]

This is an alternative method of using the cost command. This is the recommended way to adjust costing. The tax command applies a multiplier to control internal costing. The default value for tax is 1. 32

ELECTRA v1

The following costs can be set: Option Description Cross crossing conflict squeeze wire to via clearance conflict Via usage of a via Way cost of routing in non preferred

layer direction

off_grid Cost of routing off grid if a grid

was specified

off_center Cost of entering or exiting a SMD

pad off center

side_exit Cost to exit SMD pads on long

side

Layer If type is length it is the cost of

using the layer. If type is way, it is the cost of routing on non preferred direction

Examples:

tax layer S1 1.2 tax way 1.2 tax via .5

33

unprotect

unprotect

Unprotect existing tracks. Allows router to reconsider them.

unselect

Disallow the autorouter the usage of specific layers and vias for routing. This command can be used to reduce the number of routing layers than originally specified.

Example:

unselect layer s1 s2

unselect [layer | via] {} |

[all [layers | vias]

write

write [routes | session] []

Command to save results to a routes file or a session file.The session file provides an integrated file to manage design data and routing data.

34

6 Appendix

Running ELECTRA in batch mode:

Options Function

design or session file -do Execute the do file -w Import route file -nog No graphics. Run minimized -quit Exit after Do file execution

Example:

electra demo.dsn –do demo.do –quit

ELECTRA v1

35

Index

autoroute, 22 Batch, 36 bestsave, 22 bus, 22 check, 23 circuit, 23

circuit_descriptor, 20, 23 class_descriptor, 20 clean, 24 Clearance, 5

clearance_type, 21 cost, 24

cost_descriptor, 20 cost_descriptors, 24 cost_type, 21 Crossing, 5 delete, 26 direction, 27 fanout, 27 filter, 28 grid, 28

layer_rule_descriptor, 20

36

limit, 29

object_type, 21 order_type, 21 priority, 20 protect, 30 quit, 30 read, 30 recorner, 31 route, 31 routes, 35 rule, 32

rule_descriptor, 15, 20, 32 select, 33 session, 8, 35 SPECCTRA, 8 status_file, 33 tax, 33

unprotect, 35 unselect, 35 use_via, 20 write, 35 zoom, 18

因篇幅问题不能全部显示,请点此查看更多更全内容