1234567891011121314151617181920212223242526272829303132333435 |
- # Adder, two inputs, one output
- adder:Function {
- func = ```
- read('n0_in') + read('n1_in')
- ```;
- }
- n0_in:InPort
- n1_in:InPort
- n2_out:OutPort
- :hasInPort (adder -> n0_in)
- :hasInPort (adder -> n1_in)
- :hasOutPort (adder -> n2_out)
- # Delay block 0
- d0:Delay
- d0_in:InPort
- d0_out:OutPort
- :hasInPort (d0 -> d0_in)
- :hasOutPort (d0 -> d0_out)
- # Delay block 1
- d1:Delay
- d1_in:InPort
- d1_out:OutPort
- :hasInPort (d1 -> d1_in)
- :hasOutPort (d1 -> d1_out)
- # Connections
- conn0:link (n2_out -> d1_in) # n2 becomes n1 in next step
- conn1:link (d1_out -> d0_in) # n1 becomes n0 in next step
- conn2:link (d1_out -> n1_in) # n1 input to adder
- conn3:link (d0_out -> n0_in) # n0 input to adder
|