Definitions: Accounting: '(' 'Accounting' ! Identifier [String] ')' Annotate: '(' 'Annotate' ! String Point Point Justify ')' Apply: '(' 'Apply' ! WholeNumber Number (LogicInput | LogicOutput | Comment | UserData)* ')' Arbitrate: '(' 'Arbitrate' ! Pairwise ')' Arc: '(' 'Arc' ! Point Point Point ')' ArrayDefinition: '(' 'ArrayDefinition' ! Identifier WholeNumber* ')' ArrayRelatedInfo: '(' 'ArrayRelatedInfo' ! ArrayUse [(Socket | Plug)] (Comment | UserData)* ')' ArrayUse: ('ArrayMacro' | 'ArraySite' | 'BaseArray') Assign: '(' 'Assign' ! Identifier Expression* ')' Block: '(' 'Block' ! Form* ')' Body: '(' 'Body' ! (FigureGroup | Comment | Property)* ')' Boolean: (0..0 & (True | False) | 1..2 & Expression) BorderPattern: '(' 'BorderPattern' ! Integer String ')' Build: '(' 'Build' ! KeyRef (FormalValue | ForEach | Index | Comment)* ')' BuildName: '(' 'BuildName' ! String ')' Cell: '(' 'Cell' ! Identifier [Status] [Rename] [ViewMap] (View | Comment | UserData)* ')' Circle: '(' 'Circle' ! Point Point Property* ')' Color: '(' 'Color' ! Integer Integer Integer ')' Comment: '(' 'Comment' ! String* ')' Condition: '(' 'Condition' ! WFF* ')' Constraint: '(' 'Constraint' ! Boolean* Property* ')' Contents: '(' 'Contents' ! (Define | Instance | Unused | Global | Joined | TwoDArrayJoin | MustJoin | Required | Measured | CriticalSignal | FigureGroup | Annotate | Wire | Section | <LogicModel> | Comment | UserData | Level1Ctl | Level2Ctl)* ')' Coordinate: (0..0 & WholeNumber | 1..2 & Expression) Corner: (Point | Arc) CriticalSignal: '(' 'CriticalSignal' ! WholeNumber Identifier* ')' Data: (String | Value | Boolean) Default: 1..2 & '(' 'Default' ! PrimitiveData* ')' Define: '(' 'Define' ! Direction Type DefineObjects [1..2 & Default] Rename* ')' DefineObject: (Identifier | ArrayDefinition) DefineObjects: (DefineObjectsAux | DefineObject) DefineObjectsAux: '(' 'Multiple' ! DefineObject* ')' Delay: '(' 'Delay' ! Transition* Reference* ')' Design: '(' 'Design' ! Identifier Reference [Status] [Rename] (Comment | Property)* ')' Direction: ('local' | 'input' | 'inout' | 'output' | 'unspecified') Dot: '(' 'Dot' ! Point Property* ')' EDIF: '(' 'EDIF' ! Identifier Status Keyword* [Rename] (Design | External | Library | Comment | UserData)* ')' EDIFLevel: '(' 'EDIFLevel' ! EDIFLevelName ')' EDIFLevelName: ('0' | '1' | '2') EDIFVersion: '(' 'EDIFVersion' ! Integer Integer Integer ')' Escape: '(' 'Escape' ! Boolean Form* ')' Expression: (Primitive | Identifier | FunctionApplication) External: '(' 'External' ! Identifier [Status] [Rename] ')' Extra: '(' 'Extra' ! Identifier* ')' False: '(' 'False' ! ')' Figure: ('Polygon' | 'Path' | 'Rectangle' | 'Dot' | 'Shape' | 'OpenShape' | 'Circle' | 'Annotate') FigureGroup: '(' 'FigureGroup' ! FigureGroupRef (Figure | SignalGroup | Comment | UserData)* ')' FigureGroupDefault: '(' 'FigureGroupDefault' ! (FigureGroupSpecification | Comment | UserData)* ')' FigureGroupRef: (Identifier | FigureGroupSpecification) FigureGroupSpecification: '(' 'FigureGroupSpecification' ! Identifier (<Width> | <PathType> | <BorderPattern> | <FillPattern> | <Color> | Comment | UserData)* ')' FillPattern: '(' 'FillPattern' ! Integer Integer String ')' ForEach: '(' 'ForEach' ! NameRefs (FormalValue | ForEach | Index | Comment)* ')' Formal: '(' 'Formal' ! Identifier* ')' FormalValue: (String | Integer | Identifier | BuildName | Build) FunctionApplication: '(' Identifier ! Expression* ')' FunctionName: 1..2 & ('+' | '-' | '*' | '/' | 'abs' | 'floor' | 'fix' | 'ceiling' | 'xcoord' | 'ycoord' | 'point' | 'concat' | 'and' | 'or' | 'xor' | 'not' | 'false' | 'true' | 'andnot' | '<' | '=' | '>') Global: '(' 'Global' ! Identifier* ')' GridMap: '(' 'GridMap' ! Number Number ')' IgnoreValue: '(' 'IgnoreValue' ! Identifier ')' Index: '(' 'Index' ! Identifier ')' Instance: '(' 'Instance' ! References Identifier Identifier [Rename] [Transform] Parameter* Property* PortInstance* ')' InstanceMap: '(' 'InstanceMap' ! (Reference | Comment | UserData)* ')' Interface: '(' 'Interface' ! (Define | Unused | Joined | TwoDArrayJoin | WeakJoined | MustJoin | Permutable | Timing | Simulate | <Body> | PortImplementation | <ArrayRelatedInfo> | Comment | UserData | Level1Ctl | Level2Ctl)* ')' Isolated: '(' 'Isolated' ! Identifier ')' Iterate: '(' 'Iterate' ! Form* ')' Joined: '(' 'Joined' ! (Reference | Joined | WeakJoined)* ')' Justify: ('LowerRight' | 'LowerCenter' | 'LowerLeft' | 'CenterRight' | 'CenterCenter' | 'CenterLeft' | 'UpperRight' | 'UpperCenter' | 'UpperLeft') KeyRef: (Identifier | String) Keyword: '(' 'Keyword' ! Identifier (Formal | Optional | Extra | FormalValue | ForEach | Comment)* ')' Level1Ctl: 1..2 & (Repeat | Constraint | Assign) Level2Ctl: 2..2 & (Block | Escape | Iterate | Redo) Library: '(' 'Library' ! Identifier [Status] [Technology] [Rename] (Cell | Comment | UserData)* ')' LogicInput: '(' 'LogicInput' ! NameRefs LogicWaveform ')' LogicModel: '(' 'LogicModel' ! Identifier LogicOtherwise (LogicState | Comment | UserData)* ')' LogicOtherwise: '(' 'LogicOtherwise' ! Identifier ')' LogicOutput: '(' 'LogicOutput' ! NameRefs LogicWaveform ')' LogicState: '(' 'LogicState' ! Condition* Result ')' LogicWaveform: '(' 'LogicWaveform' ! Identifier* ')' Measured: '(' 'Measured' ! Identifier Delay* ')' Member: '(' 'Member' ! Name WholeNumber* ')' MiNoMax: '(' 'MiNoMax' ! RangeValue RangeValue RangeValue ')' MustJoin: '(' 'MustJoin' ! (Reference | Joined | WeakJoined)* ')' Name: Identifier NameRef: (Name | Member) NameRefs: (NameRefsAux | Identifier) NameRefsAux: '(' 'Multiple' ! Identifier* ')' NonPermutable: '(' 'NonPermutable' ! (Identifier | NonPermutable | Permutable)* ')' Number: (0..0 & (Integer | ScaledInteger) | 1..2 & Expression) NumberDefinition: '(' 'NumberDefinition' ! UnitSystem (Scale | Comment | UserData)* ')' OpenShape: '(' 'OpenShape' ! Corner* Property* ')' Optional: '(' 'Optional' ! Identifier FormalValue ')' Orientation: ('r0' | 'r90' | 'r180' | 'r270' | 'mx' | 'myr90' | 'my' | 'mxr90') Pairwise: '(' 'Pairwise' ! Identifier* ')' Parameter: '(' 'Parameter' ! Identifier ParameterValue ')' ParameterValue: (0..0 & (ParameterValueAux | PrimitiveData) | 1..2 & (ParameterValueAux | Expression)) ParameterValueAux: (0..0 & '(' 'Multiple' ! PrimitiveData* ')' | 1..2 & '(' 'Multiple' ! Expression* ')') Path: '(' 'Path' ! Point* Property* ')' PathType: '(' 'PathType' ! Style Style ')' Permutable: '(' 'Permutable' ! (Identifier | NonPermutable | Permutable)* ')' Place: (Coordinate | Step) Plug: '(' 'Plug' ! SocketSet* ')' Point: (0..0 & '(' 'Point' ! Coordinate Coordinate ')' | 1..2 & Expression) Polygon: '(' 'Polygon' ! Point* Property* ')' PortImplementation: '(' 'PortImplementation' ! Identifier (FigureGroup | Comment | Property)* ')' PortInstance: '(' 'PortInstance' ! Identifier Property* ')' PortListAlias: '(' 'PortListAlias' ! Identifier NameRefs ')' PortMap: '(' 'PortMap' ! (Reference | Comment | UserData)* ')' Primitive: (String | Integer | ScaledInteger) PrimitiveData: (Primitive | True | False) Property: '(' 'Property' ! PropertyType Identifier [Data] (Comment | Property)* ')' PropertyType: ('EDIF' | 'User' | Identifier) RangeValue: (Number | Undefined | Unconstrained) Rectangle: '(' 'Rectangle' ! Point Point Property* ')' Redo: '(' 'Redo' ! Boolean Form* ')' Reference: (ReferenceAux | NameRef) ReferenceAux: '(' 'Qualify' ! NameRef* ')' References: (ReferencesAux | Reference) ReferencesAux: '(' 'Multiple' ! Reference* ')' Rename: '(' 'Rename' ! Identifier String ')' Repeat: 1..2 & '(' 'Repeat' ! Identifier Integer Integer Integer Form* ')' Required: '(' 'Required' ! Identifier Delay* ')' Result: '(' 'Result' ! WFF* ')' Scale: '(' 'Scale' ! UnitType Number Number ')' ScaledInteger: '(' 'e' ! Integer Integer ')' ScaleX: '(' 'ScaleX' ! Coordinate Coordinate ')' ScaleY: '(' 'ScaleY' ! Coordinate Coordinate ')' Section: '(' 'Section' ! String (String | Instance | Section)* ')' Shape: '(' 'Shape' ! Corner* Property* ')' SignalGroup: '(' 'SignalGroup' ! Identifier (FigureGroup | Comment | UserData)* ')' Simulate: '(' 'Simulate' ! Identifier Identifier (<Rename> | PortListAlias | <IgnoreValue> | WaveValue | Apply | Comment | UserData)* ')' SimulationInfo: '(' 'SimulationInfo' ! Identifier SimulationValue Arbitrate Isolated [Rename] ')' SimulationMap: '(' 'SimulationMap' ! Reference Reference (StateMap | Comment | UserData)* ')' SimulationValue: '(' 'SimulationValue' ! Identifier* ')' Socket: '(' 'Socket' ! Transform* ')' SocketSet: '(' 'SocketSet' ! Instance* Transform* ')' Stable: '(' 'Stable' ! Identifier Number Number Identifier Identifier Identifier ')' StateMap: '(' 'StateMap' ! Identifier+ ')' Status: '(' 'Status' ! [EDIFVersion] [EDIFLevel] (Written | Comment | UserData)* ')' Step: '(' 'Step' ! Coordinate WholeNumber Coordinate ')' Style: ('extend' | 'truncate' | 'round') Technology: '(' 'Technology' ! Identifier [NumberDefinition] (Define | <Rename> | SimulationInfo | SimulationMap | <GridMap> | <FigureGroupDefault> | Comment | UserData | Level1Ctl | Level2Ctl)* ')' TimeStamp: '(' 'TimeStamp' ! Integer Integer Integer Integer Integer Integer ')' Timing: '(' 'Timing' ! Identifier (Delay | Stable | Comment | UserData)* ')' Transform: '(' 'Transform' ! [ScaleX] [ScaleY] [Orientation] [Translate] ')' Transition: '(' 'Transition' ! Identifier Identifier Value [Value] ')' Translate: '(' 'Translate' ! Place Place ')' True: '(' 'True' ! ')' TwoDArrayJoin: '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Joined' '(' 'Qualify' Identifier '(' 'Member' Identifier Identifier Identifier ')' ')' '(' 'Qualify' Identifier '(' 'Member' Identifier Identifier Identifier ')' ')' ')' ')' ')' ')' ')' Type: ('figuregroup' | 'port' | 'signal' | 1..2 & 'String' | 1..2 & 'Integer' | 1..2 & 'Number' | 1..2 & 'Boolean' | 1..2 & 'Point' | 1..2 & UnitType) Unconstrained: '(' 'Unconstrained' ! ')' Undefined: '(' 'Undefined' ! ')' UnitSystem: ('si' | Identifier) UnitType: ('capacitance' | 'current' | 'distance' | 'resistance' | 'termperature' | 'time' | 'voltage') Unused: '(' 'Unused' ! Reference* ')' UserData: '(' 'UserData' ! Identifier Form* ')' Value: (Number | MiNoMax) View: '(' 'View' ! ViewType Identifier [Status] [Interface] [Contents] [Rename] (Comment | Property)* ')' ViewMap: '(' 'ViewMap' ! (PortMap | InstanceMap | Comment | UserData | Level2Ctl)* ')' ViewType: ('document' | 'behavior' | 'netlist' | 'schematic' | 'symbolic' | 'masklayout' | 'stranger') WaveValue: '(' 'WaveValue' ! Identifier Number LogicWaveform ')' WeakJoined: '(' 'WeakJoined' ! (Reference | Joined | WeakJoined)* ')' WFF: '(' 'WFF' ! Identifier Identifier Number Number ')' WholeNumber: (0..0 & Integer | 1..2 & Expression) Width: '(' 'Width' ! Coordinate ')' Wire: '(' 'Wire' ! Identifier Identifier [FigureGroup] Property* ')' Written: '(' 'Written' ! TimeStamp (Accounting | Comment | UserData)* ')' ������Ê6��˜�Icode˜�KšÐbl˜Kšœ Ïbœž œÏi œŸœžœ˜6Kš œžœžœŸœžœ˜9šœžœžœ˜(Kšœ/Ïuœžœ˜4—Kšœžœž œžœ˜)Kšœžœžœžœ˜&KšœžœžœŸ œ œžœ˜Dšœžœžœ˜FKšœ œžœ˜—Kšœž œž œž œ˜4Kšœ žœžœŸ œ œžœ˜1Kš œžœžœŸ œžœ˜Kš œžœžœ& œžœ˜:K˜4Kšœžœž œŸœŸœžœ˜7Kš œžœžœ4 œžœ˜JKš œžœž œŸœžœ˜'šœžœžœŸ œ˜:Kšœ œžœ˜ —Kš œ žœžœ œžœ˜0Kš œžœžœŸœŸœŸœžœ˜0Kš œ žœžœŸ œžœ˜$Kš œžœž œ œžœ˜%Kšœ žœž œ œ œžœ˜5šœžœžœ˜˜>K˜@K˜@Kšœ œžœ˜——K˜4K˜Kš œžœžœŸ œžœ˜BKšœŸœ˜ Kš œžœžœ œžœ˜2šœ žœžœ2˜EKšœ œžœ˜—KšœŸ œ˜,K˜0Kš œžœžœ œžœ˜4Kšœžœžœ œ œžœ˜/šœ žœžœŸ œ˜>Kšœ œžœ˜—Kšœ žœžœžœžœžœ˜CKš œžœžœ œžœ˜$š œžœžœŸ œ œ ˜7Kšœ2 œžœ˜7—Kšœžœž œžœ˜.Kšœžœžœžœ˜ Kš œžœžœŸœŸœŸœžœ˜<Kš œ žœžœŸ œžœ˜(KšœŸ œ˜:Kš œžœžœŸ œžœ˜;Kš œžœžœŸ œžœ˜$Kšœžœžœžœ˜š œ žœžœž œžœžœž œ˜JKšœžœžœ˜—šœžœžœ˜0Kšœ+ œžœ˜0—šœžœžœ˜/Kšœ/ œžœ˜4—KšœŸ œ˜7šœžœžœŸ œ˜F˜BKšœ œžœ˜——Kš œžœžœŸœŸœŸœžœ˜;šœ žœžœ ˜"Kšœ) œžœ˜.—Kš œ žœžœŸ œžœ˜&KšœŸœŸœŸ œ˜@Kš œžœŸ œ œžœ˜5šœžœžœžœžœžœžœžœ˜FKšœžœžœžœžœžœžœžœ˜FKšœžœžœžœžœžœžœžœžœ˜@—Kš œ žœžœŸ œžœ˜&Kšœ žœžœžœ˜*Kš œžœžœŸ œžœ˜/Kš œžœžœŸ œžœ˜#š œžœžœŸ œŸ œ ˜EKš œ œ œ œžœ˜2—Kš œžœžœ$ œžœ˜Fšœžœž œ˜˜BK˜?KšœB œžœ˜G——Kš œžœžœŸ œžœ˜)Kš œ žœžœŸ œžœ˜"Kš œ žœžœ% œžœ˜=š œž œžœž œžœ˜EKš œžœž œž œžœ˜?Kšœž œ˜—Kšœ Ÿ œŸœ˜šœ žœžœŸ œ˜$Kšœ= œžœ˜B—K˜0K˜3šœ žœžœŸ œ ˜CKšœ œžœ˜ —Kšœ žœž œžœ˜9šœ žœž œŸ œ˜9Kšœ! œžœ˜&—Kš œžœžœŸ œžœ˜5Kšœžœžœžœ˜;Kš œ žœž œ œ žœ˜4Kš œžœž œŸ œžœ˜4KšœžœžœŸ œ œžœ˜0Kš œ žœžœ œžœ˜,Kšœ žœžœ&žœ˜=Kš œžœžœ% œžœ˜AKšœŸ ˜K˜KšœŸ œ˜$Kš œžœžœŸ œžœ˜-šœžœž œ˜%KšœŸ œ œžœ˜.—KšœŸœ&˜>šœžœžœ˜6Kšœ œžœ˜!—Kšœžœž œ œ œžœ˜2Kš œžœžœŸ œžœ˜5šœžœžœžœžœžœžœžœ˜EKšœžœ˜ —Kš œžœžœŸ œžœ˜*Kš œžœž œŸ œžœ˜:˜<K˜*—š œžœžœ œžœ˜?Kš œ žœžœ œžœ˜*—Kšœžœžœ œ œžœ˜'Kšœžœžœžœ˜*šœ žœž œ˜KšœŸ œ œžœ˜.—K˜Kš œžœžœ œžœ˜!Kšœžœžœžœ˜KKšœ žœžœ œ œžœ˜-šœžœžœŸ œ˜:Kšœ" œžœ˜'—KšœžœžœŸ œ œžœ˜;Kš œžœž œŸ œžœ˜<Kš œ žœžœ$ œžœ˜>KšœŸœŸœ˜-K˜)šœžœžœŸ œ˜:Kšœ œžœ˜—KšœžœžœŸ œ˜,K˜0Kš œžœž œ œžœ˜6Kš œžœžœŸ œžœ˜$K˜#Kš œžœžœ œžœ˜*K˜'Kš œžœžœ œžœ˜.Kšœ žœžœŸ œŸœžœ˜,KšœžœžœŸ œŸœŸœŸœŸ œžœ˜JKšœžœžœŸ œ œžœ˜0Kš œ žœžœ œžœ˜Kšœžœžœžœ˜/KšœžœžœŸœŸœžœ˜,Kšœ žœžœžœ˜0Kšœ žœžœžœ˜0Kš œ žœžœŸœŸœ œžœ˜BKšœžœžœ œ œžœ˜*šœžœžœŸ œ˜,Kšœ" œžœ˜'—š œžœžœŸ œŸ œ˜1˜>Kšœ œžœ˜——šœžœžœŸ œ˜BKšœžœ˜—šœžœž œ˜9Kšœ œžœ˜$—Kš œžœžœŸ œžœ˜8Kš œ žœžœ œžœ˜%Kšœžœž œ œ œžœ˜5šœ žœžœŸ œŸ œŸ œ˜FKšŸ œžœ˜—Kš œžœžœŸ œžœ˜*šœ žœžœ˜1Kšœ œžœ˜#—Kšœžœžœ'žœ˜8Kšœ žœžœžœ˜(šœ žœž œŸ œ˜=˜@K˜8Kšœ œžœ˜——šœžœž œŸœŸœŸœŸœŸœ˜EKšŸœžœ˜—šœ žœžœŸ œ˜"Kšœ% œžœ˜*—šœžœž œ$˜=Kšœ žœ˜—Kšœ žœž œŸ œŸ œžœ˜FKšœžœž œžœ˜,Kšœžœžœžœ˜š œžœžœŸ œžœ˜Cš œžœžœŸ œžœ˜4š œžœžœŸ œžœ˜4š œžœžœŸ œžœ˜4šœžœžœ˜ šœžœžœŸ œ˜KšœžœžœŸ œŸ œŸ œžœžœ˜6—šœžœžœŸ œ˜KšœžœžœŸ œŸ œŸ œžœžœžœžœžœžœžœ˜I——————š œžœžœžœžœ˜;Kšœ žœžœžœ˜8Kšœ žœ˜#—Kšœžœž œžœ˜(Kšœžœž œžœ˜ KšœžœŸ œ˜š œžœžœžœž œ˜AKšœžœžœžœ˜&—Kš œ žœžœ œžœ˜%KšœžœžœŸ œŸ œžœ˜/K˜šœžœžœ Ÿ œ!˜GKšœ œžœ˜"—šœ žœžœ˜Kšœ8 œžœ˜=—šœžœžœžœž œžœ˜JKšœž œžœ˜—Kš œžœž œŸ œžœ˜@Kš œ žœž œ% œžœ˜EKšœžœžœŸ œŸ œžœ˜8KšœŸœ˜1Kšœžœžœžœ˜#Kš œžœžœŸ œŸ œ œžœ˜DKš œ žœžœ/ œžœ˜I—�…—����+6��<r��