Allegro Design Entry CIS provides a new feature called NetGroup, which offers an easy-to-use and more flexible method of connecting schematic symbols in complex designs using the concept of bundling and connecting signals/nets.
What are NetGroups
A NetGroup is a heterogeneous collection of nets. A NetGroup can have scalars (wires), vectors (buses), or a combination of both scalar and vector nets. It can also have other existing NetGroups as members. For example, you can collect together a large number of signals on a page of a schematic into a NetGroup. You create an off-page connector and then connect all the signals on the NetGroup to the signals on another page.
Types of NetGroups
In Allegro Design Entry CIS, NetGroups are classified as:
1. Named NetGroup
2. Unnamed NetGroup
As the name suggests, to create a named NetGroup, you must define a name first and then associate the NetGroup members. NetGroup members can be scalars, buses, or NetGroups.
A named NetGroup can be used across a design or can be exported to other designs for reuse. Generally, organizations upgrade their designs with small modifications for which they may want to maintain different designs. If any functionality is common across different designs and demands to have the same set of NetGroups, then the export/import functionality of the NetGroup reduces the design cycle considerably.
Where to Use Named NetGroup
If you have a clear idea about bundling of signals, then you can use a named NetGroup. For example, assume there are 100 signals (nets) in a complex design in which 15 signals can be grouped together to provide required connectivity. In such cases, it is appropriate to choose a named NetGroup.
Unnamed NetGroups can be created without assigning a name and without assigning members. A system-generated default name is assigned for the unnamed NetGroups, such as @@UNNG, which can be changed later. The benefit of an unnamed NetGroup is that you first create an empty definition and then add signals as required. While you cannot instantiate the associated NetGroup definition elsewhere in your design (or page), you can reference the NetGroup on other pages within the same schematic.
Where to Use Unnamed NetGroup
For scenarios where there is no idea about the bundling of signals (that is, which signals should be part of the NetGroup and which should not), it would be appropriate to use unnamed NetGroups instead of named NetGroups. For instance, consider that there are 100 nets in a complex design. Since there is no fixed rule as to which nets should be part of a NetGroup, it is a good choice to use an unnamed NetGroup and later add the members (signals) on the fly, as per the requirement, to achieve the desired connectivity.
Comparing Named vs. Unnamed NetGroups
Advantages of NetGroups
A NetGroup, being a heterogeneous collection of nets, can contain scalar, vectors or, in case of named NetGroups, even other NetGroups providing a flexible grouping of objects
NetGroups can be used as a block, off-page connector, or as a hierarchal port as convenient
A NetGroup can be re-used, which saves lot of valuable time creating different designs. This can be done by creating hierarchical parts or using export/import as described below:
a. Choose Place - NetGroup from tool bar menu
b. Select the check box of the required NetGroup that needs to be exported and select Export NetGroup
- Likewise you can also import a NetGroup saved from any of the designs (*.XML). Choose Place > NetGroup and click on Import NetGroup and browse the saved .XML file
NetGroups can be transferred from front to back like defined buses on a schematic page. In Constraint Manager, NetGroups are represented as a bus object, as shown in the following figure.
NOTE: NetGroups are not supported in the back to front flow.
In the SPB_16.6 release, a new feature called NetGroup Pin (as highlighted in below snapshot) has been provided to add a NetGroup Pin in a hierarchal block. When you define the NetGroup, one exit point is created that holds the signals for all the entry points. This exit point is referred to as the NetGroup Pin. After adding the hierarchal pin in a hierarchal block, select that block, and from the pop-up menu choose Synchronize Down to generate the corresponding NetGroup Port on the referred schematic page.
NOTE: This functionality is not present in SPB 16.5 release.
Refer to the AppNote for the detailed step-by-step procedures on using the NetGroup functionality, and various other aspects that are not covered in the blog above.
Click here for the AppNote.
Note: The above link can only be accessed by Cadence customers who have valid login credentials for Cadence Online Support (http://support.cadence.com/).
Cadence Customer Support