symbiflow-arch-defs
symbiflow-arch-defs

iob33s

Physical Block XML

<!-- set: ai sw=1 ts=1 sta et -->
<pb_type name="IOB33S" num_pb="1" xmlns:xi="http://www.w3.org/2001/XInclude">
  <input name="DIFFI_IN" num_pins="1"/>
  <output name="DIFFO_OUT" num_pins="1"/>
  <input name="DIFFO_IN" num_pins="1"/>
  <output name="I" num_pins="1"/>
  <input name="IBUFDISABLE" num_pins="1"/>
  <input name="INTERMDISABLE" num_pins="1"/>
  <input name="KEEPER_INT_EN" num_pins="1"/>
  <input name="O" num_pins="1"/>
  <output name="O_OUT" num_pins="1"/>
  <output name="PADOUT" num_pins="1"/>
  <input name="PD_INT_EN" num_pins="1"/>
  <input name="PU_INT_EN" num_pins="1"/>
  <input name="T" num_pins="1"/>
  <output name="T_OUT" num_pins="1"/>

  <pb_type name="IOB33_MODES" num_pb="1">
    <input name="DIFFI_IN" num_pins="1"/>
    <output name="DIFFO_OUT" num_pins="1"/>
    <input name="DIFFO_IN" num_pins="1"/>
    <output name="I" num_pins="1"/>
    <input name="IBUFDISABLE" num_pins="1"/>
    <input name="INTERMDISABLE" num_pins="1"/>
    <input name="KEEPER_INT_EN" num_pins="1"/>
    <input name="O" num_pins="1"/>
    <output name="O_OUT" num_pins="1"/>
    <output name="PADOUT" num_pins="1"/>
    <input name="PD_INT_EN" num_pins="1"/>
    <input name="PU_INT_EN" num_pins="1"/>
    <input name="T" num_pins="1"/>
    <output name="T_OUT" num_pins="1"/>

    <xi:include href="../iob33/modes/no_ibuf.xml"/>
    <xi:include href="../iob33/modes/no_obuf.xml"/>
    <xi:include href="../iob33/modes/ibuf.xml"/>
    <xi:include href="../iob33/modes/obuft.xml"/>
    <xi:include href="../iob33/modes/iobuf.xml"/>

    <mode name="OBUFTDS_S">
      <xi:include href="../iob33/outpad.pb_type.xml"/>

      <pb_type name="OBUFTDS_S_VPR" blif_model=".subckt OBUFTDS_S_VPR" num_pb="1">
        <input name="IB" num_pins="1"/>
        <output name="OB" num_pins="1"/>
        <delay_constant max="10e-12" in_port="IB" out_port="OB"/>

        <metadata>
          <meta name="fasm_params">
            LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15.SLEW.SLOW = LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW
            LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.STEPDOWN = LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN
            LVCMOS15_SSTL15.DRIVE.I16_I_FIXED = LVCMOS15_SSTL15_DRIVE_I16_I_FIXED
            SSTL135.DRIVE.I_FIXED = SSTL135_DRIVE_I_FIXED
            SSTL135_SSTL15.SLEW.FAST = SSTL135_SSTL15_SLEW_FAST
            IN_TERM.UNTUNED_SPLIT_40 = IN_TERM_UNTUNED_SPLIT_40
            IN_TERM.UNTUNED_SPLIT_50 = IN_TERM_UNTUNED_SPLIT_50
            IN_TERM.UNTUNED_SPLIT_60 = IN_TERM_UNTUNED_SPLIT_60
            PULLTYPE.PULLUP = PULLTYPE_PULLUP
            PULLTYPE.PULLDOWN = PULLTYPE_PULLDOWN
            PULLTYPE.NONE = PULLTYPE_NONE
            PULLTYPE.KEEPER = PULLTYPE_KEEPER
          </meta>
        </metadata>
      </pb_type>

      <interconnect>
        <direct name="DIFFO_IN" input="IOB33_MODES.DIFFO_IN" output="OBUFTDS_S_VPR.IB"/>
        <direct name="O" input="OBUFTDS_S_VPR.OB"  output="outpad.outpad">
          <pack_pattern name="OBUFTDS_S_to_outpad"/>
        </direct>
       </interconnect>

    </mode>

    <mode name="IOBUFDS_S">
      <xi:include href="../iob33/inpad.pb_type.xml"/>
      <xi:include href="../iob33/outpad.pb_type.xml"/>

      <pb_type name="IOBUFDS_S_VPR" blif_model=".subckt IOBUFDS_S_VPR" num_pb="1">
        <input  name="IB" num_pins="1"/>
        <output name="OB" num_pins="1"/>
        <input  name="IOPAD_$inp" num_pins="1"/>
        <output name="IOPAD_$out" num_pins="1"/>

        <delay_constant max="10e-12" in_port="IB" out_port="IOPAD_$out"/>
        <delay_constant max="10e-12" in_port="IOPAD_$inp" out_port="OB"/>

        <metadata>
          <meta name="fasm_params">
            LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15.SLEW.SLOW = LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW
            LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.STEPDOWN = LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN
            LVCMOS15_SSTL15.DRIVE.I16_I_FIXED = LVCMOS15_SSTL15_DRIVE_I16_I_FIXED
            SSTL135.DRIVE.I_FIXED = SSTL135_DRIVE_I_FIXED
            SSTL135_SSTL15.IN_DIFF = SSTL135_SSTL15_IN_DIFF
            SSTL135_SSTL15.SLEW.FAST = SSTL135_SSTL15_SLEW_FAST
            IN_TERM.UNTUNED_SPLIT_40 = IN_TERM_UNTUNED_SPLIT_40
            IN_TERM.UNTUNED_SPLIT_50 = IN_TERM_UNTUNED_SPLIT_50
            IN_TERM.UNTUNED_SPLIT_60 = IN_TERM_UNTUNED_SPLIT_60
            PULLTYPE.PULLUP = PULLTYPE_PULLUP
            PULLTYPE.PULLDOWN = PULLTYPE_PULLDOWN
            PULLTYPE.NONE = PULLTYPE_NONE
            PULLTYPE.KEEPER = PULLTYPE_KEEPER
          </meta>
        </metadata>
      </pb_type>

      <interconnect>
        <direct name="IB" input="IOB33_MODES.DIFFO_IN" output="IOBUFDS_S_VPR.IB"/>
        <direct name="OB" input="IOBUFDS_S_VPR.OB"     output="IOB33_MODES.PADOUT"/>

        <direct name="IOPAD_$out" input="IOBUFDS_S_VPR.IOPAD_$out" output="outpad.outpad">
          <pack_pattern name="IOBUFDS_S_VPR_to_PAD"/>
        </direct>
        <direct name="IOPAD_$inp" input="inpad.inpad" output="IOBUFDS_S_VPR.IOPAD_$inp">
          <pack_pattern name="IOBUFDS_S_VPR_to_PAD"/>
        </direct>
       </interconnect>

    </mode>

  </pb_type>

  <interconnect>
    <direct name="DIFFI_IN"      input ="IOB33S.DIFFI_IN"      output="IOB33_MODES.DIFFI_IN"/>
    <direct name="DIFFO_OUT"     output="IOB33S.DIFFO_OUT"     input ="IOB33_MODES.DIFFO_OUT"/>
    <direct name="DIFFO_IN"      input ="IOB33S.DIFFO_IN"      output="IOB33_MODES.DIFFO_IN"/>
    <direct name="I"             output="IOB33S.I"             input ="IOB33_MODES.I"/>
    <direct name="IBUFDISABLE"   input ="IOB33S.IBUFDISABLE"   output="IOB33_MODES.IBUFDISABLE"/>
    <direct name="INTERMDISABLE" input ="IOB33S.INTERMDISABLE" output="IOB33_MODES.INTERMDISABLE"/>
    <direct name="KEEPER_INT_EN" input ="IOB33S.KEEPER_INT_EN" output="IOB33_MODES.KEEPER_INT_EN"/>
    <direct name="O"             input ="IOB33S.O"             output="IOB33_MODES.O"/>
    <direct name="O_OUT"         output="IOB33S.O_OUT"         input ="IOB33_MODES.O_OUT"/>
    <direct name="PADOUT"        output="IOB33S.PADOUT"        input ="IOB33_MODES.PADOUT"/>
    <direct name="PD_INT_EN"     input ="IOB33S.PD_INT_EN"     output="IOB33_MODES.PD_INT_EN"/>
    <direct name="PU_INT_EN"     input ="IOB33S.PU_INT_EN"     output="IOB33_MODES.PU_INT_EN"/>
    <direct name="T"             input ="IOB33S.T"             output="IOB33_MODES.T"/>
    <direct name="T_OUT"         output="IOB33S.T_OUT"         input ="IOB33_MODES.T_OUT"/>
  </interconnect>
</pb_type>

Model XML

<models xmlns:xi="http://www.w3.org/2001/XInclude">
  <model name="OBUFTDS_S_VPR">
    <input_ports>
      <port name="IB" combinational_sink_ports="OB"/>
    </input_ports>
    <output_ports>
      <port name="OB"/>
    </output_ports>
  </model>
  <model name="IOBUFDS_S_VPR">
    <input_ports>
      <port name="IB" combinational_sink_ports="IOPAD_$out"/>
      <port name="IOPAD_$inp" combinational_sink_ports="OB"/>
    </input_ports>
    <output_ports>
      <port name="OB"/>
      <port name="IOPAD_$out"/>
    </output_ports>
  </model>
</models>

Table Of Contents