<<>> <> <> <> <<>> (cedar-directory "Core") (cedar-imports "Convert" "CoreClasses" "CoreOps") (define-ref-type "Core" "Properties") <> (define-proc (int-to-string int) "convert int to string" result _ StringFromRope[Convert.RopeFromCard[TheINT[int]]]; ) <> (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]]]; ) <> (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; ) <> (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]]]; ) currentCellType: Core.CellType _ NIL; (define-proc (current-cell-type) "return current cell type" result _ currentCellType; ) <> (define-ref-type "CoreClasses" "RecordCellType") (define-proc (record-cell-type-internal record-cell-type) "recordCellType.internal" result _ TheRecordCellType[recordCellType].internal; ) (define-proc (record-cell-type-size record-cell-type) "recordCellType.size" result _ MakeFixnum[TheRecordCellType[recordCellType].size]; ) (define-proc (record-cell-type-instance record-cell-type instance) "recordCellType.instances[instance]" result _ TheRecordCellType[recordCellType].instances[TheINT[instance]]; ) (define-ref-type "CoreClasses" "CellInstance") (define-proc (cell-instance-actual cell-instance) "cellInstance.actual" result _ TheCellInstance[cellInstance].actual; ) (define-proc (cell-instance-type cell-instance) "cellInstance.type" result _ TheCellInstance[cellInstance].type; ) (define-proc (cell-instance-properties cell-instance) "cellInstance.properties" result _ TheCellInstance[cellInstance].properties; )