DIRECTORY CD, Commander, IFUAsm, IFUPW, Rope; IFUAsmBCDecode: CEDAR PROGRAM IMPORTS Commander, IFUAsm, IFUPW, Rope = BEGIN GND: Rope.ROPE = IFUPW.GND; VDD: Rope.ROPE = IFUPW.VDD; bcDecodeSeq: BOOL _ IFUAsm.sequential; BCDecodeXBufTop: LIST OF REF = IFUPW.LISTn[ "XBus." ]; BCDecodeXBuf: PROC[design: CD.Design] RETURNS[cell: IFUPW.ObjName] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "BCDecodeXBuf", type: IFUPW.LISTn["GPBuf"], top: BCDecodeXBufTop, ctl: LIST[NIL], in: LIST["XBus."], out: LIST[LIST[NIL, "XBusBAddr.", "XBusCAddr.", NIL]], bot: BCDecodeSwitchOutTop, seq: bcDecodeSeq ]}; BCDecodeSwitchOutTop: LIST OF REF = IFUPW.LISTn[ "XBus.", IFUPW.List4[NIL, "XBusBAddr.", "XBusCAddr.", NIL] ]; BCDecodeSwitchOut: PROC[design: CD.Design] RETURNS[cell: IFUPW.ObjName] = { cell _ IFUPW.SwitchBoxRow[ design: design, name: "BCDecodeSwitchOut", rowType: IFUPW.cmosMet2, topSeq: bcDecodeSeq, top: BCDecodeSwitchOutTop, left: LIST[ "XBusBAddr.0", "XBusBAddr.1", "XBusBAddr.2", "XBusBAddr.3", "XBusBAddr.4", "XBusBAddr.5", "XBusBAddr.6", "XBusBAddr.7", "XBusCAddr.0", "XBusCAddr.1", "XBusCAddr.2", "XBusCAddr.3", "XBusCAddr.4", "XBusCAddr.5", "XBusCAddr.6", "XBusCAddr.7" ], right: NIL, bot: BCDecoderBot, botSeq: bcDecodeSeq, fixGV: TRUE ]}; BCDecoderBot: LIST OF REF = IFUPW.LISTn[ "XBus."]; newDesign: Rope.ROPE _ IFUAsm.rootName.Cat["BCDecode"]; dataColRows: LIST OF IFUPW.UserProc _ LIST[ BCDecodeXBuf, BCDecodeSwitchOut ]; CDAssemble: IFUPW.UserProc= {RETURN[IFUPW.AssembleList[design, dataColRows]]}; CTAssemble: Commander.CommandProc = {[ ] _ IFUPW.AssembleList[IFUAsm.refDesign, dataColRows, newDesign, cmd]}; IFUAsm.RegDataColRows [procs: dataColRows, name: newDesign.Cat["Cell"]]; Commander.Register [proc: CTAssemble, key: newDesign.Cat["Cell"]]; IFUPW.Register [userProc: CDAssemble, name: newDesign.Cat["Cell"]]; END. ˆIFUAsmBCDecode.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Last Edited by June 17, 1985 3:00:15 pm PDT Êò˜šœ™Jšœ<™˜J—J˜JšœI˜IJšœF˜FJšœ9˜GJ˜Jšœ˜—J™J™—…—^ Ø