<?xml version="1.0" encoding="UTF-8"?>
<net name="SimpleBuffer_Receiver_4Phase" type="iopt-flow">
  <place id="p001" x="540" y="175" init_marking="1">
    <name off_x="-10" off_y="-10" text="AllowCom"/>
    <comment off_x="0" off_y="20" text="-"/>
  </place>
  <place id="p003" x="545" y="285" init_marking="0">
    <name off_x="-10" off_y="-10" text="Ack"/>
    <comment off_x="0" off_y="20" text="-"/>
  </place>
  <transition id="t004" x="465" y="175" priority="0">
    <name off_x="-10" off_y="-10" text="t004"/>
    <comment off_x="-10" off_y="20" text="-"/>
  </transition>
  <transition id="t006" x="620" y="175" priority="0">
    <name off_x="-10" off_y="-10" text="t006"/>
    <comment off_x="-10" off_y="20" text="-"/>
  </transition>
  <arc id="a007" type="normal" source="p001" target="t004"/>
  <arc id="a010" type="normal" source="t004" target="p003"/>
  <arc id="a011" type="normal" source="p003" target="t006"/>
  <arc id="a012" type="normal" source="t006" target="p001"/>
  <event id="Delay" x="540" y="220" mode="input"/>
  <arc id="a014" type="read" source="Delay" target="t004"/>
  <arc id="a015" type="read" source="Delay" target="t006"/>
  <signal id="Ack" x="610" y="285" mode="output" type="boolean" min="0" max="1" dynamic="none" frac="0" value="0"/>
  <arc id="a017" type="read" source="p003" target="Ack"/>
  <signal id="Req" x="465" y="105" mode="input" type="boolean" min="0" max="1"/>
  <operation id="o019" x="545" y="105" rot="0" shape="arrow" size="16">
    <name off_x="-11" off_y="-16" text="o019"/>
    <input off_x="-16" off_y="0" name="Req" id="o019.Req" type="boolean" min="0" max="1" dynamic="all"/>
    <output off_x="16" off_y="0" name="out" id="o019.out" type="range" min="-32768" max="32767" dynamic="type" frac="0">
      <expression>
        <operand type="signal" idRef="Req" neg="true"/>
        <text>NOT(Req)</text>
      </expression>
    </output>
  </operation>
  <arc id="a020" type="read" source="Req" target="t004"/>
  <arc id="a021" type="read" source="Req" target="o019.Req"/>
  <arc id="a022" type="read" source="o019.out" target="t006" c1_x="19" c1_y="0" c2_x="0" c2_y="-10"/>
  <signal id="NewData" x="350" y="310" mode="output" type="boolean" min="0" max="1" dynamic="none" frac="0" value="0"/>
  <place id="p038" x="270" y="310" init_marking="0">
    <name off_x="-10" off_y="-10" text="DataReady"/>
    <comment off_x="0" off_y="20" text="-"/>
  </place>
  <transition id="t040" x="145" y="310" priority="0">
    <name off_x="-10" off_y="-10" text="t040"/>
    <comment off_x="-10" off_y="20" text="-"/>
  </transition>
  <arc id="a042" type="read" source="p038" target="NewData"/>
  <arc id="a046" type="normal" source="p038" target="t040"/>
  <place id="p017" x="205" y="240" init_marking="1">
    <name off_x="-10" off_y="-10" text="DataReady_cmpl"/>
    <comment off_x="0" off_y="20" text="-"/>
  </place>
  <arc id="a018" type="normal" source="t040" target="p017"/>
  <place id="p011" x="370" y="175" init_marking="0">
    <name off_x="-10" off_y="-10" text="Buffer"/>
    <comment off_x="0" off_y="20" text="-"/>
  </place>
  <transition id="t012" x="270" y="175" priority="0">
    <name off_x="-10" off_y="-10" text="t012"/>
    <comment off_x="-10" off_y="20" text="-"/>
  </transition>
  <arc id="a013" type="normal" source="t004" target="p011"/>
  <arc id="a016" type="normal" source="p011" target="t012"/>
  <arc id="a023" type="normal" source="p017" target="t012"/>
  <arc id="a024" type="normal" source="t012" target="p038"/>
  <event id="Release" x="145" y="175" mode="input"/>
  <arc id="a080" type="read" source="Release" target="t040"/>
  <operation id="o081" x="415" y="255" rot="0" shape="arrow" size="24">
    <name off_x="-19" off_y="-24" text="o081"/>
    <input off_x="-24" off_y="-8" name="p011" id="o081.p011" type="range" min="0" max="255" dynamic="all" frac="0"/>
    <input off_x="-24" off_y="8" name="BufferSize" id="o081.BufferSize" type="range" dynamic="all" min="0" max="255" frac="0"/>
    <output off_x="24" off_y="0" name="out" id="o081.out" type="boolean" min="0" max="1" dynamic="type" frac="0">
      <expression>
        <operand type="signal" idRef="BufferSize"/>
        <operator type="more"/>
        <operand type="signal" idRef="p011"/>
        <text>BufferSize &gt; p011</text>
      </expression>
    </output>
  </operation>
  <arc id="a082" type="read" source="p011" target="o081.p011" view="symbolic"/>
  <arc id="a083" type="read" source="o081.out" target="t004" c1_x="16" c1_y="0" c2_x="0" c2_y="0"/>
  <signal id="BufferSize" x="332" y="263" mode="input" type="range" min="0" max="255" frac="0" value="0" dynamic="none"/>
  <arc id="a087" type="read" source="BufferSize" target="o081.BufferSize"/>
  <signal id="Buffer" x="370" y="105" mode="output" type="range" min="0" max="255" dynamic="type" frac="0"/>
  <arc id="a002" type="read" source="p011" target="Buffer"/>
</net>
