symbiflow-arch-defs
symbiflow-arch-defs

wemux

Physical Block XML

<pb_type name="WE_MUX" num_pb="1">
  <input name="CE" num_pins="1"/>
  <input name="WE" num_pins="1"/>

  <!-- Insert another edge between WE and WE_OUT to increase it's cost.
      This nudges the pack router to prefer the CE connection, when possible.
    !-->
  <pb_type name="EXTRA_WE_EDGE" num_pb="1">
    <input name="WE" num_pins="1"/>
    <output name="WE_OUT" num_pins="1"/>

    <interconnect>
      <direct name="EDGE" input="EXTRA_WE_EDGE.WE" output="EXTRA_WE_EDGE.WE_OUT" />
    </interconnect>
  </pb_type>

  <output name="WE_OUT" num_pins="1"/>

  <interconnect>
    <direct name="WE_IN_TO_EDGE" input="WE_MUX.WE" output="EXTRA_WE_EDGE.WE" />
    <mux name="WE_MUX" input="WE_MUX.CE EXTRA_WE_EDGE.WE_OUT" output="WE_MUX.WE_OUT">
      <metadata>
        <meta name="fasm_mux">
          WE_MUX.CE = WEMUX.CE
          EXTRA_WE_EDGE.WE_OUT = NULL
        </meta>
      </metadata>
    </mux>
  </interconnect>

  <metadata>
    <meta name="type">bel</meta>
    <meta name="subtype">routing</meta>
  </metadata>
</pb_type>

Table Of Contents