DIRECTORY DM, DragOpsCross, DMCtlBusModel; DMCtlBusModelImpl: CEDAR PROGRAM EXPORTS DMCtlBusModel = BEGIN OPEN DMCtlBusModel; Create: PUBLIC PROC [type: BusType] RETURNS [pbus: DM.Component] = { pbus _ NEW [DM.ComponentRec _ [ action: [Reset, PhA, EvPhA, PhB, EvPhB], history: NIL, componentType: $CtlBus, subComponents: NIL, specific: NEW [CtlBusSpecificRec _ [busType: type, signals: ALL[FALSE]]]]] }; Rd: PUBLIC PROC [sidx: SignalIndex, ctlBus: DM.Component] RETURNS [BOOL] = { pvt: CtlBusSpecific _ NARROW[ctlBus.specific]; RETURN [pvt.signals[sidx]] }; Dr: PUBLIC PROC [sidx: SignalIndex, ctlBus: DM.Component, value: BOOL] = { pvt: CtlBusSpecific _ NARROW[ctlBus.specific]; pvt.signals[sidx] _ value; }; PhA: DM.ActionProc = { }; EvPhA: DM.ActionProc = { }; PhB: DM.ActionProc = { }; EvPhB: DM.ActionProc = { }; Reset: DM.ActionProc = { component.history _ NIL }; END. œDMCtlBusModelImpl.mesa Written By: Pradeep Sindhu, September 3, 1985 10:39:43 pm PDT Last Edited By: Pradeep Sindhu September 3, 1985 10:59:47 pm PDT ΚΠ˜™J™=J™@—J˜codešΟk ˜ Kšœ˜ —J˜J˜šΟbœœ˜ Kšœœœ˜1K–36 sp tabStops˜•StartOfExpansionS -- [cache: CacheModels.Cache, addr: DragOpsCross.Word, fromJump: BOOL _ FALSE] -- š Οnœœœœœ˜Dšœœœ˜Kšœ(˜(Kšœ œ˜ K˜Kšœœ˜Kšœ œ/œœ˜J—K˜—K˜K˜š Ÿœœœœ œœ˜LKšœœ˜.Kšœ˜K˜K˜—š Ÿœœœœœ˜JKšœœ˜.Kšœ˜K˜—K˜šžœœ˜K˜—K˜šžœœ˜K˜—K˜–; -- [cache: CacheModels.Cache, addr: DragOpsCross.Word] -- šžœœ˜K˜K˜—–; -- [cache: CacheModels.Cache, addr: DragOpsCross.Word] -- šžœœ˜K˜K˜—–" -- [cache: CacheModels.Cache] -- šžœœ˜Kšœ˜K˜K˜—Kšœ˜K˜K˜—J˜—…—|θ