ic¶
Submodules¶
- base
- series_4000
- series_7000
base¶
This module includes all the base classes for different ICs.
-
class
BinPy.ic.base.Base_14pin¶ Bases:
BinPy.ic.base.ICThis method takes base class for IC’s having 14 pins
-
set_pin(pin_no, pin_value)¶
-
set_pin_param(pin_no, parm_dict)¶
-
total_pins= 14¶
-
uses_pincls= False¶
-
-
class
BinPy.ic.base.Base_16pin¶ Bases:
BinPy.ic.base.ICThis method takes base class for IC’s having 16 pins
-
set_pin(pin_no, pin_value)¶
-
set_pin_param(pin_no, parm_dict)¶
-
total_pins= 16¶
-
uses_pincls= False¶
-
-
class
BinPy.ic.base.Base_24pin¶ Bases:
BinPy.ic.base.ICThis method takes base class for IC’s having 24 pins
-
set_pin(pin_no, pin_value)¶
-
set_pin_param(pin_no, parm_dict)¶
-
total_pins= 24¶
-
uses_pincls= False¶
-
-
class
BinPy.ic.base.Base_5pin¶ Bases:
BinPy.ic.base.ICThis method takes base class for IC’s having 5 pins
-
set_pin(pin_no, pin_value)¶
-
total_pins= 5¶
-
uses_pincls= False¶
-
-
class
BinPy.ic.base.IC¶ This is a base class for IC
-
draw_IC()¶
-
output_connector= {}¶
-
set_IC(param_dict)¶ If pin class is not used this method then it takes a dictionary with the format { PINNO:PINVALUE, ... } Else it takes a dictionary of dictionaries with the format -> { PINNO:{PARAM1:VAL1, PARAM2:VAL2, ... }, PINNO2:{PARAM1:VAL1, PARAM2:VAL2, ... } , ... }
-
set_output(index, value)¶
-
truth_table(pin_config)¶
-
-
class
BinPy.ic.base.Logic(value=0)¶ Implements methods of AND OR and EXOR using BinPy library Gate modules Remaps all basic python implementation of gates on variable of type bool to BinPy’s implementation of the same
-
class
BinPy.ic.base.Pin(pin_no, param_dict={})¶ Pin class for defining a particular pin of an IC
Sample param_dict for a pin : { ‘value’:0, ‘desc’:’IN1: Input 1 of Mux’, ‘can_vary’:True }
First 3 characters of desc will be used as pin_tag
-
set_pin_param(param_dict)¶
-
-
BinPy.ic.base.pinlist_quick(first_arg)¶ Defines a method to quickly convert a list of Logic states to pin instances
series_4000¶
This module has all the classes of ICs belonging to 4000 series.
Please note that the length of list self.pins is 1 more than the number of actual pins. This is so because pin0 is not used as a general term referring to the first pin of the IC. Zeroth index of the self.pins is not being used.
ICs in this module: [4000, 4001, 4002, 4008, 4009, 4010, 4011, 4012, 4013, 4015, 4017, 4019, 4020, 4023, 4025, 4068, 4069, 4070, 4071, 4072, 4073
4075, 4077, 4078, 4081, 4082]
-
class
BinPy.ic.series_4000.IC_4000¶ Bases:
BinPy.ic.base.Base_14pinDual 3 Input NOR gate + one NOT gate IC. Pin_6 = NOR(Pin_3, Pin_4, Pin_5) Pin_10 = NOR(Pin_11, Pin_12, Pin_13) Pin_9 = NOT(Pin_8)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4001¶ Bases:
BinPy.ic.base.Base_14pinQuad 2 input NOR gate Pin_3 = NOR(Pin_1, Pin_2) Pin_4 = NOR(Pin_5, Pin_6) Pin_10 = NOR(Pin_8, Pin_9) Pin_11 = NOR(Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4002¶ Bases:
BinPy.ic.base.Base_14pinDual 4 input NOR gate Pin_1 = NOR(Pin_2, Pin_3, Pin_4, Pin_5) Pin_13 = NOR(Pin_9, Pin_10, Pin_11, Pin_12)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4008¶ Bases:
BinPy.ic.base.Base_16pin4 Bit Binary Full Adder
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4009¶ Bases:
BinPy.ic.base.Base_16pinHex Inverter with Level Shifted output
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4010¶ Bases:
BinPy.ic.base.Base_16pinHex Buffer with Level Shifted output
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4011¶ Bases:
BinPy.ic.base.Base_14pinQuad 2 input NAND gate Pin_3 = NAND(Pin_1, Pin_2) Pin_4 = NAND(Pin_5, Pin_6) Pin_10 = NAND(Pin_8, Pin_9) Pin_11 = NAND(Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4012¶ Bases:
BinPy.ic.base.Base_14pinDual 4 input NAND gate Pin_1 = NAND(Pin_2, Pin_3, Pin_4, Pin_5) Pin_13 = NAND(Pin_9, Pin_10, Pin_11, Pin_12)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4013¶ Bases:
BinPy.ic.base.Base_14pinCMOS Dual D type Flip Flop
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4015¶ Bases:
BinPy.ic.base.Base_16pinDual 4 Stage static shift Register
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4017¶ Bases:
BinPy.ic.base.Base_16pinCMOS Counters
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4019¶ Bases:
BinPy.ic.base.Base_16pin8-to-4 line non-inverting data selector/multiplexer with OR function
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4020¶ Bases:
BinPy.ic.base.Base_16pinCMOS 14 BIT asynchornous binary counter with reset
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4022¶ Bases:
BinPy.ic.base.Base_16pinCMOS Octal Counter
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4023¶ Bases:
BinPy.ic.base.Base_14pinTriple 3 input NAND gate Pin_6 = NAND(Pin_3, Pin_4, Pin_5) Pin_9 = NAND(Pin_1, Pin_2, Pin_8) Pin_10 = NAND(Pin_11, Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4025¶ Bases:
BinPy.ic.base.Base_14pinTriple 3 input NOR gate Pin_6 = NOR(Pin_3, Pin_4, Pin_5) Pin_9 = NOR(Pin_1, Pin_2, Pin_8) Pin_10 = NOR(Pin_11, Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4027¶ Bases:
BinPy.ic.base.Base_16pinDual JK flip flops with set and reset
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4028¶ Bases:
BinPy.ic.base.Base_16pin1-of-10 no-inverting decoder/demultiplexer
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4029¶ Bases:
BinPy.ic.base.Base_16pin4-bit synchronous binary/decade up/down counter
-
arraytoint(inputs)¶
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4030¶ Bases:
BinPy.ic.base.Base_14pinQuad 2-input XOR gate
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4068¶ Bases:
BinPy.ic.base.Base_14pin8 input NAND gate Pin_13 = NAND(Pin_2, Pin_3, Pin_4, Pin_5, Pin_9, Pin_10, Pin_11, Pin_12)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4069¶ Bases:
BinPy.ic.base.Base_14pinHex NOT gate Pin_2 = NOT(Pin_1) Pin_4 = NOT(Pin_3) Pin_6 = NOT(Pin_5) Pin_8 = NOT(Pin_9) Pin_10 = NOT(Pin_11) Pin_12 = NOT(Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4070¶ Bases:
BinPy.ic.base.Base_14pinQuad 2 input XOR gate Pin_3 = XOR(Pin_1, Pin_2) Pin_4 = XOR(Pin_5, Pin_6) Pin_10 = XOR(Pin_8, Pin_9) Pin_11 = XOR(Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4071¶ Bases:
BinPy.ic.base.Base_14pinQuad 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)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4072¶ Bases:
BinPy.ic.base.Base_14pinDual 4 input OR gate Pin_1 = OR(Pin_2, Pin_3, Pin_4, Pin_5) Pin_13 = OR(Pin_9, Pin_10, Pin_11, Pin_12)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4073¶ Bases:
BinPy.ic.base.Base_14pinTriple 3 input AND gate Pin_6 = AND(Pin_3, Pin_4, Pin_5) Pin_9 = AND(Pin_1, Pin_2, Pin_8) Pin_10 = AND(Pin_11, Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4075¶ Bases:
BinPy.ic.base.Base_14pinTriple 3 input OR gate Pin_6 = OR(Pin_3, Pin_4, Pin_5) Pin_9 = OR(Pin_1, Pin_2, Pin_8) Pin_10 = OR(Pin_11, Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4077¶ Bases:
BinPy.ic.base.Base_14pinQuad 2 input XNOR gate Pin_3 = XNOR(Pin_1, Pin_2) Pin_4 = XNOR(Pin_5, Pin_6) Pin_10 = XNOR(Pin_8, Pin_9) Pin_11 = XNOR(Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4078¶ Bases:
BinPy.ic.base.Base_14pin8 input NOR gate Pin_13 = NOR(Pin_2, Pin_3, Pin_4, Pin_5, Pin_9, Pin_10, Pin_11, Pin_12)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4081¶ Bases:
BinPy.ic.base.Base_14pinQuad 2 input AND gate Pin_3 = AND(Pin_1, Pin_2) Pin_4 = AND(Pin_5, Pin_6) Pin_10 = AND(Pin_8, Pin_9) Pin_11 = AND(Pin_12, Pin_13)
-
run()¶
-
-
class
BinPy.ic.series_4000.IC_4082¶ Bases:
BinPy.ic.base.Base_14pinDual 4 input AND gate Pin_1 = AND(Pin_2, Pin_3, Pin_4, Pin_5) Pin_13 = AND(Pin_9, Pin_10, Pin_11, Pin_12)
-
run()¶
-
series_7400¶
This module has all the classes of ICs belonging to 7400 series.
Please note that the length of list self.pins is 1 more than the number of actual pins. This is so because pin0 is not used as a general term referring to the first pin of the IC. Zeroth index of the self.pins is not being used.
-
class
BinPy.ic.series_7400.IC_7400¶ Bases:
BinPy.ic.base.Base_14pinThis is a QUAD 2 INPUT NAND gate IC Pin Configuration:
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 Y Output Gate 1 4 A Input Gate 2 5 B Input Gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 B Input Gate 3 10 A Input Gate 3 11 Y Output Gate 4 12 B Input Gate 4 13 A Input Gate 4 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7400:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7400() >>> pin_config = {1: 1, 2: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 12: 0, 13: 0, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
-
pins = [None,0,0,None,0,0,None,0,None,0,0,None,0,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7401¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input open-collector NAND gate IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7402¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input NOR gate IC
Pin Configuration:
- Pin Number Description
- 1 Y Output Gate 1 2 A Input Gate 1 3 B Input Gate 1 4 Y Output Gate 2 5 A Input Gate 2 6 B Input Gate 2 7 Ground 8 A Input Gate 3 9 B Input Gate 3 10 Y Output Gate 3 11 A Input Gate 4 12 B Input Gate 4 13 Y Output Gate 4 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7402:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7402() >>> pin_config = {2: 0, 3: 0, 5: 0, 6: 1, 7: 0, 8: 1, 9: 1, 11: 1, 12: 1, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,None,0,0,None,0,0,0,0,0,None,0,0,None,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7403¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input open-collector NAND gate IC
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 Y Output Gate 1 4 A Input Gate 2 5 B Input Gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 B Input Gate 3 10 A Input Gate 3 11 Y Output Gate 4 12 B Input Gate 4 13 A Input Gate 4 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7403:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7403() >>> pin_config = {1: 1, 2: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 12: 0, 13: 0, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,None,0,0,None,0,None,0,0,None,0,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7404¶ Bases:
BinPy.ic.base.Base_14pinThis is a hex inverter IC
- Pin Number Description
- 1 A Input Gate 1 2 Y Output Gate 1 3 A Input Gate 2 4 Y Output Gate 2 5 A Input Gate 3 6 Y Output Gate 3 7 Ground 8 Y Output Gate 4 9 A Input Gate 4 10 Y Output Gate 5 11 A Input Gate 5 12 Y Output Gate 6 13 A Input Gate 6 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7404:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7404() >>> pin_config = {1: 1, 3: 0, 5: 0, 7: 0, 9: 0, 11: 0, 13: 1, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,None,0,0,None,0,None,0,0,None,0,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7405¶ Bases:
BinPy.ic.base.Base_14pinThis is hex open-collector inverter IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7406¶ Bases:
BinPy.ic.base.Base_14pinThis is Hex Inverter/Buffer with Hi-Volt Open Collector Output
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7408¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2 input AND gate IC
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 Y Output Gate 1 4 A Input Gate 2 5 B Input Gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 B Input Gate 3 10 A Input Gate 3 11 Y Output Gate 4 12 B Input Gate 4 13 A Input Gate 4 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7408:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7408() >>> pin_config = {1: 1, 2: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 12: 0, 13: 0, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,None,0,0,None,0,None,0,0,None,0,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7410¶ Bases:
BinPy.ic.base.Base_14pinThis is a Triple 3 input NAND gate IC
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 A Input Gate 2 4 B Input Gate 2 5 C Input gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 A Input Case 3 10 B Input Case 3 11 C Input Case 3 12 Y Output Gate 1 13 C Input Gate 1 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7410:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7410() >>> pin_config = {1: 1, 2: 0, 3: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 11: 1, 13: 0, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,0,0,0,None,0,None,0,0,0,None,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7411¶ Bases:
BinPy.ic.base.Base_14pinThis is a Triple 3 input AND gate IC
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 A Input Gate 2 4 B Input Gate 2 5 C Input gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 A Input Case 3 10 B Input Case 3 11 C Input Case 3 12 Y Output Gate 1 13 C Input Gate 1 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7411:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7411() >>> pin_config = {1: 1, 2: 0, 3: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 11: 1, 13: 0, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,0,0,0,None,0,None,0,0,0,None,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7412¶ Bases:
BinPy.ic.base.Base_14pinThis is a Triple 3 input NAND gate IC with open collector outputs
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 A Input Gate 2 4 B Input Gate 2 5 C Input gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 A Input Case 3 10 B Input Case 3 11 C Input Case 3 12 Y Output Gate 1 13 C Input Gate 1 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7412:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7412() >>> pin_config = {1: 1, 2: 0, 3: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 11: 1, 13: 0, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,0,0,0,None,0,None,0,0,0,None,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_7413¶ Bases:
BinPy.ic.base.Base_14pinThis is a dual 4 input NAND gate IC
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 Not Connected 4 C Input Gate 1 5 D Input Gate 1 6 Y Output Gate 1 7 Ground 8 Y Output Gate 2 9 A Input Gate 2 10 B Input Gate 2 11 Not Connected 12 C Input Gate 2 13 D Input Gate 2 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7413:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7413() >>> pin_config = {1: 1, 2: 0, 4: 0, 5: 0, 7: 0, 9: 1, 10: 1, 12: 1, 13: 1, 14: 1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,0,0,0,None,0,None,0,0,0,0,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_74133¶ Bases:
BinPy.ic.base.Base_16pinThis is a 13-input NAND gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74138¶ Bases:
BinPy.ic.base.Base_16pinThis is a 1:8 demultiplexer(3:8 decoder) with output being inverted input
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74139¶ Bases:
BinPy.ic.base.Base_16pinThis is a dual 1:4 demultiplexer(2:4 decoder) with output being inverted input
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7415¶ Bases:
BinPy.ic.base.Base_14pinThis is a Triple 3 input AND gate IC with open collector outputs
- Pin Number Description
- 1 A Input Gate 1 2 B Input Gate 1 3 A Input Gate 2 4 B Input Gate 2 5 C Input Gate 2 6 Y Output Gate 2 7 Ground 8 Y Output Gate 3 9 A Input Gate 3 10 B Input Gate 3 11 C Input Gate 3 12 Y Output Gate 1 13 C Input Gate 1 14 Positive Supply
This class needs 14 parameters. Each parameter being the pin value. The input has to be defined as a dictionary with pin number as the key and its value being either 1 or 0
- To initialise the ic 7415:
- set pin 7:0
- set pin 14:1
How to use:
>>> ic = IC_7415() >>> pin_config = {1:1, 2:0, 3:0, 4:0, 5:0, 7:0, 9:1, 10:1, 11:1, 13:0, 14:1} >>> ic.set_IC(pin_cofig) >>> ic.drawIC() >>> ic.run() >>> ic.set_IC(ic.run()) >>> ic.drawIC()
- Default pins:
- pins = [None,0,0,0,0,0,None,0,None,0,0,0,None,0,0]
-
run()¶
-
class
BinPy.ic.series_7400.IC_74151A¶ Bases:
BinPy.ic.base.Base_16pinThis is 16-pin 8:1 multiplexer featuring complementary W and Y outputs
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74152¶ Bases:
BinPy.ic.base.Base_14pinThis is 14-pin 8:1 multiplexer with inverted input.
- Pin Number Description
1 D4 2 D3 3 D2 4 D1 5 D0 6 Output W 7 Ground 8 select line C 9 select line B 10 select line A 11 D7 12 D6 13 D5 14 Positive Supply
select_lines = CBA and Inputlines = D0 D1 D2 D3 D4 D5 D6 D7
-
run()¶
-
class
BinPy.ic.series_7400.IC_74153¶ Bases:
BinPy.ic.base.Base_16pinThis is 16-pin dual 4:1 multiplexer with output same as the input.
Pin Number Description 1 Strobe1 2 Select line B 3 1C3 4 1C2 5 1C1 6 1C0 7 1Y - OUTPUT1 8 Ground 9 2Y - OUTPUT2 10 2C0 11 2C1 12 2C2 13 2C3 14 Select line A 15 Strobe2 16 Positive Supply
select_lines = BA ; Inputlines1 = 1C0 1C1 1C2 1C3 ; Inputlines2 = 2C0 2C1 2C2 2C3
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74155¶ Bases:
BinPy.ic.base.Base_16pinThis is a dual 1:4 demultiplexer(2:4 decoder) with one output being inverted input while the other same as the input
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74156¶ Bases:
BinPy.ic.base.Base_16pinThis is a dual 1:4 demultiplexer(2:4 decoder) with one output being inverted input while the other same as the input with open collector
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7416¶ Bases:
BinPy.ic.base.Base_14pinThis is a Hex open-collector high-voltage inverter
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7417¶ Bases:
BinPy.ic.base.Base_14pinThis is a Hex open-collector high-voltage buffer
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7418¶ Bases:
BinPy.ic.base.Base_14pinThis is a Dual 4-input NAND gates with schmitt-trigger inputs.
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74181¶ Bases:
BinPy.ic.base.Base_24pinThis is a 4-bit Arithmetic Logic Unit which performs 16 diff functions. It has two modes active high input mode and active low input mode(Active high mode is used here)
- Pin Number Description
1 Input - B0 2 Input - A0 3 Input - Select Line - S3 4 Input - Select Line - S2 5 Input - Select Line - S1 6 Input - Select Line - S0 7 Input - Carry 8 Input - Mode Input(M) 9 Output- F0 10 Output- F1 11 Output- F2 12 Ground 13 Output- F3 14 Output- A=B 15 Output- P 16 Output- NOT(C(n+4)) 17 Output- G 18 Input - B3 19 Input - A3 20 Input - B2 21 Input - A2 22 Input - B1 23 Input - A1 24 VCC
Mode and Select Lines are used to select the function to be performed by the ALU on the two 4-bit input data A3 A2 A1 A0 & B3 B2 B1 B0(Inputs A0-A3 and B0-B3 have to be complemented and given).
-
run()¶
-
class
BinPy.ic.series_7400.IC_7419¶ Bases:
BinPy.ic.base.Base_14pinThis is a Hex inverters with schmitt-trigger line-receiver inputs.
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_741G00¶ Bases:
BinPy.ic.base.Base_5pinThis is a single 2 input NAND gate IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_741G02¶ Bases:
BinPy.ic.base.Base_5pinThis is a single 2 input NOR gate IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_741G03¶ Bases:
BinPy.ic.base.Base_5pinThis is a single 2 input NAND gate IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_741G04¶ Bases:
BinPy.ic.base.Base_5pinThis is a single inverter IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_741G05¶ Bases:
BinPy.ic.base.Base_5pinThis is a single input NOT gate IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_741G08¶ Bases:
BinPy.ic.base.Base_5pinThis is a single 2 input AND gate IC
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7420¶ Bases:
BinPy.ic.base.Base_14pinThis is a dual 4-input NAND gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7421¶ Bases:
BinPy.ic.base.Base_14pinThis is a dual 4-input AND gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7422¶ Bases:
BinPy.ic.base.Base_14pinThis is a dual 4-input NAND gate with open collector outputs
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7424¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input NAND gates with schmitt-trigger line-receiver inputs
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7425¶ Bases:
BinPy.ic.base.Base_14pinThis is a Dual 5-Input NOR Gate with Strobe
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7426¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input open-collector high-voltage NAND gates.
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_74260¶ Bases:
BinPy.ic.base.Base_14pinThis is a dual 5-input NOR gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7427¶ Bases:
BinPy.ic.base.Base_14pinThis is a Triple 3-Input NOR Gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7428¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input NOR gates with buffered outputs.
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7430¶ Bases:
BinPy.ic.base.Base_14pinThis is a 8-Input NAND Gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7431¶ Bases:
BinPy.ic.base.Base_16pinThis is a Hex delay element.
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7432¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-Input OR Gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7433¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input open-collector NOR gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7437¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-input NAND gates with buffered output
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7438¶ Bases:
BinPy.ic.base.Base_14pinThis is a Quad 2-Input NAND Buffer with Open Collector Output
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7440¶ Bases:
BinPy.ic.base.Base_14pinThis is a Dual 4-Input NAND Buffer
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7442¶ Bases:
BinPy.ic.base.Base_16pinThis is a BCD to Decimal decoder BCD Digits are in order of A B C D where pin 15 = A, pin 12 = D
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7443¶ Bases:
BinPy.ic.base.Base_16pinThis is an excess-3 to Decimal decoder Excess-3 binary digits are in order of A B C D, where pin 15 = A and pin 12 = D
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7444¶ Bases:
BinPy.ic.base.Base_16pinThis is an excess-3 gray code to Decimal decoder Excess-3 gray code digits are in order of A B C D, where pin 15 = A and pin 12 = D
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7445¶ Bases:
BinPy.ic.base.Base_16pinThis is a Four-to-Ten (BCD to Decimal) DECODER using the DEMUX functionality from combinational.py datasheet at http://www.skot9000.com/ttl/datasheets/45.pdf
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7447¶ Bases:
BinPy.ic.base.Base_16pinBCD to 7-segment decoder
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7451¶ Bases:
BinPy.ic.base.Base_14pinThis is a dual 2-wide 2-input AND-OR Invert gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7454¶ Bases:
BinPy.ic.base.Base_14pinThis is a 4-wide 2-input AND-OR Invert gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7455¶ Bases:
BinPy.ic.base.Base_14pinThis is a 4-wide 2-input AND-OR Invert gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7458¶ Bases:
BinPy.ic.base.Base_14pinThis is a 2-input and 3-input AND-OR gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7459¶ Bases:
BinPy.ic.base.Base_14pinThis is a 2-input and 3-input AND-OR inverter gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7464¶ Bases:
BinPy.ic.base.Base_14pinThis is a 4-2-3-2 input AND-OR-invert gate
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7470¶ Bases:
BinPy.ic.base.Base_14pinAND gated JK Positive Edge triggered Flip Flop with preset and clear
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7472¶ Bases:
BinPy.ic.base.Base_14pinAND gated JK Master-Slave Flip Flop with preset and clear
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7473¶ Bases:
BinPy.ic.base.Base_14pinDUAL JK Flip Flops with clear
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7474¶ Bases:
BinPy.ic.base.Base_14pinDual D-Type Positive-Edge-Triggered Flip-Flops with preset and clear
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7475¶ Bases:
BinPy.ic.base.Base_16pin4-Bit Bistable Latches
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7476¶ Bases:
BinPy.ic.base.Base_16pinDual JK Flip Flop with preset and clear
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7483¶ Bases:
BinPy.ic.base.Base_16pinThis is a 4-bit full adder with fast carry
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7485¶ Bases:
BinPy.ic.base.Base_16pin4 bit magnitude comparator Comparing two 4-bit binary numbers A3A2A1A0 & B3B2B1B0
Pin Number Description 1 B3(MSB) 2 Cascade Input - A<B 3 Cascade Input - A=B 4 Cascade Input - A>B 5 Output A>B 6 Output A=B 7 Output A<B 8 Ground 9 B0 10 A0 11 B1 12 A1 13 A2 14 B2 15 A3(MSB) 16 VCC
We can compare 8,12,16... by cascading more of these ICs
-
run()¶
-
-
class
BinPy.ic.series_7400.IC_7486¶ Bases:
BinPy.ic.base.Base_14pinThis is a quad 2-input exclusive OR gate
-
run()¶
-