Using Electric 11-5: Interpreter Attributes

Chapter 11: INTERPRETERS

| ## 11-5: Interpreter Attributes |

When examining the database from the language interpreters, you have access to many attributes on the various objects. This section lists the predefined attributes on the different Electric objects. Those attributes with a (*) next to them are relatively important to database examination.

This section is not meant as a full explanation of the attributes in the Electric database, but rather is a quick list. For more detail on these and other aspects of Electric internals, see the Electric Internals Manual (a document that is available from Static Free Software).

These basic attributes exist on components (NODEINST):
| ATTRIBUTE | TYPE | DESCRIPTION
| aseen | Integer | flags for the database
| firstportarcinst | PORTARCINST | head of linked list of connecting arcs' ports
| firstportexpinst | PORTEXPINST | head of linked list of exports
| geom | GEOM | geometry module
* | highx | Integer | high X coordinate in database units
* | highy | Integer | high Y coordinate in database units
| lastinst | NODEINST | link to previous component of this type
| lastnodeinst | NODEINST | link to previous component in this facet
* | lowx | Integer | low X coordinate in database units
* | lowy | Integer | low Y coordinate in database units
| nextinst | NODEINST | link to next component of this type
| nextnodeinst | NODEINST | link to next component in this facet
* | parent | NODEPROTO | facet that contains this component
* | proto | NODEPROTO | type of this component
* | rotation | Integer | angle in degrees of this component
* | transpose | Integer | nonzero if component transposed after rot.
* | userbits | Integer | miscellaneous flags

These basic attributes exist on component prototypes (NODEPROTO):
| ATTRIBUTE | TYPE | DESCRIPTION
| adirty | Integer | flags for the database
* | cell | CELL | cell of which this facet is a part
* | cellview | VIEW | view of this facet
| creationdate | Integer | date this facet was created
| firstarcinst | ARCINST | head of list of wires in this facet
| firstinst | NODEINST | head of list of instances of this prototype
| firstnetwork | NETWORK | head of list of networks in this facet
| firstnodeinst | NODEINST | head of list of components in this facet
* | firstportproto | PORTPROTO | head of list of exports on this facet
* | highx | Integer | high X coordinate in database units
* | highy | Integer | high Y coordinate in database units
* | primindex | Integer | nonzero if this is a primitive prototype
| lastnodeproto | NODEPROTO | link to previous prototype in lib/tech
| lastversion | NODEPROTO | earlier version of this facet
* | lowx | Integer | low X coordinate in database units
* | lowy | Integer | low Y coordinate in database units
| newestversion | NODEPROTO | most recent version of this facet
| nextnodeproto | NODEPROTO | link to next prototype in lib/tech
| nextincell | NODEPROTO | next view in this cell
| revisiondate | Integer | date this facet was last modified
| rtree | RTNODE | root R-tree in this facet
* | primname | String | name of this primitives (if primitive)
* | tech | TECHNOLOGY | technology in which this primitive resides
* | userbits | Integer | miscellaneous flags
* | version | Integer | version number of this facet

These basic attributes exist on cells (CELL):
| ATTRIBUTE | TYPE | DESCRIPTION
* | cellname | String | name of this cell
* | firstincell | NODEPROTO | first facet in this cell
* | lib | LIBRARY | library containing this cell
* | nextcell | CELL | link to next cell in this library

These basic attributes exist on instantiated wire connections (PORTARCINST):
| ATTRIBUTE | TYPE | DESCRIPTION
* | conarcinst | ARCINST | wire that is connected at this port
| nextportarcinst | PORTARCINST | link to next instantiated wire connection
* | proto | PORTPROTO | prototype of the port that is connected

These basic attributes exist on instantiated export instances (PORTEXPINST):
| ATTRIBUTE | TYPE | DESCRIPTION
* | exportproto | PORTPROTO | export prototype on parent facet
| nextportexpinst | PORTEXPINST | link to next instantiated export connection
* | proto | PORTPROTO | prototype of the port that is an export

These basic attributes exist on connection prototypes (PORTPROTO):
| ATTRIBUTE | TYPE | DESCRIPTION
| aseen | Integer | flags for the database
* | connects | ARCPROTO array | array of arc types that may connect
* | network | NETWORK | network object
| nextportproto | PORTPROTO | link to next connection prototype
* | parent | NODEPROTO | component prototype with connection
* | protoname | String | name of connection
* | subnodeinst | NODEINST | origin component in facet
* | subportexpinst | PORTEXPINST | origin export component in facet
* | subportproto | PORTPROTO | origin port on component in facet
* | userbits | Integer | miscellaneous flags

These basic attributes exist on wires (ARCINST):
| ATTRIBUTE | TYPE | DESCRIPTION
| aseen | Integer | flags for the database
* | endshrink | Integer | data for nonmanhattan end shrinkage
* | geom | GEOM | geometry module
| lastarcinst | ARCINST | link to previous wire in facet
* | length | Integer | length in database units
* | network | NETWORK | network object
| nextarcinst | ARCINST | link to next wire in facet
* | nodeinst1 | NODEINST | component on end 1
* | nodeinst2 | NODEINST | component on end 2
* | parent | NODEPROTO | facet that contains this wire
* | portarcinst1 | PORTARCINST | instantiated wire connection on end 1
* | portarcinst2 | PORTARCINST | instantiated wire connection on end 2
* | proto | ARCPROTO | type of this wire
* | userbits | Integer | miscellaneous flags
* | width | Integer | width in database units
* | xpos1 | Integer | X coordinate of end 1 in database units
* | xpos2 | Integer | X coordinate of end 2 in database units
* | ypos1 | Integer | Y coordinate of end 1 in database units
* | ypos2 | Integer | Y coordinate of end 2 in database units

