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.IC
This 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.IC
This 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.IC
This 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.IC
This 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_14pin
Dual 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_14pin
Quad 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_14pin
Dual 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_16pin
4 Bit Binary Full Adder
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4009
¶ Bases:
BinPy.ic.base.Base_16pin
Hex Inverter with Level Shifted output
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4010
¶ Bases:
BinPy.ic.base.Base_16pin
Hex Buffer with Level Shifted output
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4011
¶ Bases:
BinPy.ic.base.Base_14pin
Quad 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_14pin
Dual 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_14pin
CMOS Dual D type Flip Flop
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4015
¶ Bases:
BinPy.ic.base.Base_16pin
Dual 4 Stage static shift Register
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4017
¶ Bases:
BinPy.ic.base.Base_16pin
CMOS Counters
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4019
¶ Bases:
BinPy.ic.base.Base_16pin
8-to-4 line non-inverting data selector/multiplexer with OR function
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4020
¶ Bases:
BinPy.ic.base.Base_16pin
CMOS 14 BIT asynchornous binary counter with reset
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4022
¶ Bases:
BinPy.ic.base.Base_16pin
CMOS Octal Counter
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4023
¶ Bases:
BinPy.ic.base.Base_14pin
Triple 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_14pin
Triple 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_16pin
Dual JK flip flops with set and reset
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4028
¶ Bases:
BinPy.ic.base.Base_16pin
1-of-10 no-inverting decoder/demultiplexer
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4029
¶ Bases:
BinPy.ic.base.Base_16pin
4-bit synchronous binary/decade up/down counter
-
arraytoint
(inputs)¶
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4030
¶ Bases:
BinPy.ic.base.Base_14pin
Quad 2-input XOR gate
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4068
¶ Bases:
BinPy.ic.base.Base_14pin
8 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_14pin
Hex 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_14pin
Quad 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_14pin
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)
-
run
()¶
-
-
class
BinPy.ic.series_4000.
IC_4072
¶ Bases:
BinPy.ic.base.Base_14pin
Dual 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_14pin
Triple 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_14pin
Triple 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_14pin
Quad 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_14pin
8 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_14pin
Quad 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_14pin
Dual 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_14pin
This 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_14pin
This is a Quad 2-input open-collector NAND gate IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7402
¶ Bases:
BinPy.ic.base.Base_14pin
This 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_14pin
This 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_14pin
This 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_14pin
This is hex open-collector inverter IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7406
¶ Bases:
BinPy.ic.base.Base_14pin
This is Hex Inverter/Buffer with Hi-Volt Open Collector Output
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7408
¶ Bases:
BinPy.ic.base.Base_14pin
This 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_14pin
This 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_14pin
This 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_14pin
This 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_14pin
This 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_16pin
This is a 13-input NAND gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_74138
¶ Bases:
BinPy.ic.base.Base_16pin
This 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_16pin
This 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_14pin
This 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_16pin
This 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_14pin
This 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_16pin
This 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_16pin
This 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_16pin
This 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_14pin
This is a Hex open-collector high-voltage inverter
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7417
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Hex open-collector high-voltage buffer
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7418
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Dual 4-input NAND gates with schmitt-trigger inputs.
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_74181
¶ Bases:
BinPy.ic.base.Base_24pin
This 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_14pin
This is a Hex inverters with schmitt-trigger line-receiver inputs.
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_741G00
¶ Bases:
BinPy.ic.base.Base_5pin
This is a single 2 input NAND gate IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_741G02
¶ Bases:
BinPy.ic.base.Base_5pin
This is a single 2 input NOR gate IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_741G03
¶ Bases:
BinPy.ic.base.Base_5pin
This is a single 2 input NAND gate IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_741G04
¶ Bases:
BinPy.ic.base.Base_5pin
This is a single inverter IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_741G05
¶ Bases:
BinPy.ic.base.Base_5pin
This is a single input NOT gate IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_741G08
¶ Bases:
BinPy.ic.base.Base_5pin
This is a single 2 input AND gate IC
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7420
¶ Bases:
BinPy.ic.base.Base_14pin
This is a dual 4-input NAND gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7421
¶ Bases:
BinPy.ic.base.Base_14pin
This is a dual 4-input AND gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7422
¶ Bases:
BinPy.ic.base.Base_14pin
This is a dual 4-input NAND gate with open collector outputs
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7424
¶ Bases:
BinPy.ic.base.Base_14pin
This 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_14pin
This is a Dual 5-Input NOR Gate with Strobe
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7426
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Quad 2-input open-collector high-voltage NAND gates.
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_74260
¶ Bases:
BinPy.ic.base.Base_14pin
This is a dual 5-input NOR gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7427
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Triple 3-Input NOR Gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7428
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Quad 2-input NOR gates with buffered outputs.
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7430
¶ Bases:
BinPy.ic.base.Base_14pin
This is a 8-Input NAND Gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7431
¶ Bases:
BinPy.ic.base.Base_16pin
This is a Hex delay element.
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7432
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Quad 2-Input OR Gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7433
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Quad 2-input open-collector NOR gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7437
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Quad 2-input NAND gates with buffered output
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7438
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Quad 2-Input NAND Buffer with Open Collector Output
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7440
¶ Bases:
BinPy.ic.base.Base_14pin
This is a Dual 4-Input NAND Buffer
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7442
¶ Bases:
BinPy.ic.base.Base_16pin
This 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_16pin
This 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_16pin
This 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_16pin
This 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_16pin
BCD to 7-segment decoder
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7451
¶ Bases:
BinPy.ic.base.Base_14pin
This is a dual 2-wide 2-input AND-OR Invert gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7454
¶ Bases:
BinPy.ic.base.Base_14pin
This is a 4-wide 2-input AND-OR Invert gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7455
¶ Bases:
BinPy.ic.base.Base_14pin
This is a 4-wide 2-input AND-OR Invert gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7458
¶ Bases:
BinPy.ic.base.Base_14pin
This is a 2-input and 3-input AND-OR gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7459
¶ Bases:
BinPy.ic.base.Base_14pin
This is a 2-input and 3-input AND-OR inverter gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7464
¶ Bases:
BinPy.ic.base.Base_14pin
This is a 4-2-3-2 input AND-OR-invert gate
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7470
¶ Bases:
BinPy.ic.base.Base_14pin
AND gated JK Positive Edge triggered Flip Flop with preset and clear
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7472
¶ Bases:
BinPy.ic.base.Base_14pin
AND gated JK Master-Slave Flip Flop with preset and clear
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7473
¶ Bases:
BinPy.ic.base.Base_14pin
DUAL JK Flip Flops with clear
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7474
¶ Bases:
BinPy.ic.base.Base_14pin
Dual D-Type Positive-Edge-Triggered Flip-Flops with preset and clear
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7475
¶ Bases:
BinPy.ic.base.Base_16pin
4-Bit Bistable Latches
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7476
¶ Bases:
BinPy.ic.base.Base_16pin
Dual JK Flip Flop with preset and clear
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7483
¶ Bases:
BinPy.ic.base.Base_16pin
This is a 4-bit full adder with fast carry
-
run
()¶
-
-
class
BinPy.ic.series_7400.
IC_7485
¶ Bases:
BinPy.ic.base.Base_16pin
4 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_14pin
This is a quad 2-input exclusive OR gate
-
run
()¶
-