Skip to main content

Python Package to realize combinational logic gates

Project description

Logic_Py

Made with Python3 GitHub license Github version

Update : Logic_Py 0.4.1

  • If input array contains a non-binary element, A ValueError is returned with the exact location of non-binary element in the input array
from basic_gates import AND
A = [1,0,1,3]
B = [0,0,1,1]
y = AND(A,B)

Above code returns ValueError: input must be binary, 0 or 1 in first input index 3

  • If all the input array lengths are not same, Again code throws a ValueError
from basic_gates import OR
A = [1,0,1]
B = [0,0,1,1]
y = OR(A,B)

Above code returns ValueError: Length of both inputs must be same

  • Half subtractor and Full subtractor are added to Arithmatic gates
from arithmatic_gates import half_subtractor, full_subtractor
B = [1,1,0,1,1,0,0,1,0,0]
A = [0,0,0,1,0,1,1,0,1,1]
Difference, Borrow = half_subtractor(A,B)
print("Difference : ", Difference, "Borrow : ", Borrow)

Above snippet returns Difference : Difference : [1, 1, 0, 0, 1, 1, 1, 1, 1, 1] Borrow : [0, 0, 0, 0, 0, 1, 1, 0, 1, 1]

  • Code conversions BCD to Excess3 and vice versa are added to Combinational circuits
from combinational_gates import BCD2Excess3, Excess32BCD
A = [1,1,0,1,1,0,0,1,0,0]
B = [0,0,0,1,0,1,1,0,1,1]
C = [0,1,0,1,0,1,0,0,0,0]
D = [1,1,0,1,1,0,0,1,0,0]
w,x,y,z = BCD2Excess3(A,B,C,D)

Above code saves 4 coverted Excess3 bits in w,x,y,z

  • Encoders and Decoders are added to Logic circuits
from Logic_circuits import Decoder2_4,Decoder4_16,Decoder3_8,Encoder2_1,Encoder4_2,Encoder8_3,Priority_Enc4_2
  • Plots are added for half subtractor and full subtractor
from plotting import plot_half_subtractor
x,y = plot_half_subtractor(B,C)

Above snippet returns a plot of difference and Borrow and also loads difference and borrow onto the variables x and y. Half Subtractor

Introduction

This Python package enables the user to realise Logic based combinational circuits built on basic logic gates. All the inputs must be binary and of same length for the functions to perform desired operation.

Installation

pip install logic-py

from Logic_Py import AND, full_adder, plot_secondary

Basic Gates

basic_gates

There are 7 basic gates, all other secondaary and combinational gates are the combinations of these 7 basic gates.

  • AND, OR, NOT, NAND, NOR,XNOR,XOR
from Logic_Py import AND

Secondary Gates

secondary_gates

There are 16 Secondary gates, which take 4 binary inputs and 1 binary output.

  • AND_AND, AND_OR, AND_NAND, AND_NOR, OR_AND, OR_OR, OR_NAND, OR_NOR, NAND_AND, NAND_OR, NAND_NAND, NAND_NOR, NOR_AND, NOR_OR, NOR_NAND, NOR_NOR,

Combinational Gates

combintional_gates

Few combinational circuits are added as start in this beta version, few more will follow in the coming update.

  • Binary2Gray, Gray2Binary, EParity_gen, EParity_check, OParity_gen, OParity_check, Excess32BCD, BCD2Excess3

Arithmatic Gates

arithmatic_gates Two arithmatic gates are added for the beta version, more will follow in the coming update. update 0.4.1 added subtractors

  • Half Adder - half_adder
  • Full Adder - full_adder
  • Half Subtractor - half_subtractor
  • Full Subtractor - full_subtractor

Plots

plotting

Plots for the basic gates, secondary gates and arithmatic gates are available with the current version.

  • plot_full_adder, plot_half_adder, plot_secondary, plot_basic
  • *update 0.4.1 added plot_half_adder and plot_full_adder

Citation

Use Github for further updates. Please kindly cite incase you use the package and fork.

Use Hellow world example for the syntax or use help function in python console

help(AND)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Logic_Py-0.4.3.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Logic_Py-0.4.3-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file Logic_Py-0.4.3.tar.gz.

File metadata

  • Download URL: Logic_Py-0.4.3.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.7.10 Windows/10

File hashes

Hashes for Logic_Py-0.4.3.tar.gz
Algorithm Hash digest
SHA256 2f9ad33d19df94c092c8c39046ce1523f597dd9b4f097655862030da9f9f520c
MD5 96a2d752acdac26aa27892847df31fb3
BLAKE2b-256 c0ccc5842ee4ffe0927ad5e5637fa676a15b28606ad31a64a8d35d7646365bf9

See more details on using hashes here.

File details

Details for the file Logic_Py-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: Logic_Py-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.7.10 Windows/10

File hashes

Hashes for Logic_Py-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bdd9a317d38ffcf57a67d5a1c4658cef66e8e45d46381beecdcb39cf871968fc
MD5 c8b9d2151f86023e72f6ae40e9529a4a
BLAKE2b-256 b46f1e631bf410745df46f272e331c36c86774c157fc3eb1cb9494c2b9352364

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page