This document is being tested, and is not finalized yet.
Focus is describing the metadata and block references for an autorouter request on a Printed Circuit Board. The route_req block doesn't specify much geometry in itself but references other blocks within the same file. Thus for a full board description, a tEDAx file needs to contain several blocks, from which at least one is a route_req block.
Note: the order of blocks within the file is arbitrary. It is preferred to keep only one route_req block in a tEDAx file.
command | parameter names | explanation |
---|---|---|
via | OID netname constr x y dia clearance [from_layer to_layer] | the plated hole of a via (or pin); OID, netname and constr are as documented for the layernet block. Optional from_layer and to_layer are start and end layer names for vias that do not necessary cross all layers (when not specified, the via crosses all layers). |
stackup | blockID | mandatory reference to a board stackup block stored in the same file; only one instance permitted; any layer other than copper is ignored. |
route_all | route all remaining nets | |
conf | key value | set a config key to value. Key must be one of the keys returned in confkey by the router when quieried for the conf settings. |
Instead of the conventional layer blocks, the stackup needs to reference layernet blocks. The structure of a layernet block is identical to the corresponding version of a plain layer block, except that:
The OID field is a unique object identifier expressed as an arbitrary text string. This field is used when the router answer needs to reference objects. The OID needs to be unique within the board, not only within the layernet.
The netname field is an unique network name. If the object is connected to a network, this field must contain the netname, else it should contain a dash ('-').
The constr field is either a dash ('-') for no constraint or a combination of characters:
command | parameter names | explanation |
---|---|---|
del | OID | object referenced by OID needs to be removed |
add | layer obj... | an object (one of via, line or arc) drawn by the router for a net; after the add command a layer name follows then the rest of the line has the same format as the corresponding route_req would have, except that dash ('-') is a valid OID meaning "new, unique object" but netname can not be dash. The layer is a dash for vias. |
log | level message | Log a single line of human readable message; level is the character I for info, W for warning and E for error. Message is one field. |
stat | key value | Statistics about the routing result. |
confkey | key type defval:min:max description | When the router is called with an extra flag for returning config items, each possible config key is described using a confkey line. Key is the name of the config key; type is one of boolean, integer, double, coord (in mm, without unit) or string; defval is the default value, which is optionally followed by minimum and maximum values for numeric types. Description is a single field. |
The above description covers minimum support, except for:
The following example is a route request for a simple 7805 based linear stabilizer:
tEDAx route_req document
An inelegant but complete solution by an autorouter is: