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 cell
* | 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 cell
* | parent | NODEPROTO | cell 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 cell is a part
* | cellview | VIEW | view of this cell
| creationdate | Integer | date this cell was created
| firstarcinst | ARCINST | head of list of wires in this cell
| firstinst | NODEINST | head of list of instances of this prototype
| firstnetwork | NETWORK | head of list of networks in this cell
| firstnodeinst | NODEINST | head of list of components in this cell
* | firstportproto | PORTPROTO | head of list of exports on this cell
* | 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 cell
* | lowx | Integer | low X coordinate in database units
* | lowy | Integer | low Y coordinate in database units
| newestversion | NODEPROTO | most recent version of this cell
| nextnodeproto | NODEPROTO | link to next prototype in lib/tech
| nextincell | NODEPROTO | next view in this cell
| revisiondate | Integer | date this cell was last modified
| rtree | RTNODE | root R-tree in this cell
* | 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 cell

These basic attributes exist on cells (CELL):
| ATTRIBUTE | TYPE | DESCRIPTION
* | cellname | String | name of this cell
* | firstincell | NODEPROTO | first cell 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 cell
| 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 cell
* | subportexpinst | PORTEXPINST | origin export component in cell
* | subportproto | PORTPROTO | origin port on component in cell
* | 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 cell
* | length | Integer | length in database units
* | network | NETWORK | network object
| nextarcinst | ARCINST | link to next wire in cell
* | nodeinst1 | NODEINST | component on end 1
* | nodeinst2 | NODEINST | component on end 2
* | parent | NODEPROTO | cell 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 | cell 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 cell in library
| firstcell | CELL | head of list of cells in library
| firstnodeproto | NODEPROTO | head of list of cells 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 | cell 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 cell
| screenly | Integer | low Y coordinate in cell
| screenhx | Integer | high X coordinate in cell
| screenhy | Integer | high Y coordinate in cell
| 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 | 16x16 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 |