diff --git a/src/kyupy/sim.py b/src/kyupy/sim.py index bdb4d95..3d5de82 100644 --- a/src/kyupy/sim.py +++ b/src/kyupy/sim.py @@ -25,14 +25,19 @@ XOR4 = np.uint16(0b0110_1001_1001_0110) XNOR2, XNOR3, XNOR4 = ~XOR2, ~XOR3, ~XOR4 -AO21 = np.uint16(0b1110_1010_1110_1010) -AO22 = np.uint16(0b1111_1000_1000_1000) -OA21 = np.uint16(0b1010_1000_1010_1000) -OA22 = np.uint16(0b1110_1110_1110_0000) +AO21 = np.uint16(0b1110_1010_1110_1010) # i0 | (i1 & i2) +AO22 = np.uint16(0b1111_1000_1000_1000) # (i0 & i1) | (i2 & i3) +OA21 = np.uint16(0b1010_1000_1010_1000) # i0 & (i1 | i2) +OA22 = np.uint16(0b1110_1110_1110_0000) # (i0 | i1) & (i2 | i3) AOI21, AOI22, OAI21, OAI22 = ~AO21, ~AO22, ~OA21, ~OA22 -MUX21 = np.uint16(0b1110_0100_1110_0100) +AO211 = np.uint16(0b1111_1110_1110_1110) # i0 | i1 | (i2 & i3) +OA211 = np.uint16(0b1000_1000_1000_0000) # i0 & i1 & (i2 | i3) + +AOI211, OAI211 = ~AO211, ~OA211 + +MUX21 = np.uint16(0b1100_1010_1100_1010) # z = i1 if i2 else i0 (i2 is select) names = dict([(v, k) for k, v in globals().items() if isinstance(v, np.uint16)])