from __future__ import print_function
from BinPy import *
# Usage of IC 4071:
ic = IC_4071()
print(ic.__doc__)
Quad 2 input OR gate Pin_3 = OR(Pin_1, Pin_2) Pin_4 = OR(Pin_5, Pin_6) Pin_10 = OR(Pin_8, Pin_9) Pin_11 = OR(Pin_12, Pin_13)
# The Pin configuration is:
inp = {2: 0, 3: 1, 4: 0, 5: 1, 7: 0, 9: 1, 10: 1, 11: 1, 12: 1, 14: 1}
# Pin initinalization
# Powering up the IC - using -- ic.setIC({14: 1, 7: 0}) -- \n
ic.setIC({14: 1, 7: 0})
# Setting the inputs of the ic
ic.setIC(inp)
# Draw the IC with the current configuration\n
ic.drawIC()
┌─────────◡─────────┐ │ │
- A1: [0] ──┤ 1 14 ├── [1] VCC
│ │ │ │
- B1: [0] ──┤ 2 4 13 ├── [0] A4:
│ │ │ │
- Q1: [1] ──┤ 3 0 12 ├── [1] B4:
│ │ │ │
- Q2: [0] ──┤ 4 7 11 ├── [1] Q4:
│ │ │ │
- B2: [1] ──┤ 5 1 10 ├── [1] Q3:
│ │ │ │
- A2: [0] ──┤ 6 9 ├── [1] B3:
│ │ │ │
- GND [0] ──┤ 7 8 ├── [0] A3:
│ │ └───────────────────┘
# Run the IC with the current configuration using -- print ic.run() --
# Note that the ic.run() returns a dict of pin configuration similar to
print (ic.run())
{11: 1, 10: 1, 3: 0, 4: 1}
# Seting the outputs to the current IC configuration using -- ic.setIC(ic.run()) --\n
ic.setIC(ic.run())
# Draw the final configuration
ic.drawIC()
┌─────────◡─────────┐ │ │
- A1: [0] ──┤ 1 14 ├── [1] VCC
│ │ │ │
- B1: [0] ──┤ 2 4 13 ├── [0] A4:
│ │ │ │
- Q1: [0] ──┤ 3 0 12 ├── [1] B4:
│ │ │ │
- Q2: [1] ──┤ 4 7 11 ├── [1] Q4:
│ │ │ │
- B2: [1] ──┤ 5 1 10 ├── [1] Q3:
│ │ │ │
- A2: [0] ──┤ 6 9 ├── [1] B3:
│ │ │ │
- GND [0] ──┤ 7 8 ├── [0] A3:
│ │ └───────────────────┘
# Seting the outputs to the current IC configuration using -- ic.setIC(ic.run()) --
ic.setIC(ic.run())
# Draw the final configuration
ic.drawIC()
# Run the IC
print (ic.run())
┌─────────◡─────────┐ │ │
- A1: [0] ──┤ 1 14 ├── [1] VCC
│ │ │ │
- B1: [0] ──┤ 2 4 13 ├── [0] A4:
│ │ │ │
- Q1: [0] ──┤ 3 0 12 ├── [1] B4:
│ │ │ │
- Q2: [1] ──┤ 4 7 11 ├── [1] Q4:
│ │ │ │
- B2: [1] ──┤ 5 1 10 ├── [1] Q3:
│ │ │ │
- A2: [0] ──┤ 6 9 ├── [1] B3:
│ │ │ │
- GND [0] ──┤ 7 8 ├── [0] A3:
│ │ └───────────────────┘
{11: 1, 10: 1, 3: 0, 4: 1}
# Connector Outputs
c = Connector()
# Set the output connector to a particular pin of the ic
ic.setOutput(3, c)
print(c)
Connector; State: 0