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.
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.
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 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.
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.
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.]
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