m_fibonacci.od 675 B

1234567891011121314151617181920212223242526272829303132333435
  1. # Adder, two inputs, one output
  2. adder:Function {
  3. func = ```
  4. read('n0_in') + read('n1_in')
  5. ```;
  6. }
  7. n0_in:InPort
  8. n1_in:InPort
  9. n2_out:OutPort
  10. :hasInPort (adder -> n0_in)
  11. :hasInPort (adder -> n1_in)
  12. :hasOutPort (adder -> n2_out)
  13. # Delay block 0
  14. d0:Delay
  15. d0_in:InPort
  16. d0_out:OutPort
  17. :hasInPort (d0 -> d0_in)
  18. :hasOutPort (d0 -> d0_out)
  19. # Delay block 1
  20. d1:Delay
  21. d1_in:InPort
  22. d1_out:OutPort
  23. :hasInPort (d1 -> d1_in)
  24. :hasOutPort (d1 -> d1_out)
  25. # Connections
  26. conn0:link (n2_out -> d1_in) # n2 becomes n1 in next step
  27. conn1:link (d1_out -> d0_in) # n1 becomes n0 in next step
  28. conn2:link (d1_out -> n1_in) # n1 input to adder
  29. conn3:link (d0_out -> n0_in) # n0 input to adder