PNDOC

This document describes the nomenclature limits of the tools we use and our recommended practices. It represents precedent practice, and as such, it describes the course easiest for us to follow. Other than the name lengths, conformance is not required, but it might speed your work with us.


ELECTRONIC PART AND SIGNAL NAMING CONVENTIONS FOR USE WITH SCHEMA AND PADS PCB SOFTWARE

Rev A, originally written for Array Technologies, 5/11/89
Rev B, a few revisions from nine years of use, 7/24/97
Rev C, a little polishing with the benefit of hindsight, 3/28/02


WHY PART NAMES?

There was already in existence a complete and unique set of part numbers for all parts in our inventory at the time that part names were created. After some debate it was decided that there was a need for a nomenclature which would be as descriptive as possible within the limits of an eight character field. Our eight character part numbers were viewed as arcane and obstructive to understanding. When we threatened to use them on the schematics, the engineers folded their arms and glared at us. Random descriptive strings held the dangers of overlapping to other parts. Thus certain rules of naming parts were created, not without a certain amount of sweating and shouting, to satisfy the following criteria.




PART NAMES - length=8

The name must fit into an EIGHT character field.

The name must be absolutely UNIQUE to the part as defined by its relevant physical and electrical characteristics, ie. size, footprint, and pin function assignments.

The name must have good RECOGNITION; as much as we can, we should use the vernacular name (the name an engineer would call it in conversation) for the part.

The naming method must be COMPREHENSIVE, that is it must cover all part types and values which we are likely to use.

As much as possible within the above constraints, the name should be GENERIC; it should refer to the widest range of parts which could be safely substituted at this location.

The name should be SORTABLE; its first characters should cause it to alphanumeric sort into association with its cousins.

In sum, part names must be:

Some of these criteria also apply to signal names and reference designators. (unique, recognizable, sortable)




REFERENCE DESIGNATORS - length=6

Reference designators must be SIX CHARACTERS or less. Schema will handle more than six, but when SPCB receives the pin list it chokes on references larger than six characters. The reason is that SPCB appends characters to a reference as a way of generating a net name when the schematic shows a line instead of a label. The reference designator will show on the silkscreen on the PC board as well as on the schematic; it should be either be suggestive of the function of the part or of its location on the board or schematic. Once the board is in production the references should not change without a very compelling reason; it's a lot of work.




SIGNAL NAMES - length=12

To leave room for the possible appending of an active-low character (~), active-high names should be restricted to ELEVEN characters. Signal names must be no more than TWELVE characters overall.

Signal names must be unique within the schematic of course, and where signals are passed from board to board the names should be, if not identical, at least consistent variants. The same rule should apply to signals on opposite sides of a buffer (data0, bdata0).

The name should be suggestive of the function of the signal when active or true; it is assumed active high unless the active-low character is appended.

If the character used to signify active-low is appended to the end of the name (rather than the beginning), the signal name will sort into proximity with its active-high, noninverted, siblings in net lists etc. This is desirable.

The active-low character used in the past was a dash " - ", but a tilde " ~ " is now standard. Tildes are used in PAL equations, and they are easier to spot on the schematic, as dashes tended to blend in with the pin stubs.




NAME-OBJECTS IN SCHEMA:

The top four items fill in the BOM which, among other things, serves as a paper index to the part numbers ("PNs") and part names. The last item determines which body object will be shown on your schematic.


[The remainder of this document is included here for illustration of methods and for completeness. You should feel free to diverge from the nomenclature below, or invent your own system. These names work well for the eight character limit in a company with a total inventory of less than 10000 electronic part types. If you have more than that number of part types floating around, it is time to do some serious review of design practices.]


PART NAMES - nomenclature defined for most class codes follows.

See class codes document for a complete list of class codes used in the same context.

Resistors:          class 590-

     Rwt-vvvv
     where R is fixed (literal)
           w = wattage denominator; 1=1W; 2=1/2W; 4=1/4W; 8=1/8W.
           t = tolerance 1=1%, 2=2%, 5=5%, 0=10%.
                -
                vvvv = value (including "K" or "M" and ".")

          EXAMPLE: R85-5.1K = resistor, 1/8W, 5%, 5.1K ohms.
               R41-332  = resistor, 1/4W, 1%, 332 ohms.

     - or-

     Rlwtvvvv 
     where R is fixed (literal)
           l = large (for sizes over 1W
           w = wattage denominator; 1=1W; 2=1/2W; 4=1/4W; 8=1/8W.
           t = tolerance 1=1%, 2=2%, 5=5%, 0=10%.
           vvvv = value (including "K" or "M" and ".")

               EXAMPLE: 
               RL210002 = resistor, large, 2 watts, 1%, 2 ohms.




Capacitors:         class 580-

     Cxynnnnm
          where C is fixed
                xy is a sequential alphanumeric (beginning (0A, 0B, ...)
                arbitrary and unique for each decal/cap-type.
                nnnn is a 4 character number designating capacitance value.
                m  is units of capacitance (multiplier)
                    U = microfarads
                    P = picofarads

          EXAMPLE: C0P0005P = capacitor, type "P", 5 picofarads.
                   C0D03.3U = capacitor, type "D", 3.3 microfarads.



Trim capacitors:    class 580-

     TCyvvvvm
          where TC is fixed
                y is a sequential alphabetic (beginning (A,B,...)
                    arbitrary and unique for each unique decal.
                vvvv is a 4 character number designating the capacitance value
                    at the high end of the range.
                m  is units of capacitance (multiplier)
                    U = microfarads
                    P = picofarads

          EXAMPLE:  TCB0020P = trim capacitor, type "B", 2-20 picofarads



Potentiometers:     class 592-

     Pxy-vvvv
          where P is fixed
          xy is a sequential numeric (beginning (01, 02, ...)
               arbitrary and unique for each unique decal.
          vvvv = value (including "K" or "M") at the high end of the 
               resistance range

          EXAMPLE: P08-100K = pot, type "8", 0-100K ohms.



Resistor Networks:       class 595-  

     Nxyvvvvv
          where N is fixed
          xy is a sequential alphabetic pair (AA, AB, AC,...)
               arbitrary and unique for each item.
          vvvvv is the value

          EXAMPLE: NAB00033 = resistor network, type "AB", 33 ohms



Headers:       class 610-

     Hnn-bbbb       -or-      Hnnn-bbb
          where H is fixed
          nn = the number of conductors (pins or sockets)
          bbbb = the base number

     EXAMPLE: H34-0313 = header, 34 pin, PN 610-0313.
     Note exception: H34R0313 = 610-0313 + 610-0541 (RFI shield).
     Parts H34-0313 and H34R0313 are equivalent at the board fab level 
     but distinct on the BOM & assembly level. So: alpha characters 
     may be used in place of the dash in H and J part names to further 
     describe assemblies of the part wherever the fab footprint and 
     basic component are identical.



Jumpers        class 610-

     Jnn-bbbb
          where J is fixed
          nn = the number of conductors (pins or sockets)
          bbbb = the base number

          EXAMPLE: J02-0346 = jumper, 2 pin, PN 610-0346.

     Jumpers differ from headers only in function: headers conduct to 
off board cables or cards; jumpers provide contact between two or more 
traces on the same board.  Thus H02-0346 and J02-0346 are both pur-
chased as PN 610-0346.  They use the same decal in SPCB.  They have 
different name and body objects in the schema libraries which refer to 
their different functions.



Logic IC's     class 360-,... 369-     [old format]

     74xxxnnn
     where 74 is fixed
          xxx are three optional technology code letters
          nnn are two or three numerics echoing the TTL gate 
               configuration.
     EXAMPLES:  74ALS245,  74HC244, 74F283, 74AC04, 7406, ...



Logic IC's     class 360-,... 369-     [new format]

     xxxnnnnn
          where  (74 is dropped) 
               xxx are three optional technology code letters
               nnnnn are five numerics echoing the TTL gate 
                    configuration.
          and either or both fields may be partially filled.
EXAMPLES:  ALS245,  HC244, F283, AC04, ALS12645, ALS1034,...



Memories:      class 323-, ... 327

     We use the kernel of the manufacturers part number, beginning 
with their, usually 2 letter, manufacturer's prefix, followed with 
four or five significant numerics, usually indicating the type and 
size of the RAM. We usually omit technology and speed indicators since 
we have only eight characters available.

          EXAMPLES: TC55257, MCM6256 



Memories:      class 323-, ... 327

Alternative scheme: 
     VRM464Z = VRAM, ZIP PKG, 64x1, MFG # M5M4C264L-10
     DRM4256Z = DRAM, ZIP PKG, 256x1, MFG # MB81C4256-10



Programmable logic:      class 340-, ...350-

     xALnnyyymm
          where x = either P (programmable) or G (re-programmable)
               AL is fixed
               nn = number of inputs
               yyy  = usually L, R, or V, indicating array type
               mm = number of outputs

          EXAMPLE: GAL16V8
          This nomenclature is a direct reflection of industry usage.



Linear circuits:         class 440-, ...499-

     Our part names use the manufacturer's two letter prefix and 2-4 
number part type and sometimes even a suffix if it is needed to make 
the name unique for form or function.

     EXAMPLES: LF398, LM7912CT, LM317LZ, LM78L05Z, HA5147, MP7685



Switches:      class 555- 

          Sxsspptt
               where S is fixed = "switch"
               x = sequential alphanumeric for package type
               ss = number of switches
               pp  = number of poles
               tt = number of throws

          EXAMPLE: SA080101 is A type, 8 switches, 1 pole, 1 throw.
          SB010104 is B type, 1 switch, 1 pole, 4 throws.
     Note: this class is for on-board switches, off-PCB switches are
          class 651-.



Crystals:    class 499-
      
     Xxyvvvvv
          where X is fixed
          xy is a sequential alphabetic pair (AA, AB, AC,...)
               arbitrary and unique for each item.
          vvv is the value
          GH, MH, KH, or H for giga-, mega-, kilo-, or just hertz.
          EXAMPLE: X0A016MH Crystal, type A, 16 MHZ.



Transistors and diodes:       class 500-, ...505-

     We use the "2N...." and "1N...." nomenclature which is generic 
and customary, where it can be applied.  Otherwise names are made as 
for linear parts above.

     EXAMPLES: 2N3440, 1N4305, SD5200, 



Inductors:     class 560-

     Lxyvvvvm
          where L is fixed
          xy is a sequential alphabetic pair (AA, AB, AC,...)
               arbitrary and unique for each item.
          vvvv is the value 
          m  is units of capacitance (multiplier) where:
               M = millihenries
               U = microhenries
               N = nanohenries
               P = picohenries

          EXAMPLE: L0A0061U Inductor, type A, 61 microhenries



All others, CPU's, imaging devices, etc.:

     So far, for all other devices, we are just following the general 
guidelines set out at the beginning of this document.

EXAMPLES: TMS34010, HE98243, DSP32C.
     
     end.
     PNDOC     12/07/89, 7/24/97, 3/28/02                R L Hileman


Index