Skip to content

Commit 9249ab8

Browse files
committed
example added
1 parent 62b3867 commit 9249ab8

File tree

3 files changed

+40
-16
lines changed

3 files changed

+40
-16
lines changed

example/cookbook/dff/dff.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
11
from myhdl import *
22
from myhdl.conversion import analyze
33

4-
def dff(q, d, clk):
5-
4+
def dff(t,q, d, clk):
65
@always(clk.posedge)
7-
def logic():
8-
q.next = d
9-
10-
return logic
6+
def toggle():
7+
q.next =not q
8+
def store():
9+
q.next= d
10+
if t==1 :
11+
return logic
12+
else return store
1113

1214

1315
from random import randrange
1416

15-
def test_dff():
16-
17-
q, d, clk = [Signal(bool(0)) for i in range(3)]
18-
19-
dff_inst = dff(q, d, clk)
20-
17+
def test_dff():
18+
q, d= [[Signal(bool(0)) for i in range(3)] for i in range(2)]
19+
clk = [Signal(bool(0)) for i in range(3)]
20+
counter = [dff(q, d, clk) for i in range(2)]
2121
@always(delay(10))
2222
def clkgen():
2323
clk.next = not clk
24-
2524
@always(clk.negedge)
2625
def stimulus():
2726
d.next = randrange(2)
28-
2927
return dff_inst, clkgen, stimulus
3028

3129
def simulate(timesteps):
@@ -34,8 +32,8 @@ def simulate(timesteps):
3432
sim = Simulation(tb)
3533
sim.run(timesteps)
3634

37-
simulate(2000)
38-
35+
s=Simulation(test_dff())
36+
s.run(2000)
3937
def convert():
4038
q, d, clk = [Signal(bool(0)) for i in range(3)]
4139
toVerilog(dff, q, d, clk)

myhdl_examples/example.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from myhdl import *
2+
3+
4+
def tff(t,q, d, clk):
5+
@always(clk.posedge)
6+
def toggle():
7+
q.next =not q
8+
def store():
9+
q.next= d
10+
if t==1 :
11+
return logic
12+
else:
13+
return store

myhdl_examples/example_1.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from myhdl import *
2+
3+
4+
def tff(t,q, d, clk):
5+
@always(clk.posedge)
6+
def toggle():
7+
q.next =not q
8+
def store():
9+
q.next= d
10+
if t==1 :
11+
return logic
12+
else:
13+
return store

0 commit comments

Comments
 (0)