module XCVR4X2 title 'Four-way 2-bit Bus Transceiver J. Wakerly, BNR, Inc.' "XCVR4X2 device 'P16L8'; " Input pins A1I, A2I pin 1, 11; !AOE, !BOE, !COE, !DOE, !MOE pin 2, 3, 4, 5, 6; S0, S1, S2 pin 7, 8, 9; " Output and bidirectional pins A1O, A2O pin 19, 12; B1, B2, C1, C2, D1, D2 pin 18, 17, 16, 15, 14, 13; " Set definitions ABUSO = [A1O,A2O]; ABUSI = [A1I,A2I]; BBUS = [B1,B2]; CBUS = [C1,C2]; DBUS = [D1,D2]; SEL = [S2,S1,S0]; CONST = [S1,S0]; " Constants SELA = [1,0,0]; SELB = [1,0,1]; SELC = [1,1,0]; SELD = [1,1,1]; equations ABUSO.OE = AOE & MOE; ABUSO = !S2&CONST # (SEL==SELB)&BBUS # (SEL==SELC)&CBUS # (SEL==SELD)&DBUS; BBUS.OE = BOE & MOE; BBUS = !S2&CONST # (SEL==SELA)&ABUSI # (SEL==SELC)&CBUS # (SEL==SELD)&DBUS; CBUS.OE = COE & MOE; CBUS = !S2&CONST # (SEL==SELA)&ABUSI # (SEL==SELB)&BBUS # (SEL==SELD)&DBUS; DBUS.OE = DOE & MOE; DBUS = !S2&CONST # (SEL==SELA)&ABUSI # (SEL==SELB)&BBUS # (SEL==SELC)&CBUS; end XCVR4X2