Get email delivery of the Cadence blog featured here
An increase in design complexity has forced designers to take novel approaches to meet routing challenges. Long back, designers used to group objects (vias, clines, or shapes) and copy-paste them in the design to reuse routing. The obvious drawback was the need to update all the instances of that group for any minor change. It also demanded huge manual effort and was error-prone. But all this is history. With the new-age Allegro® Layout Editors, you can create these routing groups as structures and save them in a library. The biggest advantage is that these structures can be reused in both the same or in different designs. Editing a structure is also quite easy and can be done at any design stage.
That is not all! Allegro layout editors support multiple types of structures for distinctive design requirements. The two most common types are Standard Via Structures and High-speed Via Structures. Standard Via structures are simply a collection of physically-connected vias and clines and are generally used to fanout the components. High-Speed Via Structures, on the other hand, are groups of vias, clines, static shapes, and route keepouts that are specifically used where you need to avoid routing on other layers or having different types of return path vias. In this post, I will focus on standard via structures and its usage as fanout.
Before we start, let’s look at standard via structures samples. The following images exhibit examples of standard via structures as HDI fanouts. A single-pin fanout can also be drawn manually and saved in the library of structures.
To create standard via structures, choose Route ─ Structures ─ Create. This menu option invokes the Create Structure dialog. Select Standard Via Structure from the Select Structure to Create section. Minimize the dialog box to pick the objects from the design canvas. Notice that in the Find filter only Vias and Clines are enabled.
Now, to create a standard via structure click to select physically-connected vias and clines in the design canvas. Physically-connected vias and clines mean that they should belong to the same net. To select the objects, drag a rectangle around them. As soon as they are selected, a dialog pops up to save the structure definition in the library in an XML format. You can specify a new name or just use the default one. I named it ‘fanout’ for the examples I used in this post. The selected vias and clines are now part of a via structure symbol, which is locked by default and cannot be edited accidentally.
After a structure is created it can be used in any design using the place structure command. This command is available in the same menu Route ─ Structures ─ Place and opens the Place Structure dialog. Double-click the name of the structure from the available list and it gets attached to the mouse cursor.
Right-click and choose Temp Group option, select pins of a component to add structure symbol. This action attaches structures to pins that have net assigned as illustrated in the next image. If you want to connect structures to unassigned pins, enable Include unassigned pins options in the Place Structure dialog.
To connect the structure on the left-side pins, use the right-click option Mirror Geometry. This option mirrors the structures on the same layer on the X-axis. You can now select the pins to add structures as I mentioned above.
The create fanout command can also be used for the same operation of adding fanouts. Select the pins of a component and choose Route ─ Create Fanout. Ensure that the Standard Via Structure option is enabled in the Create Fanout Parameters dialog. Select the structure from the Symbol field and click OK.
Note that the fanout added using the create fanout command no longer remains a structure. It breaks up into vias and clines and hence cannot be edited as a structure. The downside of the create fanout command is that you have to update these fanouts manually.
To edit a structure in design, you first need to unlock it. Select the structure in the design canvas and right-click to choose Unlock to Edit option. Now use edit commands like slide to move vias or clines to redefine the structure. It is as simple as that.
To redefine all the structures in the design, there is another command to simplify this task. Choose Route ─ Structures and select the edited via structure in the design canvas. You will be asked to refresh all the instances to match the new definition. Click Yes and that’s it!
This is how you quickly update the structures in a design, but I remind you the library still has the old definition of structure. If you want to upgrade the structure definition in the library, run the place structure command again. Select the structure and click Export Selected Structure. Saving the structure definition with the same name overrides its definition in the library.
A design may have an enormous number of structures and you need to work on a specific structure. How would you find that one? No worries. Open advanced utility Find by Query from the Find filter and set up the appropriate filters as shown in the following image.
Another way to fetch the list of all the structures that exist in a design is to run the standard reports command. The Structure Report generates a list of all the structures along with important parameters. You can easily navigate to a structure location just by clicking its coordinates in the report.
Standard structures are primarily used to fanout the components and dies. Allegro Layout Editors provides a complete set of commands to create and modify these structures both in the design and in the structure library. These GUI-based commands save your time and manual effort and definitely shorten the design editing time!