These basic attributes exist on wire prototypes (ARCPROTO):
| ATTRIBUTE | TYPE | DESCRIPTION
| arcindex | Integer | 0-based index of this arc type
| nextarcproto | ARCPROTO | link to next arc type in this technology
* | nominalwidth | Integer | default wire width in database units
* | protoname | String | name of this wire type
* | tech | TECHNOLOGY | technology in which this wire type resides
* | userbits | Integer | miscellaneous flags

These basic attributes exist on networks (NETWORK):
| ATTRIBUTE | TYPE | DESCRIPTION
* | netname | String | name of this network
| namecount | Integer | number of names
| arccount | Integer | number of arcs on this network
| arcaddr | ARCINST array | address of arc(s) on this network
| refcount | Integer | number of arcs on network
| portcount | Integer | number of ports on this network
| buslinkcount | Integer | number of busses referencing this network
* | parent | NODEPROTO | facet that has this network
* | signals | Integer | width of bus or index into bus
* | networklist | NETWORK array | list of single-wire networks on bus
| nextnetwork | NETWORK | next in linked list
| lastnetwork | NETWORK | previous in linked list

These basic attributes exist on geometric objects (GEOM):
| ATTRIBUTE | TYPE | DESCRIPTION
* | entryisnode | Integer | nonzero for component
* | entryaddr | NODEINST or ARCINST | address of component or wire
* | highx | Integer | high X coordinate in database units
* | highy | Integer | high Y coordinate in database units
* | lowx | Integer | low X coordinate in database units
* | lowy | Integer | low Y coordinate in database units

These basic attributes exist on R-tree nodes (RTNODE):
| ATTRIBUTE | TYPE | DESCRIPTION
* | flag | Integer | nonzero if pointers are terminal (geom)
* | highx | Integer | high X coordinate in database units
* | highy | Integer | high Y coordinate in database units
* | lowx | Integer | low X coordinate in database units
* | lowy | Integer | low Y coordinate in database units
* | parent | RTNODE | parent R-tree node
* | pointers | RTNODE array | children (type depends on "flag")
* | total | Integer | number of children in this node

These basic attributes exist on cell libraries (LIBRARY):
| ATTRIBUTE | TYPE | DESCRIPTION
* | curnodeproto | NODEPROTO | currently edited facet in library
| firstcell | CELL | head of list of cells in library
| firstnodeproto | NODEPROTO | head of list of facets in library
| lambda | Integer array | values of lambda for all technologies
* | libname | String | name of this library
* | libfile | String | disk file associated with this library
| nextlibrary | LIBRARY | link to next library in Electric
* | userbits | Integer | miscellaneous flags

These basic attributes exist on design environment objects (TECHNOLOGY):
| ATTRIBUTE | TYPE | DESCRIPTION
* | deflambda | Integer | value of lambda in database units
| firstarcproto | ARCPROTO | head of list of wire types in this technology
| firstnodeproto | NODEPROTO | head of list of primitive components
| techindex | Integer | 0-based index of this technology
* | nexttechnology | TECHNOLOGY | link to next technology in Electric
* | techdescript | String | long description of this technology
* | techname | String | short name of this technology
| userbits | Integer | miscellaneous flags (none at present)

These basic attributes exist on views (VIEW):
| ATTRIBUTE | TYPE | DESCRIPTION
* | nextview | VIEW | link to next view
* | viewname | String | name of this view
* | sviewname | String | abbreviated name of this view

These basic attributes exist on editing window partition objects (WINDOWPART):
| ATTRIBUTE | TYPE | DESCRIPTION
* | curnodeproto | NODEPROTO | facet in window
* | gridx | Integer | X spacing of grid
* | gridy | Integer | Y spacing of grid
| lastwindowpart | WINDOWPART | last in linked list
* | location | String | name of window
| nextwindowpart | WINDOWPART | next in linked list
| screenlx | Integer | low X coordinate in facet
| screenly | Integer | low Y coordinate in facet
| screenhx | Integer | high X coordinate in facet
| screenhy | Integer | high Y coordinate in facet
| state | Integer | miscellaneous information about window
| uselx | Integer | low X coordinate on screen
| usely | Integer | low Y coordinate on screen
| usehx | Integer | high X coordinate on screen
| usehy | Integer | high Y coordinate on screen

These basic attributes exist on graphical attribute objects (GRAPHICS):
| ATTRIBUTE | TYPE | DESCRIPTION
* | bits | Integer | bitplanes of color display
* | col | Integer | color to use
* | raster | Integer array | 16x8 bit pattern

These basic attributes exist on editing constraint objects (CONSTRAINT):
| ATTRIBUTE | TYPE | DESCRIPTION
* | conname | String | name of constraint system
* | condesc | String | description of constraint system

These basic attributes exist on synthesis and analysis tools (AID):
| ATTRIBUTE | TYPE | DESCRIPTION
* | aidname | String | name of this tool
* | aidstate | Integer | miscellaneous flags
* | aidindex | Integer | 0-based index of this tool

These basic attributes exist on polygons (POLYGON):
| ATTRIBUTE | TYPE | DESCRIPTION
* | count | Integer | number of points
* | desc | GRAPHICS | graphic appearance
* | font | Integer | font size
* | layer | Integer | layer number
| limit | Integer | max allocated points
* | portproto | PORTPROTO | port association
* | string | String | message (if text style)
* | style | Integer | style
* | tech | TECHNOLOGY | technology
* | xv | Integer array | X coordinate values
* | yv | Integer array | Y coordinate values

| Previous |  |  | Table of Contents |  | Next |