Skip to content
Snippets Groups Projects
Commit 7d9c0de7 authored by Arvid Westerlund's avatar Arvid Westerlund
Browse files

Added fixtures for testing of unfolding. Fixed unused output in fixture...

Added fixtures for testing of unfolding. Fixed unused output in fixture precedence_sfg_registers_and_constants
parent c4d0db07
No related branches found
No related tags found
No related merge requests found
Pipeline #15575 passed
......@@ -88,6 +88,45 @@ def sfg_delay():
out1 = Output(reg1)
return SFG(inputs=[in1], outputs=[out1])
@pytest.fixture
def sfg_simple_accumulator():
"""Valid SFG with one input and one output. With feedback. Explained in lecture 5.
in>--->add>-------o--->out
^ |
| |
|--<T<-----
"""
data_in = Input()
reg = Register()
add = data_in + reg
reg.input(0).connect(add)
data_out = Output(add)
return SFG(inputs=[data_in], outputs=[data_out], name="simple_accumulator")
@pytest.fixture
def sfg_unfolded_simple_accumulator():
"""Valid unfolded simple accumulator SFG with two inputs and two outputs. With feedback. Explained in lecture 5.
in(2n)>----->add>---o------->out(2n)
^ |
| |
^ |
T<----|----
| |
|------ |
v ^
in(2n+1)>--->add> ------o--->out(2n+1)
"""
in_2n = Input()
in_2n1 = Input()
add_upper = Addition()
add_lower = in_2n1 + add_upper
reg = Register(add_lower)
add_upper.input(0).connect(in_2n)
add_upper.input(1).connect(reg)
out_2n = Output(add_upper)
out_2n1 = Output(add_lower)
return SFG(inputs=[in_2n, in_2n1], outputs=[out_2n, out_2n1], name="unfolded_simple_accumulator")
@pytest.fixture
def sfg_accumulator():
......@@ -177,4 +216,4 @@ def precedence_sfg_registers_and_constants():
out1 = Output(bfly1.output(0), "OUT1")
out2 = Output(bfly1.output(1), "OUT2")
return SFG(inputs=[in1], outputs=[out1], name="SFG")
return SFG(inputs=[in1], outputs=[out1, out2], name="SFG")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment