Core.mx
Copyright Ó 1989 by Xerox Corporation. All rights reserved.
Barth, May 9, 1989 5:50:32 pm PDT
Wires
(define-ref-type "Core" "Wire")
(define-proc (create-wires size (name) (props))
"create a wire"
result ← CoreOps.CreateWires[TheINT[size], IF name#undefined THEN TheROPE[name] ELSE NIL, IF props#undefined THEN TheProperties[props] ELSE NIL];
)
(define-proc (wire-props wire)
"wire.properties"
result ← TheWire[wire].properties;
)
(define-proc (wire-size wire)
"wire.size"
result ← MakeFixnum[TheWire[wire].size];
)
(define-proc (wire-child wire child)
"wire.elements[child]"
result ← TheWire[wire].elements[TheINT[child]];
)
(define-proc (wire-name-short wire)
"short wire name"
result ← StringFromRope[CoreOps.GetShortWireName[TheWire[wire]]];
)
Cell Classes
(define-ref-type "Core" "CellClass")
(define-proc (cell-class-name cell-class)
"cellClass.name"
result ← StringFromRope[TheCellClass[cellClass].name];
)
(define-proc (cell-class-properties cell-class)
"cellClass.properties"
result ← TheCellClass[cellClass].properties;
)
(define-proc (record-cell-class)
"record cell class"
result ← CoreClasses.recordCellClass;
)
(define-proc (transistor-cell-class)
"transistor cell class"
result ← CoreClasses.transistorCellClass;
)
Cell Types
(define-ref-type "Core" "CellType")
(define-proc (cell-type-class cell-type)
"cellType.class"
result ← TheCellType[cellType].class;
)
(define-proc (cell-type-public cell-type)
"cellType.public"
result ← TheCellType[cellType].public;
)
(define-proc (cell-type-data cell-type)
"cellType.data"
result ← TheCellType[cellType].data;
)
(define-proc (cell-type-properties cell-type)
"cellType.properties"
result ← TheCellType[cellType].properties;
)
(define-proc (cell-type-to-basic cell-type)
"maximal recast of cell-type"
result ← CoreOps.ToBasic[TheCellType[cellType]];
)
(define-proc (cell-type-name cell-type)
"name of cell type"
result ← StringFromRope[CoreOps.GetCellTypeName[TheCellType[cellType]]];
)