Directory Rope, DragOpsCross; Imports EUOps, Dragon, RoseTypes, CacheOps, BitOps; Open EUOps; EULeftOp: CELL [ LeftOpBus > INT[32], aBus < INT[32], rBus < INT[32], cBus < INT[32], saveLeftOp < BOOL, EULeftOpSrcA < EnumType["Dragon.LeftOpSources"], rejectBA < BOOL, PhA, PhB LFD[rBus], -- also during a MulStep, responsability of the IFU cBus => LFD[cBus], aBus => LFD[aBus], -- watch out for illegal addresses ENDCASE => ERROR; LeftOpBus _ LTD[LeftOp]; }; ENDCELL; EURightOp: CELL [ RightOpBus > INT[32], bBus < INT[32], ConstBus < INT[32], rBus < INT[32], cBus < INT[32], EURightOpSrcA < EnumType["Dragon.RightOpSources"], rejectBA < BOOL, PhA, PhB LFD[rBus], cBus => LFD[cBus], contBus => LFD[ConstBus], bBus => LFD[bBus], ENDCASE => ERROR; RightOpBus _ LTD[RightOp]; }; ENDCELL; EUResult2B: CELL [ rBus > INT[32], sBus < INT[32], rejectBA < BOOL, PhA, PhB INT[32], parityStore > BOOL, bBus < INT[32], cBus < INT[32], -- used twice for bypass rBus < INT[32], EUStore2ASrcA < EnumType["Dragon.Store2ASources"], EUStore3AgetscBusB < BOOL, rejectBA < BOOL, PhA, PhB LFD[rBus], cBus => LFD[cBus], bBus => LFD[bBus], ENDCASE => ERROR; store3A _ IF EUStore3AgetscBusB THEN LFD[cBus] ELSE store2B; parityStore3A _ IF EUStore3AgetscBusB THEN CacheOps.Parity32[LFD[cBus]] ELSE CacheOps.Parity32[store2B]; -- the parity generator is after the mux, probably after the latch storeBus _ LTD[store3A]; parityStore _ parityStore3A; }; IF PhB THEN { store2B _ store2A; }; ENDCELL hEURegs.rose Last edited by: Monier, October 9, 1984 11:47:05 am PDT Output Input mux Mux selectors Reject Timing and housekeeping interface Output Input mux Mux selectors Reject Timing and housekeeping interface Output Input mux Reject Timing and housekeeping interface Output Input mux Mux selectors Reject Timing and housekeeping interface Data pipe ʘšÏb ™ Jšœ7™7—J™Jš œ˜Jšœ,˜3Jšœ˜ J˜šÐblœÏkœ˜šœ™Jšœ Ÿœ˜—šœ ™ JšœŸœ˜JšœŸœ˜JšœŸœ˜Jšœ Ÿœ˜—šœ ™ Jšœ1˜1—™Jšœ Ÿœ˜—šœ!™!Jšœ Ÿœ˜JšœŸœ˜ JšœŸ˜J˜—J˜šž˜Jšœ˜—J˜š ˜ š ŸœŸœŸœ ŸœŸœ Ÿœ˜1šœ ŸœŸ˜!Jšœ ŸœÏc3˜GJšœŸœ˜JšœŸœ "˜5JšŸœŸœ˜—Jšœ Ÿœ ˜J˜———JšŸœ˜J˜šž œŸœ˜šœ™Jšœ Ÿœ˜—šœ ™ JšœŸœ˜Jšœ Ÿœ˜JšœŸœ˜JšœŸœ˜—šœ ™ Jšœ2˜2—™Jšœ Ÿœ˜—šœ!™!Jšœ Ÿœ˜JšœŸœ˜ JšœŸ˜J˜—J˜šž˜Jšœ˜—J˜š ˜ šŸœŸœŸœ Ÿœ˜šœ ŸœŸ˜#JšœŸœ˜JšœŸœ˜Jšœ Ÿœ ˜JšœŸœ˜JšŸœŸœ˜—Jšœ Ÿœ ˜J˜———JšŸœ˜J˜šž œŸœ˜šœ™JšœŸœ˜—šœ ™ JšœŸœ˜—™Jšœ Ÿœ˜—šœ!™!Jšœ Ÿœ˜JšœŸœ˜ JšœŸ˜J˜—J˜šž˜Jšœ˜—J˜š ˜ šŸœŸœ˜Jšœ Ÿœ˜JšœŸœ ˜J˜———JšŸœ˜J˜šžœŸœ˜šœ™Jšœ Ÿœ˜JšœŸœ˜—šœ ™ JšœŸœ˜JšœŸœ ˜*JšœŸœ˜—šœ ™ Jšœ2˜2JšœŸœ˜—™Jšœ Ÿœ˜—šœ!™!Jšœ Ÿœ˜JšœŸœ˜ JšœŸ˜J˜—J˜šž˜J˜*JšœŸœ $˜9—J˜š ˜ šŸœŸœŸœ Ÿœ˜šœ ŸœŸ˜#JšœŸœ˜JšœŸœ˜JšœŸœ˜JšŸœŸœ˜—Jš œ ŸœŸœŸœŸœ ˜