Electronic product design is all about detail, masses and masses of the stuff. Your design can have hundreds of components connected by thousands of nets, with many of those components and nets having specific design needs too – such as the routing width, impedance, membership of a differential pair, and so on.
To keep on top of your design you’ll use various techniques for managing the detail. Hierarchy is king in the schematic. Using hierarchy means you can chunk the design down into logical sections, representing each chunk with a sheet symbol, chunking further into more lower-level sheet symbols within that section if needed. Each schematic sheet in the hierarchy becomes a meaningful part of the overall design – the power supply, the micro, the I/O, memory, and so on.
Altium Designer has long supported using the schematic sheet as the basis for tagging components and nets, making it easy to create component and net classes for all those on a given sheet. It has also supported working down at the individual component or net level, for example, specifying the PCB layout requirements of a net.
With the summer 09 release of Altium Designer you are now covered for that level in between the individual net and the sheet – with the introduction of the blanket directive.
Blankets you say… Hmm, sounds like something you place on the bed, not something you place on the schematic to define the attributes of the nets in your design. But the directive is aptly called a blanket because of the way it behaves, essentially targeting all of the nets that it covers.
So, the blanket defines the set of nets of interest, and your task is to specify exactly what you want done to those nets. You place a blanket directive via the Place»Directives»Blanket command. If you attach a PCB Layout directive so that it is just touching the perimeter of the blanket, a PCB design rule targeting each net covered by the blanket will be created.
It’s an easy way to define rules for many nets, but in this case you need to be aware there’s a separate rule created for each net covered by the blanket. The alternative approach is to attach a Net Class directive to the perimeter of the blanket, then all nets covered by the blanket are added to the same PCB net class. In this way, any rules attached to the blanket are then targeted to the Net Class, rather than the individual nets.
Here’s something ease to keep in mind. While net class definitions and PCB rules are both attached to a blanket using a Parameter Set object, it’s the actual parameter(s) stored in the Parameter Set object that define the net class and rule requirements. That means you can add multiple parameters inside the one parameter set object. For example you could specify the Net Class, the routing width design rule, and the routing via style design rule, all within the one Parameter set object attached to the blanket.
The image below shows a single Parameter set object with two parameters in it, one specifying the ROCKET_IO_LINES Net Class that all the blanketed nets will belong to, the second specifying the routing width requirements of the Net Class. You can see that there is also a Differential Pair directive attached to the perimeter of the blanket. Attaching that directive instructs Altium Designer to check all nets covered by the blanket, and for any that have suitable names, to create differential pairs for them during transfer to PCB layout. For differential pairs to be created, the net names for each net in the pair must end with _N and _P.
This Parameter set object includes 2 parameters, one specifying the net class, the second specifying the routing width rule, which will target the net class. Click for a larger view.
So just how do you work out if a net is covered by the blanket? The rule is; if any one of the following is covered by the blanket, then that net is included:
Keep in mind that component pins and net identifiers (such as net labels and ports), each have a specific point or hotspot on their shape that is electrically active – it’s this point that must be covered by the blanket for that net to be included. If you’re not sure where that point is, pick the object up, Altium Designer always grabs things by an electrical hotspot when you move them.
A circuit with a number of blankets, each targeting different net elements. Note that the net tagged by the pink net label USER_IO33 is not covered by the blanket, since its hotspot is outside the blanket, all the other USER net labels are covered. Click for a larger view.
At the moment blanket directives are only rectangular in shape, so if you need to cover an unusually shaped area on the schematic, simply place multiple blankets and configure the attached NetClass directive on each to target the same Net Class. Altium Designer will detect that there are multiple blankets assigned to the same Net Class, and will create a single class and apply the specified rules to that net class, as required.
There’s another point to make about multiple blankets. If two blankets overlap the same net, then that net will be in both net classes. This will flow through to the PCB editor, which also supports objects having membership in multiple classes.
Note that the net LOOP in the centre of the image has been covered by both blankets, that means it will be a member of both of the net classes, POWER_IN and POWER_OUT.
Blankets, like other design directives, are part of the overall design detail, so your company requirements will dictate if you want to include them in the printouts or not. To configure the default printing behaviour select Default Prints from the File menu, select Schematic Prints in the Default Prints tab, then click the Configure button. The Schematic Print Properties dialog includes options for each of the types of directive you want included in your printouts, including Blankets. You can also access this dialog via the Schematic Prints option in the OutputJob file.
If you use Altium Designer’s Smart PDF feature for PDF generation, then you’ll find an option to enable printing of blankets in the Additional Settings page of the wizard.
There’s an important point to make about printing a schematic with a blanket on it. Blankets are just another design object, and if they were placed last, then when you print they’ll appear on top of the circuitry they cover. Don’t sweat though – like any object they can be moved to the back, using the appropriate command in the Edit»Move sub-menu.
2 printouts with Blankets. Note how in the printout on the left, the Blanket is on top of all other objects. In the printout on the right, the Blanket has been moved to the back.
If you want to check which nets are being targeted by a blanket, one way to find out is by just selecting them. Press the S, C shortcuts to select a connection, then instead of clicking on a wire, click on the perimeter of the blanket instead. All nets covered by that blanket will be selected.
You can also highlight the nets covered by a blanket using the schematic editor’s highlight feature. Click the Highlight button
down the bottom right of the workspace, then click the perimeter of the blanket to highlight all the nets covered by the blanket.![]()
Select or highlight all nets covered by the Blanket by clicking on the perimeter of the Blanket.
If you're keen to use blankets in your designs, you can learn more here: