BeginErrorRules
DoSummary Yes
|Errorfile pcb.err
|Exclude Error Warning Note
ExcludeNums 7129
EndErrorRules

LayoutId PADSPCB
|Levels STD
|Grounds GND
|Powers VDD VCC
|ParamAttFile pads.var
|OutLen 79
|DeviceFileName parttype.lib
|PlaceFileName lines.asc
|NetlistFileName net.asc
|PartFileName part.asc
|BackFileName back.asc
|DeviceFormat $DEVICE$
|NormalTraceWidth 12
|SignalTraceWidth 50

| The default Netlist File header is !PADS-POWERPCB-V3 for Layout ID PADSPCB
| This can be changed by the NetFileHeader key word. 
| Note: This is applicable only for netlist (.asc) file generated while
|       going forward.
|
NetFileHeader !PADS-POWERPCB-V3.0
|NetFileHeader !PADS-POWERPCB-V2.1
|PlacementScale 1.0
Precision 2
|SignalStyle Pkgpin
|SignalStyle Strip

FwdExt asc
PkgFileExt asc
DeviceFileExt p
|DeviceFileExt lib
BackExt eco
BackNetFileExt asc
PlaceFileExt asc

SuppressIdBackAnno yes | [no] | Controls the back annotation of IDs.
| DumpDict should be set to yes if back annotation of IDs are not
| required.
DumpDict          yes | [no] | Controls whether dictionary files are read or
|written to the project directory.   


OverrideCompAttr no | [yes] If yes, SIGNAL and NC attributes on component will
		    | be overridden by SIGNAL and NC attributes on symbol
WriteBaf No
WriteVbf No
|DoOats yes
|GenericEnable Yes | [No]	| Enables the processing of PKT files
|PinMapEnable No | [Yes}	| Enables the remapping of pin labels 
|LoadPlacementData No
WriteDeviceInfo Yes
|PassBoardOutline No
|CADLibrarySignals No
|CreateSpareGates No
|SpareInputTypes L
|SpareInputSignal GND
|DoPacking Yes
|PreservePrevPack Yes
|EvalParamAtts Yes

BeginAttPassList
Specific
|BeginOatAtts
COM REFDES
COM $OBJNAME
COM PADS_ID
COM SYMTAG
|COM PKG_BIND	| Package Bind Attribute used with PKT files
|COM PKG_DATA	| Package Data Attribute used optionally with PKT files
|COM SLOT	| Slot Information used optionally with PKT files
NET  PADS_ID
PIN #
NET $OBJNAME
|EndOatAtts

General
COM VALUE
COM TOLERANCE
COM HYPERLYNX.MODEL
COM PART_NUMBER
COM DESCRIPTION
COM COST
COM MANUFACTURER_#1
COM MANUFACTURER_#2
COM ASSEMBLY_OPTIONS
NET POWERGROUND
NET VOLTAGE
COM GEOMETRY.HEIGHT
NET DFT.NAIL_COUNT_PER_NET
PIN DFT.NAIL_DIAMETER
PIN DFT.NAIL_NUMBER

COM PINSWAP
COM NC
COM SIGNAL
COM HETERO
COM DEVICE
COM GATESWAP
COM GLUE
COM ROTATION
NET NC   | A single pin net which has the attribute NC on it will
	 | not generate the "pcb: Warning 6083: Single pin net"
PIN PINTYPE
PKG PKG_TYPE
PKG CLASS
PKG VALUE
PKG TOLERANCE
PKG GLUE
PKG ROTATION
PKG PKGORDER


| PowerPCB Design Rules
PKG CLUSTER

| Default rules
BOARD UNIT
BOARD CLEARANCE
BOARD WIDTH

BOARD LENGTH_MIN_TYPE
BOARD COPPER_SHARE
BOARD PRIORITY
BOARD AUTO_ROUTE
BOARD RIPUP
BOARD SHOVE
BOARD BIAS_LAYER
BOARD USE_VIA 

BOARD LENGTH
BOARD DELAY
BOARD CAPACITANCE
BOARD IMPEDANCE
BOARD PARALLEL
BOARD TANDEM
BOARD SHIELD
BOARD MATCH_LENGTH
BOARD MAX_STUB
BOARD AGGRESSOR

| CLASS rules
NET CLASS
NET CLS_CLEARANCE
NET CLS_WIDTH

NET CLS_LENGTH_MIN_TYPE
NET CLS_COPPER_SHARE
NET CLS_PRIORITY
NET CLS_AUTO_ROUTE
NET CLS_RIPUP
NET CLS_SHOVE
NET CLS_BIAS_LAYER
NET CLS_USE_VIA 

NET CLS_LENGTH
NET CLS_DELAY
NET CLS_CAPACITANCE
NET CLS_IMPEDANCE
NET CLS_PARALLEL
NET CLS_TANDEM
NET CLS_SHIELD
NET CLS_MATCH_LENGTH
NET CLS_MAX_STUB
NET CLS_AGGRESSOR


| NET rules
NET CLEARANCE
NET WIDTH

NET LENGTH_MIN_TYPE
NET COPPER_SHARE
NET PRIORITY
NET AUTO_ROUTE
NET RIPUP
NET SHOVE
NET BIAS_LAYER
NET USE_VIA 

NET LENGTH
NET DELAY
NET CAPACITANCE
NET IMPEDANCE
NET PARALLEL
NET TANDEM
NET SHIELD
NET MATCH_LENGTH
NET MAX_STUB
NET AGGRESSOR

| GROUP rules
NET GROUP
NET GRP_CLEARANCE
NET GRP_WIDTH

NET GRP_LENGTH_MIN_TYPE
NET GRP_COPPER_SHARE
NET GRP_PRIORITY
NET GRP_AUTO_ROUTE
NET GRP_RIPUP
NET GRP_SHOVE
NET GRP_BIAS_LAYER
NET GRP_USE_VIA 

NET GRP_LENGTH
NET GRP_DELAY
NET GRP_CAPACITANCE
NET GRP_IMPEDANCE
NET GRP_PARALLEL
NET GRP_TANDEM
NET GRP_SHIELD
NET GRP_MATCH_LENGTH
NET GRP_MAX_STUB
NET GRP_AGGRESSOR


| PIN-PAIR rules
NET PINPAIR
NET PPR_CLEARANCE
NET PPR_WIDTH

NET PPR_LENGTH_MIN_TYPE
NET PPR_COPPER_SHARE
NET PPR_PRIORITY
NET PPR_AUTO_ROUTE
NET PPR_RIPUP
NET PPR_SHOVE
NET PPR_BIAS_LAYER
NET PPR_USE_VIA 

NET PPR_LENGTH
NET PPR_DELAY
NET PPR_CAPACITANCE
NET PPR_IMPEDANCE
NET PPR_PARALLEL
NET PPR_TANDEM
NET PPR_SHIELD
NET PPR_MATCH_LENGTH
NET PPR_MAX_STUB
NET PPR_AGGRESSOR

EndAttPassList

BeginAlsRules
PIN PINTYPE=IN     PINTYPE=L
PIN PINTYPE=OUT    PINTYPE=S
PIN PINTYPE=OEM    PINTYPE=O
PIN PINTYPE=OCL    PINTYPE=C
PIN PINTYPE=BI     PINTYPE=B
PIN PINTYPE=TRI    PINTYPE=T
PIN PINTYPE=ANALOG PINTYPE=U
PIN PINTYPE=TERM   PINTYPE=Z
PIN PINTYPE=POWER  PINTYPE=P
PIN PINTYPE=GROUND PINTYPE=G

PKG CLASS=R        CLASS=RES
PKG CLASS=RP       CLASS=RES
PKG CLASS=VR       CLASS=RES
PKG CLASS=IC       CLASS=TTL
|PKG CLASS=SMD      CLASS=TTL
|PKG CLASS=MOS      CLASS=TTL
|PKG CLASS=CMOS     CLASS=CMO
|PKG CLASS=ECL      CLASS=ECL
|PKG CLASS=ANALOG   CLASS=ANA
|PKG CLASS=DISCRETE CLASS=ANA
|PKG CLASS=ADC      CLASS=ANA
|PKG CLASS=DAC      CLASS=ANA
|PKG CLASS=POT      CLASS=ANA
|PKG CLASS=FILT     CLASS=ANA
PKG CLASS=C        CLASS=CAP
PKG CLASS=P-C      CLASS=CAP
|PKG CLASS=DIODE    CLASS=DIO
|PKG CLASS=SDIODE   CLASS=DIO
|PKG CLASS=ZENER    CLASS=ZEN
|PKG CLASS=FET      CLASS=TRX
|PKG CLASS=NPN      CLASS=TRX
|PKG CLASS=PNP      CLASS=TRX
|PKG CLASS=TRANSFOR CLASS=XFR
|PKG CLASS=L        CLASS=CHO
PKG CLASS=IO       CLASS=CON
|PKG CLASS=SCR      CLASS=SCR
|PKG CLASS=SWITCH   CLASS=SWI
|PKG CLASS=CRYSTAL  CLASS=UND

PKG PKG_TYPE=8PDIP  PKG_TYPE=DIP8
PKG PKG_TYPE=14PDIP PKG_TYPE=DIP14
PKG PKG_TYPE=16PDIP PKG_TYPE=DIP16
PKG PKG_TYPE=18PDIP PKG_TYPE=DIP18
PKG PKG_TYPE=20PDIP PKG_TYPE=DIP20
PKG PKG_TYPE=CAP    PKG_TYPE=CAP\MA20
PKG PKG_TYPE=RES    PKG_TYPE=R1/4W
PKG PKG_TYPE=4PSIP  PKG_TYPE=SIP\4P
PKG PKG_TYPE=5PSIP  PKG_TYPE=SIP\5P
PKG PKG_TYPE=6PSIP  PKG_TYPE=SIP\6P
PKG PKG_TYPE=7PSIP  PKG_TYPE=SIP\7P
PKG PKG_TYPE=8PSIP  PKG_TYPE=SIP\8P
PKG PKG_TYPE=9PSIP  PKG_TYPE=SIP\9P
PKG PKG_TYPE=10PSIP PKG_TYPE=SIP\10P
PKG PKG_TYPE=11PSIP PKG_TYPE=SIP\11P
PKG PKG_TYPE=12PSIP PKG_TYPE=SIP\12P
PKG PKG_TYPE=TO-220AB PKG_TYPE=TO-220
PKG PKG_TYPE=DO-7   PKG_TYPE=DO7
PKG PKG_TYPE=DO-35  PKG_TYPE=DO35
PKG PKG_TYPE=DO-41  PKG_TYPE=DO41
PKG PKG_TYPE=HC     PKG_TYPE=XTAL1
PKG PKG_TYPE=28JLCC PKG_TYPE=CC28
PKG PKG_TYPE=44JLCC PKG_TYPE=CC44
PKG PKG_TYPE=68JLCC PKG_TYPE=CC68
PKG PKG_TYPE=18PLCC PKG_TYPE=CCR18
PKG PKG_TYPE=68PGA  PKG_TYPE=PGA\68P
PKG PKG_TYPE=68PLP  PKG_TYPE=PGA\68P
PKG PKG_TYPE=68LPP  PKG_TYPE=PGA\68P

COM VALUE Value
COM TOLERANCE Tolerance
COM HYPERLYNX.MODEL Hyperlynx.Model
COM PART_NUMBER "\"Part Number\""               | The bounding double-quotes are stripped.
COM DESCRIPTION Description
COM COST Cost
COM MANUFACTURER_#1 "\"Manufacturer #1\""       | The \" combo character is used to pass a
COM MANUFACTURER_#2 "\"Manufacturer #2\""       | literal double-quote to the output.
NET POWERGROUND PowerGround
NET VOLTAGE Voltage
COM GEOMETRY.HEIGHT Geometry.Height
NET DFT.NAIL_COUNT_PER_NET "\"DFT.Nail Count Per Net\""
PIN DFT.NAIL_DIAMETER "\"DFT.Nail Diameter\""
PIN DFT.NAIL_NUMBER "\"DFT.Nail Number\""

EndAlsRules

BeginChkRules

| obj_type = { PIN, SPN, COM, SYM, NET, PKG, PPN, ANY, SYMCOM, etc. }
| severity = { ERR, WRN, NOT }

|******************************************************************
| CHKVAL syntax: CHKVAL routine_name obj_type attr_name severity 
|                       fixcode [arguments]
|    routine_nam = _NAME_CHK _LIST_CHK _ENUM_CHK _FND_CHAR _SIG_CHK
|                  _DUMMY_CHK _REG_EXP
|    attr_name = anything $OBJNAME $ATTNAME $ANY $DEFAULT

| NAME_CHK: checks for illegal character and length violations
|    Arguments: string replacement_char min_len max_len
|    string = legal_chars or ~illegal_chars (\t\n\r allowed)
|    max_len = * for none
|    fixcodes: 0=nothing, 1=replace_chars, 2=truncate, 3=replace_chars
|              and truncate

| !@#$%^&()_+|\-=[]:"~;'`<>?/ are legal characters in PADS
CHKVAL _NAME_CHK PPN    $OBJNAME   ERR 0 "~{}*,. \t\n\r" "" 1 4
CHKVAL _NAME_CHK SYMCOM REFDES     ERR 0 "~{}*,.` \t\n\r" "" 1 15
CHKVAL _NAME_CHK SYMCOM DEVICE     ERR 0 "~\\{}*,.` \t\n\r@" "" 1 40
CHKVAL _NAME_CHK SYMCOM PKG_TYPE   ERR 0 "~{}*,.` \t\n\r" "" 1 40
CHKVAL _NAME_CHK SYMCOM CLASS      ERR 0 "~{}*,.` \t\n\r" "" 1 *
CHKVAL _NAME_CHK SYM    Value      ERR 0 "~{}*,` \t\n\r@" "" 0 *
CHKVAL _NAME_CHK COM    Value      ERR 0 "~{}*,` \t\n\r@" "" 1 *
CHKVAL _NAME_CHK SYM    Tolerance  ERR 0 "~{}*,` \t\n\r@" "" 0 *
CHKVAL _NAME_CHK COM    Tolerance  ERR 0 "~{}*,` \t\n\r@" "" 1 *
CHKVAL _NAME_CHK SYMCOM ROTATION   ERR 0 "0-9." "" 1 7
CHKVAL _NAME_CHK NET    TRACEWIDTH ERR 0 "0-9" "" 1 3
CHKVAL _NAME_CHK NET    $OBJNAME   ERR 0 "~{}*, \t\n\r" "" 1 47
CHKVAL _NAME_CHK NET    "\"DFT.Nail Count Per Net\""  ERR 1 "0-9" "1" 1 6

| LIST_CHK: same as NAME_CHK, but does bus (list) expansion for
|    a list of values
|    fixcode: 0=nothing

CHKVAL _LIST_CHK SPN    #          ERR 0 "~{}*,. \t\n\r" "" 1 4
CHKVAL _LIST_CHK SYMCOM NC         ERR 0 "~{}*,.` \t\n\r" "" 1 4
CHKVAL _LIST_CHK SYMCOM PKGORDER   ERR 0 "~{}*,.` \t\n\r" "" 1 4
CHKVAL _LIST_CHK SYMCOM HETERO     ERR 0 "~." "" 1 *

| ENUM_CHK: check for an enumerated set of values
|    fixcode: 0=nothing

CHKVAL _ENUM_CHK SPNPIN PINTYPE    ERR 0  L S O C B T U L Z P G
CHKVAL _ENUM_CHK SYMCOM GLUE       ERR 0  TRUE FALSE
CHKVAL _ENUM_CHK SYMCOM GATESWAP   ERR 0  TRUE FALSE
CHKVAL _ENUM_CHK NET PowerGround   ERR 0  YES NO

| FND_CHAR: require a certain character (anywhere in string)
|    fixcodes: 0=nothing, 1=add character

CHKVAL _FND_CHAR SYM    REFDES  ERR 1 ?

| SIG_CHK: applies NET $OBJNAME checking to the string before ';'
|    and PPN $OBJNAME checking to the string after ';'.  The severity
|    specified here is not actually used
|    fixcode: 0=nothing

CHKVAL _SIG_CHK SYMCOM SIGNAL   ERR 0

|******************************************************************
| GENVAL syntax: GENVAL routine_name obj_type attr_name [arguments]

| DFLT_VAL: just uses the specified default value

GENVAL _DFLT_VAL SYM REFDES U?

| UNIQ_NUM: appends a unique number to an optional prefix
|           Arguments: [prefix] [start_number]

GENVAL _UNIQ_NUM NET $OBJNAME N

|******************************************************************
| ALLOW_DUPL syntax: ALLOW_DUPL obj_type attr_name

ALLOW_DUPL SYMCOM SIGNAL

|******************************************************************
| REQUIRE syntax: REQUIRE obj_type attr_name severity fixcode

REQUIRE SPN #         ERR 0
REQUIRE SYMCOM REFDES ERR 1

|******************************************************************
| CHKBRD syntax: CHKBRD routine_name severity fixcode [arguments]

CHKBRD _DUPL_ATTR   ERR 0  | Duplicate attribute
CHKBRD _BAD_SLOTCNT ERR 0  | Conflicting number of slots
CHKBRD _DUPL_PINS   ERR 0  | SIGNAL, NC, # conflicts
CHKBRD _BAD_PINSWAP ERR 0  | Bad PINSWAP attribute

CHKBRD _BAD_PIN_NUM ERR 1  | Component pin # not on symbol, 1=repack
CHKBRD _BAD_SIG_NUM ERR 0  | Component signal pin # not on symbol, 1=add it
CHKBRD _ILL_PINSWAP WRN 0  | Illegal pin swap
CHKBRD _MIXED_SLOT  ERR 1  | Pins from different slots on component, 1=repack

CHKBRD _SGL_PIN_NET WRN 0  | Single pin net, 1=omit
|CHKBRD _PIN_SHORTED NOT 0  | Pins shorted
CHKBRD _DUPL_FNAME1 ERR 0  | Duplicate component name
|CHKBRD _DUPL_FNAME2 ERR 0  | Component name duplicates a refdes
CHKBRD _DUPL_RNAME  WRN 0  | Duplicate Viewplace refdes
CHKBRD _DUPL_NNAME  WRN 0  | Duplicate net name

CHKBRD _REF_CONFL   ERR 1  | Refdes has conflicting attributes, 1=repack
CHKBRD _DEV_CONFL   ERR 1  | Refdes has conflicting devices, 1=repack
CHKBRD _DUPL_SLOT   ERR 1  | Duplicate slots, 1=repack
CHKBRD _COMM_PIN1   NOT 1  | Common pins, same nets, some unconnected, 1=repack
CHKBRD _COMM_PIN2   ERR 1  | Common pins, different nets, 1=repack
CHKBRD _COMM_PIN3   ERR 1  | Common pins, different attributes, 1=repack
CHKBRD _COMM_PIN4   ERR 1  | Common pins, net overrides SIGNAL, 1=repack
CHKBRD _UNUSED_SLOT NOT 0  | Unused slot
CHKBRD _UNCON_PIN   WRN 0  | Unconnected pin
CHKBRD _VDVP_PKG    NOT 1  | Viewdraw or Viewplace added or deleted package, 
			   |     1=update from Viewdraw
CHKBRD _VDVP_SHP    NOT 1  | Viewdraw or Viewplace shape changed,
			   |     1=update from Viewdraw
CHKBRD _VDVP_NET    NOT 1  | Viewdraw or Viewplace net on pin changed,
			   |     1=update from Viewdraw
CHKBRD _VDVP_ATT    NOT 1  | Viewdraw or Viewplace attribute changed,
			   |     1=update from Viewdraw
CHKBRD _MISSING_PIN NOT 0  | Viewdraw pin not found in Viewplace/Viewdraw
CHKBRD _EXTRA_PIN   NOT 0  | Viewplace/Viewdraw pin not found in Viewdraw

| Don't ever change the following line!!!
CHKBRD _BAD_HETERO  ERR 0  | Bad heterogeneous package
CHKBRD _HETERO_ATT  ERR 0  | Heterogeneous device attribute conflicts

FIX_SEVERITY NOT

FIRST_REFDES 1

EndChkRules

