Select Git revision
AddFiveOnce_0.xlim
AddFiveOnce_0.xlim 12.72 KiB
<?xml version="1.0" encoding="UTF-8"?>
<!--Actor AddFiveOnce--><design name="AddFiveOnce">
<actor-port dir="in" name="In" size="32" typeName="int"/>
<actor-port dir="out" name="Out" size="32" typeName="int"/>
<!--Action 0$id$w146ab2--><module autostart="false" kind="action" name="init">
<operation kind="pinRead" portName="In" removable="no" style="simple">
<port dir="out" size="32" source="0$id$w146ab2b3b1" typeName="int"/>
</operation>
<!--Expr 0$id$w146ab2b5b1ab1--><operation kind="noop">
<port dir="in" source="0$id$w146ab2b3b1"/>
<port dir="out" size="32" source="0$id$w146ab2b5b1ab1" typeName="int"/>
</operation>
<!--Expr 1$id$w561ab3b5b1ab1b1--><operation kind="$literal_Integer" value="5">
<port dir="out" size="4" source="1$id$w561ab3b5b1ab1b1" typeName="int"/>
</operation>
<!--Expr 1$id$w561ab3b5b1a--><operation kind="$add">
<port dir="in" source="0$id$w146ab2b5b1ab1"/>
<port dir="in" source="1$id$w561ab3b5b1ab1b1"/>
<port dir="out" size="33" source="1$id$w561ab3b5b1a" typeName="int"/>
</operation>
<!--Expr 0$id$w146ab2b5b1--><operation kind="noop">
<port dir="in" source="1$id$w561ab3b5b1a"/>
<port dir="out" size="33" source="0$id$w146ab2b5b1" typeName="int"/>
</operation>
<operation kind="pinWrite" portName="Out" style="simple">
<port dir="in" source="0$id$w146ab2b5b1"/>
</operation>
</module>
<!--Action 0$id$w146ab3--><module autostart="false" kind="action" name="run">
<operation kind="pinRead" portName="In" removable="no" style="simple">
<port dir="out" size="32" source="0$id$w146ab3b3b1" typeName="int"/>
</operation>
<!--Expr 0$id$w146ab3b5b1a--><operation kind="noop">
<port dir="in" source="0$id$w146ab3b3b1"/>
<port dir="out" size="32" source="0$id$w146ab3b5b1a" typeName="int"/>
</operation>
<!--Expr 0$id$w146ab3b5b1--><operation kind="noop">
<port dir="in" source="0$id$w146ab3b5b1a"/>
<port dir="out" size="32" source="0$id$w146ab3b5b1" typeName="int"/>
</operation>
<operation kind="pinWrite" portName="Out" style="simple">
<port dir="in" source="0$id$w146ab3b5b1"/>
</operation>
</module>
<stateVar name="0$id$w146a$fsm$init">
<initValue size="1" typeName="bool" value="1"/>
</stateVar>
<stateVar name="0$id$w146a$fsm$run">
<initValue size="1" typeName="bool" value="0"/>
</stateVar>
<module autostart="true" kind="action-scheduler" name="action-scheduler"
sourceName="action-scheduler">
<operation kind="$literal_Integer" value="1">
<port dir="out" size="1" source="0$id$w146a$sched$true" typeName="bool"/>
</operation>
<module kind="loop">
<module decision="0$id$w146a$sched$true$loop" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146a$sched$true"/>
<port dir="out" size="1" source="0$id$w146a$sched$true$loop" typeName="bool"/>
</operation>
</module>
<module kind="body">
<operation kind="pinAvail" portName="In">
<port dir="out" size="32" source="In$pinAvail" typeName="int"/>
</operation>
<!--Input peeks for action 0$id$w146ab2--><operation kind="$literal_Integer" value="1">
<port dir="out" size="32" source="0$id$w146ab2b3$In$tokenCount" typeName="int"/>
</operation>
<operation kind="$ge">
<port dir="in" source="In$pinAvail"/>
<port dir="in" source="0$id$w146ab2b3$In$tokenCount"/>
<port dir="out" size="1" source="0$id$w146ab2b3$ready" typeName="bool"/>
</operation>
<operation kind="$literal_Integer" value="0">
<port dir="out" size="1" source="0$id$w146ab2b3b1$index$1" typeName="int"/>
</operation>
<operation kind="pinPeek" portName="In">
<port dir="in" source="0$id$w146ab2b3b1$index$1"/>
<port dir="out" size="32" source="0$id$w146ab2b3b1" typeName="int"/>
</operation>
<!--Local variables used in guards of action 0$id$w146ab2--><!--Guard for action 0$id$w146ab2--><operation kind="$and">
<port dir="in" source="0$id$w146ab2b3$ready"/>
<port dir="out" size="1" source="0$id$w146ab2$guard" typeName="bool"/>
</operation>
<!--Input peeks for action 0$id$w146ab3--><operation kind="$literal_Integer" value="1">
<port dir="out" size="32" source="0$id$w146ab3b3$In$tokenCount" typeName="int"/>
</operation>
<operation kind="$ge">
<port dir="in" source="In$pinAvail"/>
<port dir="in" source="0$id$w146ab3b3$In$tokenCount"/>
<port dir="out" size="1" source="0$id$w146ab3b3$ready" typeName="bool"/>
</operation>
<operation kind="$literal_Integer" value="0">
<port dir="out" size="1" source="0$id$w146ab3b3b1$index$1" typeName="int"/>
</operation>
<operation kind="pinPeek" portName="In">
<port dir="in" source="0$id$w146ab3b3b1$index$1"/>
<port dir="out" size="32" source="0$id$w146ab3b3b1" typeName="int"/>
</operation>
<!--Local variables used in guards of action 0$id$w146ab3--><!--Guard for action 0$id$w146ab3--><operation kind="$and">
<port dir="in" source="0$id$w146ab3b3$ready"/>
<port dir="out" size="1" source="0$id$w146ab3$guard" typeName="bool"/>
</operation>
<operation kind="pinStatus" portName="Out">
<port dir="out" size="1" source="0$id$w146ab1$status" typeName="bool"/>
</operation>
<operation kind="$and">
<port dir="in" source="0$id$w146ab1$status"/>
<port dir="out" size="1" source="0$id$w146ab2$fireable" typeName="bool"/>
</operation>
<operation kind="$and">
<port dir="in" source="0$id$w146ab1$status"/>
<port dir="out" size="1" source="0$id$w146ab3$fireable" typeName="bool"/>
</operation>
<operation kind="noop">
<port dir="in" source="0$id$w146a$fsm$init"/>
<port dir="out" size="1" source="0$id$w146a$fsm$copy$init" typeName="bool"/>
</operation>
<operation kind="noop">
<port dir="in" source="0$id$w146a$fsm$run"/>
<port dir="out" size="1" source="0$id$w146a$fsm$copy$run" typeName="bool"/>
</operation>
<module kind="if">
<module decision="init$enabled" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146a$fsm$copy$init"/>
<port dir="out" size="1" source="init$enabled" typeName="bool"/>
</operation>
</module>
<module kind="then">
<module kind="if">
<module decision="init$state$0$id$w146ab2$guard$read" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146ab2$guard"/>
<port dir="out" size="1" source="init$state$0$id$w146ab2$guard$read" typeName="bool"/>
</operation>
</module>
<module kind="then">
<module kind="if">
<module decision="init$state$0$id$w146ab2$fireable" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146ab2$fireable"/>
<port dir="out" size="1" source="init$state$0$id$w146ab2$fireable" typeName="bool"/>
</operation>
</module>
<module kind="then">
<operation kind="taskCall" target="init"/>
<operation kind="$literal_Integer" value="0">
<port dir="out" size="1" source="d985e1$false" typeName="bool"/>
</operation>
<operation kind="$literal_Integer" value="1">
<port dir="out" size="1" source="d985e1$true" typeName="bool"/>
</operation>
<operation kind="assign" target="0$id$w146a$fsm$init">
<port dir="in" source="d985e1$false"/>
</operation>
<operation kind="assign" target="0$id$w146a$fsm$run">
<port dir="in" source="d985e1$true"/>
</operation>
</module>
</module>
</module>
</module>
</module>
<module kind="else">
<module kind="if">
<module decision="run$enabled" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146a$fsm$copy$run"/>
<port dir="out" size="1" source="run$enabled" typeName="bool"/>
</operation>
</module>
<module kind="then">
<module kind="if">
<module decision="run$state$0$id$w146ab3$guard$read" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146ab3$guard"/>
<port dir="out" size="1" source="run$state$0$id$w146ab3$guard$read" typeName="bool"/>
</operation>
</module>
<module kind="then">
<module kind="if">
<module decision="run$state$0$id$w146ab3$fireable" kind="test">
<operation kind="noop">
<port dir="in" source="0$id$w146ab3$fireable"/>
<port dir="out" size="1" source="run$state$0$id$w146ab3$fireable" typeName="bool"/>
</operation>
</module>
<module kind="then">
<operation kind="taskCall" target="run"/>
<operation kind="$literal_Integer" value="0">
<port dir="out" size="1" source="d986e1$false" typeName="bool"/>
</operation>
<operation kind="$literal_Integer" value="1">
<port dir="out" size="1" source="d986e1$true" typeName="bool"/>
</operation>
<operation kind="assign" target="0$id$w146a$fsm$run">
<port dir="in" source="d986e1$true"/>
</operation>
</module>
</module>
</module>
</module>
</module>
</module>
</module>
</module>
</module>
</module>
</module>
</design>