diff --git a/examples/secondorderdirectformiir.py b/examples/secondorderdirectformiir.py
index 693bb8326e6dc7f618a6c245afb064683daa07ed..f812d10fe86e8a51808d37c98620763b9cb91103 100644
--- a/examples/secondorderdirectformiir.py
+++ b/examples/secondorderdirectformiir.py
@@ -42,4 +42,4 @@ sfg.set_latency_of_type(Addition.type_name(), 1)
 sfg.set_execution_time_of_type(ConstantMultiplication.type_name(), 1)
 sfg.set_execution_time_of_type(Addition.type_name(), 1)
 
-schedule = Schedule(sfg)
+schedule = Schedule(sfg, cyclic=True)
diff --git a/examples/threepointwinograddft.py b/examples/threepointwinograddft.py
new file mode 100644
index 0000000000000000000000000000000000000000..18675f573ef3d2c92d740640418c190a2e84ef76
--- /dev/null
+++ b/examples/threepointwinograddft.py
@@ -0,0 +1,41 @@
+"""Three-point Winograd DFT.
+"""
+
+from b_asic.core_operations import Addition, ConstantMultiplication, Subtraction
+from b_asic.special_operations import Input, Output
+from b_asic.signal_flow_graph import SFG
+from b_asic.schedule import Schedule
+from math import cos, pi, sin
+
+u = -2*pi/3
+c30 = cos(u) - 1
+c31 = sin(u)
+
+
+in0 = Input("x0")
+in1 = Input("x1")
+in2 = Input("x2")
+a0 = in1 + in2
+a1 = in1 - in2
+a2 = a0 + in0
+m0 = c30 * a0
+m1 = c31 * a1
+a3 = a2 + m0
+a4 = a3 + m1
+a5 = a3 - m1
+out0 = Output(a2, "X0")
+out1 = Output(a4, "X1")
+out2 = Output(a5, "X2")
+
+sfg = SFG(inputs=[in0, in1, in2], outputs=[out0, out1, out2],
+          name="3-point Winograd DFT")
+
+# Set latencies and exection times
+sfg.set_latency_of_type(ConstantMultiplication.type_name(), 2)
+sfg.set_latency_of_type(Addition.type_name(), 1)
+sfg.set_latency_of_type(Subtraction.type_name(), 1)
+sfg.set_execution_time_of_type(ConstantMultiplication.type_name(), 1)
+sfg.set_execution_time_of_type(Addition.type_name(), 1)
+sfg.set_execution_time_of_type(Subtraction.type_name(), 1)
+
+schedule = Schedule(sfg, cyclic=False)