Browse Source

Add AO*211 and OA*211, fix MUX21

devel
Stefan Holst 1 year ago
parent
commit
80d26b6f0b
  1. 15
      src/kyupy/sim.py

15
src/kyupy/sim.py

@ -25,14 +25,19 @@ XOR4 = np.uint16(0b0110_1001_1001_0110)
XNOR2, XNOR3, XNOR4 = ~XOR2, ~XOR3, ~XOR4 XNOR2, XNOR3, XNOR4 = ~XOR2, ~XOR3, ~XOR4
AO21 = np.uint16(0b1110_1010_1110_1010) AO21 = np.uint16(0b1110_1010_1110_1010) # i0 | (i1 & i2)
AO22 = np.uint16(0b1111_1000_1000_1000) AO22 = np.uint16(0b1111_1000_1000_1000) # (i0 & i1) | (i2 & i3)
OA21 = np.uint16(0b1010_1000_1010_1000) OA21 = np.uint16(0b1010_1000_1010_1000) # i0 & (i1 | i2)
OA22 = np.uint16(0b1110_1110_1110_0000) OA22 = np.uint16(0b1110_1110_1110_0000) # (i0 | i1) & (i2 | i3)
AOI21, AOI22, OAI21, OAI22 = ~AO21, ~AO22, ~OA21, ~OA22 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)]) names = dict([(v, k) for k, v in globals().items() if isinstance(v, np.uint16)])

Loading…
Cancel
Save