|
|
@@ -29,20 +29,20 @@ we can implement the first equation. This yields:
|
|
|
.. code-block:: python
|
|
|
|
|
|
class FibonacciGen(CBD):
|
|
|
- def __init__(self, block_name):
|
|
|
- CBD.__init__(self, block_name, input_ports=[], output_ports=['OUT1'])
|
|
|
+ def __init__(self, block_name):
|
|
|
+ CBD.__init__(self, block_name, input_ports=[], output_ports=['OUT1'])
|
|
|
|
|
|
- # Create the Blocks
|
|
|
- self.addBlock(DelayBlock("delay1"))
|
|
|
- self.addBlock(DelayBlock("delay2"))
|
|
|
- self.addBlock(AdderBlock("sum"))
|
|
|
+ # Create the Blocks
|
|
|
+ self.addBlock(DelayBlock("delay1"))
|
|
|
+ self.addBlock(DelayBlock("delay2"))
|
|
|
+ self.addBlock(AdderBlock("sum"))
|
|
|
|
|
|
- # Create the Connections
|
|
|
- self.addConnection("delay1", "delay2")
|
|
|
- self.addConnection("delay1", "sum")
|
|
|
- self.addConnection("delay2", "sum")
|
|
|
- self.addConnection("sum", "delay1", input_port_name='IN1')
|
|
|
- self.addConnection("sum", "OUT1")
|
|
|
+ # Create the Connections
|
|
|
+ self.addConnection("delay1", "delay2")
|
|
|
+ self.addConnection("delay1", "sum")
|
|
|
+ self.addConnection("delay2", "sum")
|
|
|
+ self.addConnection("sum", "delay1", input_port_name='IN1')
|
|
|
+ self.addConnection("sum", "OUT1")
|
|
|
|
|
|
Now, at time :code:`0` **and** at time :code:`1`, we would like to output :code:`1`.
|
|
|
We know:
|
|
|
@@ -73,24 +73,24 @@ The complete generator is therefore as follows:
|
|
|
from CBD.lib.std import ConstantBlock, AdderBlock, DelayBlock
|
|
|
|
|
|
class FibonacciGen(CBD):
|
|
|
- def __init__(self, block_name):
|
|
|
- CBD.__init__(self, block_name, input_ports=[], output_ports=['OUT1'])
|
|
|
-
|
|
|
- # Create the Blocks
|
|
|
- self.addBlock(DelayBlock("delay1"))
|
|
|
- self.addBlock(DelayBlock("delay2"))
|
|
|
- self.addBlock(AdderBlock("sum"))
|
|
|
- self.addBlock(ConstantBlock("zero", value=0))
|
|
|
- self.addBlock(ConstantBlock("one", value=1))
|
|
|
-
|
|
|
- # Create the Connections
|
|
|
- self.addConnection("delay1", "delay2")
|
|
|
- self.addConnection("delay1", "sum")
|
|
|
- self.addConnection("delay2", "sum")
|
|
|
- self.addConnection("sum", "delay1", input_port_name='IN1')
|
|
|
- self.addConnection("sum", "OUT1")
|
|
|
- self.addConnection("zero", "delay1", input_port_name='IC')
|
|
|
- self.addConnection("one", "delay2", input_port_name='IC')
|
|
|
+ def __init__(self, block_name):
|
|
|
+ CBD.__init__(self, block_name, input_ports=[], output_ports=['OUT1'])
|
|
|
+
|
|
|
+ # Create the Blocks
|
|
|
+ self.addBlock(DelayBlock("delay1"))
|
|
|
+ self.addBlock(DelayBlock("delay2"))
|
|
|
+ self.addBlock(AdderBlock("sum"))
|
|
|
+ self.addBlock(ConstantBlock("zero", value=0))
|
|
|
+ self.addBlock(ConstantBlock("one", value=1))
|
|
|
+
|
|
|
+ # Create the Connections
|
|
|
+ self.addConnection("delay1", "delay2")
|
|
|
+ self.addConnection("delay1", "sum")
|
|
|
+ self.addConnection("delay2", "sum")
|
|
|
+ self.addConnection("sum", "delay1", input_port_name='IN1')
|
|
|
+ self.addConnection("sum", "OUT1")
|
|
|
+ self.addConnection("zero", "delay1", input_port_name='IC')
|
|
|
+ self.addConnection("one", "delay2", input_port_name='IC')
|
|
|
|
|
|
When running the simulation for 10 time-units, we obtain the first 10 values:
|
|
|
|