Coolquest, Inc. Home Products Support About Contact
cbold_logo_gif C++BOLD Reference Manual cbold_logo_gif

<<< Previous CBOLD Reference Home Next >>>

 

16.4. Naming Conventions for Nets

Net names are entirely uppercase. Net names appear in CAD netlists, and some CAD programs may not tolerate mixed uppercase/lowercase net names.

Unlike most other user-assigned names, net names may contain characters such as "*" (asterisk) or "/" (forward slash). Even with net names, however, the designer should avoid using special characters if possible, because some CAD programs may not tolerate them.

A net whose name begins with a forward slash is a global net. If necessary, the initial character used to specify global nets may be changed from forward slash to another character. See the GlobalChar variable in cb_userpref.h. In general, global nets are unnecessary and should be avoided. The exception is the global no-connect net, /NC, which is indispensable.

16.4.1. Active-Low Signals and Differential Pairs

In general, the Naming Conventions for Ports apply to the names of nets connected to active-low and differential ports.

16.4.2. Automatically Assigned Net Names
Because automatically assigned net names begin with SB__ (SB double underscore), the user should avoid net names containing two consecutive underscores. Furthermore, even though CBOLD can automatically assign net names, it is good design practice to manually specify a name for every net. Consider this connection of a source termination resistor in a clock driver module:
CLKOUT ^ Sterm ^ Driver.OUT;   // connect driver output to port CLKOUT via resistor Sterm

CLKOUT is a module port that is presumably connected at a higher level in the hierarchy. In most cases, the designer will manually assign a net name at the highest level at which a net is connected, overriding any net names assigned at lower levels. In the example above, therefore, there is no reason to manually assign a net name to the net between Sterm and CLKOUT.

The net between the Driver.OUT and Sterm will be automatically assigned a net name, e.g., SB__39. Because this net is not visible at any other level of the design, the automatically assigned name will be the final name for the net. It is good design practice for every net to have a meaningful final net name, so the example below is preferable to the example above:

CLKOUT ^ Sterm ^ "RAW_CLKOUT" << Driver.OUT;  // assign meaningful net name

In this case, the final net name is RAW_CLKOUT instead of SB__39. The examples illustrate another value of consistent style. By consistently naming all nets between drivers and source terminators, e.g., "RAW_..." the designer can easily communicate and verify layout instructions. For example, layout personnel can be given the following instruction: Minimize the length of nets whose names begin with "RAW_". Once the layout is complete, the designer can check the net length report to verify that all "RAW_..." nets have reasonable length, thus verifying that no series terminator was placed at the wrong end of a transmission line.

 

<<< Previous CBOLD Reference Home Next >>>

Legal Copyright © 2007 by Coolquest, Inc. Contact