Directory Dragon; Imports IO; Library AddressCache, DataCache, HM6167; CELLTYPE "ProcessorCache" PORTS [ PhA, nPhA, PhB, nPhBBOOL, MnGntBOOL, -- Tristate MnAdCycle=BOOL, MTransport=INT[36], MParity=BOOL, MnShared=BOOL, MnAbort>BOOL, -- Tristate MnHousekeepingInProgress=BOOL, MnDV=BOOL, DShiftBOOL, -- Tristate IPData=INT[32], IPParityB=BOOL, IPCmdABOOL, -- Tristate IPFaultB>EnumType["Dragon.PBusFaults"], -- Tristate EPData=INT[32], EPParityB=BOOL, EPCmdABOOL, -- Tristate EPFaultB>EnumType["Dragon.PBusFaults"] -- Tristate ] Expand IMnMRq0, IMnMRq1, IMnMRq2, IMnMRq3: BOOL; IMnRq0, IMnRq1, IMnRq2, IMnRq3: BOOL; IMnGnt0, IMnGnt1, IMnGnt2, IMnGnt3: BOOL; IMnNewRq: BOOL; -- Tristate IMnAdCycle: BOOL; IMTransport: INT[36]; IMParity: BOOL; IMnShared: BOOL; IMnAbort: BOOL; -- Tristate IMnHousekeepingInProgress: BOOL; IMnDV: BOOL; RAddress: INT[14]; RnCS: BOOL; RnWE: BOOL; Vdd4: INT[4]; -- dump this when Rosemary 3.0 surfaces euc0: DataCache[PadVdd: Vdd, PadGnd: Gnd, PData: EPData, PParityB: EPParityB, PCmdA: EPCmdA, PRejectB: EPRejectB, PFaultB: EPFaultB, PnPError: nBoardError, MnRq: IMnRq0, IMnMRq: IMnMRq0, MnGnt: IMnGnt0, MnNewRq: IMnNewRq, MnAdCycle: IMnAdCycle, MTransport: IMTransport, MParity: IMParity, MnShared: IMnShared, MnAbort: IMnAbort, MnHousekeepingInProgress: IMnHousekeepingInProgress, MnError: nBoardError, MnDV: IMnDV, DnSelect: DnSelect0, PWriteEnable: Vdd4, PInternalParity: Gnd]; euc1: DataCache[PadVdd: Vdd, PadGnd: Gnd, PData: EPData, PParityB: EPParityB, PCmdA: EPCmdA, PRejectB: EPRejectB, PFaultB: EPFaultB, PnPError: nBoardError, MnRq: IMnRq1, IMnMRq: IMnMRq1, MnGnt: IMnGnt1, MnNewRq: IMnNewRq, MnAdCycle: IMnAdCycle, MTransport: IMTransport, MParity: IMParity, MnShared: IMnShared, MnAbort: IMnAbort, MnHousekeepingInProgress: IMnHousekeepingInProgress, MnError: nBoardError, MnDV: IMnDV, DnSelect: DnSelect1, PWriteEnable: Vdd4, PInternalParity: Gnd]; ifuc0: DataCache[PadVdd: Vdd, PadGnd: Gnd, PData: IPData, PParityB: IPParityB, PCmdA: IPCmdA, PRejectB: IPRejectB, PFaultB: IPFaultB, PnPError: nBoardError, MnRq: IMnRq2, IMnMRq: IMnMRq2, MnGnt: IMnGnt2, MnNewRq: IMnNewRq, MnAdCycle: IMnAdCycle, MTransport: IMTransport, MParity: IMParity, MnShared: IMnShared, MnAbort: IMnAbort, MnHousekeepingInProgress: IMnHousekeepingInProgress, MnError: nBoardError, MnDV: IMnDV, DnSelect: DnSelect2, PWriteEnable: Vdd4, PInternalParity: Gnd]; ifuc1: DataCache[PadVdd: Vdd, PadGnd: Gnd, PData: IPData, PParityB: IPParityB, PCmdA: IPCmdA, PRejectB: IPRejectB, PFaultB: IPFaultB, PnPError: nBoardError, MnRq: IMnRq3, IMnMRq: IMnMRq3, MnGnt: IMnGnt3, MnNewRq: IMnNewRq, MnAdCycle: IMnAdCycle, MTransport: IMTransport, MParity: IMParity, MnShared: IMnShared, MnAbort: IMnAbort, MnHousekeepingInProgress: IMnHousekeepingInProgress, MnError: nBoardError, MnDV: IMnDV, DnSelect: DnSelect3, PWriteEnable: Vdd4, PInternalParity: Gnd]; a0: AddressCache[PadVdd: Vdd, PadGnd: Gnd, MnError: nBoardError, DnSelect: DnSelect4, IMnError: nBoardError]; Cedar FOR i: CARDINAL IN [0..32) DO [] _ to.class.CellInstance[erInstance: to.instance, instanceName: IO.PutFR["cacheRAM%g", IO.int[i]], typeName: "HM6167", interfaceNodes: IO.PutFR["Din: IMTransport[%g], Dout: IMTransport[%g]", IO.int[i+4], IO.int[i+4]]]; ENDLOOP; ; parityRAM: HM6167[Din: IMParity, Dout: IMParity] ENDCELLTYPE \ProcessorCache.rose Last Edited by: Barth, April 25, 1985 9:43:18 pm PST Timing and housekeeping interface Main memory interface Serial debugging interface IFU interface EU interface Internal M bus RAM control Hack drop down 32 RAM chips This must be changed when Rosemary 3.0 is available to rip apart IMTransport for each of the RAM chips. Κ˜J™J™4J˜Jšœ˜J˜ J˜Jšœ(˜(J˜šΟkœ˜šœ˜J˜šœ!™!Jšœœ˜Jšœ œ˜Jšœ œΟc ˜—J˜šœ™Jšœœ˜Jšœœ˜ Jšœœ˜ Jšœœž ˜Jšœ œ˜Jšœ œ˜Jšœœ˜ Jšœ œ˜Jšœœž ˜Jšœœ˜Jšœœ˜ —J˜šœ™Jšœœ˜ Jšœ œ˜Jšœ6œ˜;Jšœœ˜ Jšœ œž ˜J˜—šœ ™ Jšœœ˜Jšœ œ˜Jšœ'˜'Jšœ œž ˜Jšœ(ž ˜3J˜—šœ ™ Jšœœ˜Jšœ œ˜Jšœ'˜'Jšœ œž ˜Jšœ'ž ˜2—J˜J˜—J˜˜J˜™Jšœ$œ˜)Jšœ œ˜%Jšœ$œ˜)Jšœ œž ˜Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ œž ˜Jšœœ˜ Jšœœ˜ J˜—™ Jšœ œ˜Jšœœ˜ Jšœœ˜ J˜—™Jšœœž'˜6J˜—Jšœα˜αJšœΰ˜ΰJšœα˜αJšœα˜αJšœm˜mJ˜J™˜Jšœg™gšœœœ ˜Icodešœά˜άJ˜Jšœ˜——J˜Jšœ0˜0—Kš ˜ J˜——…—