Driving design rules from the schematic

Rules Rule, OK!

Board design is a process of creating physical connectivity between the component pins. That connectivity is not a simple join-the-dots process, because the copper that creates the connectivity actually becomes part of the circuit itself. To ensure that the connective copper works in harmony with the overall circuit it must be suitably designed and placed. Routing widths and lengths, differential pair lengths, routing impedances, via sizes, the layer stackup, these are just a few of the elements that must be correctly specified and controlled.

This need for better control over the final physical implementation of the circuit is best resolved by specifying the more critical requirements on the schematic. By specifying them on the schematic, the original designer gets to define them, right there as they are developing that part of the circuit.

Rule specifications defined on the schematic are transferred to the PCB editor during design synchronization. They remain connected to the schematic through a Unique ID, so they can be updated if needed and re-synchronized with the PCB.

There are two simple guidelines to defining PCB-type rules on the schematic:

  1. A PCB rule is defined on the schematic as a parameter.
  2. It is the schematic object that the rule parameter is attached to that determines what objects the rule will target on the PCB.

For example, to attach a rule to a net you place a PCB layout directive so that it touches that schematic net, as shown in the image below. A PCB Layout directive is just a container for parameters (and is also called a Parameter Set), once it is placed the rule parameter can be defined, as shown below. In this example the Parameter Set is attach to a net, so the PCB rule will be defined with a scope of Net.


Edit the PCB Layout Directive to define the rule parameter - the rule is then transferred to PCB layout during synchronization (click for a larger view).


A recent addition to the schematic editor is the Blanket object. This object is actually ideal for defining rules on the schematic, because you can configure Altium Designer to create an object class for all suitable objects covered by the blanket, as well as create design rules that apply to that newly created class of objects. In the image below the blanket covers a number of nets and components. By including a ClassName parameter in the Parameter Set a class called ROCKET_IO_LINES is created. When the class and rules are transferred to PCB layout both of the new rules (Differential Pair Routing rule and Width Constraint in this case) will target the class of nets called ROCKET_IO_LINES.


Use a schematic Blanket to target a set of nets - then create a netclass and design rules that target those nets (click for a larger view).


For details on creating rules on the schematic, the schematic parameter to PCB rule scope mapping, and blankets, refer to these Wiki articles:

► April 2010 Envision home