예제 #1
0
from __future__ import print_function
from BinPy.tools.digital import Clock
from BinPy.Gates import Connector
from BinPy.tools.multivibrator import Multivibrator
from BinPy.tools.oscilloscope import Oscilloscope
import time

# MODE selects the mode of operation of the multivibrator.

# Mode No. :  Description
#   1          Monostable
#   2          Astable
#   3          Bistable

out = Connector(0)

# MODE 3

m = Multivibrator(0, mode=3)

m.start()
m.setOutput(out)

o = Oscilloscope((m.A, 'OUT'))
o.start()
o.setScale(0.05)
o.unhold()

time.sleep(0.1)
m.trigger()
print(m.A())
예제 #2
0
파일: TFlipFlop.py 프로젝트: Famguy/BinPy
# <headingcell level=2>

# Example for TFlipFlop

# <codecell>

from __future__ import print_function
from BinPy.Sequential.sequential import TFlipFlop
from BinPy.tools.clock import Clock
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

# <codecell>

toggle = Connector(1)

p = Connector(0)
q = Connector(1)

# <codecell>

# Initialize the clock
clock = Clock(1, 4)
clock.start()
# A clock of 4 hertz frequency
clk_conn = clock.A

enable = Connector(1)

# <codecell>
예제 #3
0
# Example for JKFlipFlop

from __future__ import print_function
from BinPy.Sequential.sequential import JKFlipFlop
from BinPy.tools.digital import Clock
from BinPy.Gates import Connector

j = Connector(1)
k = Connector(0)

p = Connector(0)
q = Connector(1)

# Initialize the clock
clock = Clock(1, 1)
clock.start()
# A clock of 1 hertz frequency
clk_conn = clock.A

enable = Connector(1)

jkff = JKFlipFlop(j, k, enable, clk_conn, enable)

# To connect outputs use s.setOutputs(op1,op2)
jkff.setOutputs(A=p, B=q)

print("SET STATE - J = 1, K = 0")
# Set State
j.state = 1
k.state = 0
# The same thing can also be done by --> jkff.setInputs(j = 1, k = 0)
예제 #4
0
# Example for N Bit Binary Ripple Counter.

from __future__ import print_function
from BinPy.tools.digital import Clock
from BinPy.Sequential.counters import NBitRippleCounter
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

print("Initialize a toggle connectr for inpput in TFlipFlop")
print("toggle = Connector(1)")
toggle = Connector(1)

print("Initializing the Clock")
print("clock = Clock(1, 50)")
print("clock.start()")
clock = Clock(1, 50)
clock.start()
# A clock of 100 hertz frequency
print("clk_conn = clock.A")
clk_conn = clock.A
print("\n")

print("Initialize enable")
print("enable = Connector(1)")
enable = Connector(1)

print ("Setting No of Bits to 4")
print ("Clock frequency is 10 Hz")

# Initializing the counter
print("\n")
예제 #5
0
from BinPy.Sequential.counters import RingCounter
from BinPy.Gates import Connector

print("Initializing the Clock")
print("clock = Clock(1, 50)")
print("clock.start()")
clock = Clock(1, 50)
clock.start()
# A clock of 100 hertz frequency
print("clk_conn = clock.A")
clk_conn = clock.A
print("\n")

print("Initialize enable")
print("enable = Connector(1)")
enable = Connector(1)

print("Setting No of Bits to 4")
print("Clock frequency is 10 Hz")

# Initializing the counter
print("\n")
print("Initializing RingCounter with 8 bits and clock_conn")
print("b = RingCounter(8, clk_conn)")
b = RingCounter(8, clk_conn)

print("Initial State")
print(b.state())

print("Triggering the counter 8 times")
print("for i in range(8):\nb.trigger()\nprint (b.state())")
예제 #6
0
# <headingcell level=2>

# Example for TFlipFlop

# <codecell>

from __future__ import print_function
from BinPy.Sequential.sequential import TFlipFlop
from BinPy.tools.clock import Clock
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

# <codecell>

toggle = Connector(1)

p = Connector(0)
q = Connector(1)

# <codecell>

# Initialize the clock
clock = Clock(1, 4)
clock.start()
# A clock of 4 hertz frequency
clk_conn = clock.A

enable = Connector(1)

# <codecell>
예제 #7
0
파일: DFlipFlop.py 프로젝트: vovkd/BinPy
# <headingcell level=2>

# Example for DFlipFlop

# <codecell>

from __future__ import print_function
from BinPy.Sequential.sequential import DFlipFlop
from BinPy.tools.clock import Clock
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

# <codecell>

data = Connector(1)

p = Connector(0)
q = Connector(1)

# <codecell>

# Initialize the clock
clock = Clock(1, 5)
clock.start()
# A clock of 10 hertz frequency
clk_conn = clock.A

enable = Connector(1)

# <codecell>
예제 #8
0
파일: DFlipFlop.py 프로젝트: A-Hemdan/BinPy
# Example for DFlipFlop

from __future__ import print_function
from BinPy.Sequential.sequential import DFlipFlop
from BinPy.tools.digital import Clock
from BinPy.Gates import Connector

data = Connector(1)

p = Connector(0)
q = Connector(1)

# Initialize the clock
clock = Clock(1, 1)
clock.start()
# A clock of 1 hertz frequency
clk_conn = clock.A

enable = Connector(1)

# Initialize the D-FlipFlop
dff = DFlipFlop(data, enable, clk_conn, p, q)
# To connect different set of connectors use :
# dff.setInputs(conn1,enab,clk)
# To connect different outputs use s.setOutputs(op1,op2)
dff.setOutputs(A=p, B=q)

print ("Data is 1")
data.state = 1
while True:
    if clk_conn.state == 0:
예제 #9
0
파일: SRLatch.py 프로젝트: vovkd/BinPy
# <headingcell level=2>

# Example for SRLatch

# <codecell>

from __future__ import print_function
from BinPy.Sequential.sequential import SRLatch
from BinPy.tools.clock import Clock
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

# <codecell>

s = Connector(1)
r = Connector(0)

p = Connector(0)
q = Connector(1)

# <codecell>

# Initialize the clock
clock = Clock(1, 4)
clock.start()
# A clock of 1 hertz frequency
clk_conn = clock.A

enable = Connector(1)
예제 #10
0
파일: JKFlipFlop.py 프로젝트: Famguy/BinPy
# <headingcell level=2>

# Example for JKFlipFlop

# <codecell>

from __future__ import print_function
from BinPy.Sequential.sequential import JKFlipFlop
from BinPy.tools.clock import Clock
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

# <codecell>

j = Connector(1)
k = Connector(0)

p = Connector(0)
q = Connector(1)

# <codecell>

# Initialize the clock
clock = Clock(1, 4)
clock.start()

# A clock of 4 hertz frequency initialized to 1
clk_conn = clock.A

enable = Connector(1)
예제 #11
0
파일: SRLatch.py 프로젝트: salil93/BinPy
# Example for SRLatch

from __future__ import print_function
from BinPy.Sequential.sequential import SRLatch
from BinPy.tools.digital import Clock
from BinPy.Gates import Connector
from BinPy.tools.oscilloscope import Oscilloscope

s = Connector(1)
r = Connector(0)

p = Connector(0)
q = Connector(1)

# Initialize the clock
clock = Clock(1, 4)
clock.start()
# A clock of 1 hertz frequency
clk_conn = clock.A

enable = Connector(1)

# Initialize the sr latch
srff = SRLatch(s, r, enable, clk_conn)

# To connect outputs use s.setOutputs(op1,op2)
srff.setOutputs(A=p, B=q)

o = Oscilloscope((clk_conn, 'CLK'), (s, 'S'), (
    r, 'R'), (p, 'OUT'), (q, 'OUT!'), (enable, 'ENABLE'))
o.start()