| <!-- set: ai sw=1 ts=1 sta et --> | 
 | <architecture xmlns:xi="http://www.w3.org/2001/XInclude"> | 
 |  <!-- ODIN-II model description for non-standard block type --> | 
 |  <models> | 
 |   <xi:include href="../../primitives/sb_lut/sb_lut.model.xml"     xpointer="xpointer(models/child::node())" /> | 
 |   <xi:include href="../../primitives/sb_ff/sb_ff.model.xml"       xpointer="xpointer(models/child::node())" /> | 
 |   <xi:include href="../../primitives/sb_carry/sb_carry.model.xml" xpointer="xpointer(models/child::node())" /> | 
 |   <xi:include href="../../primitives/sb_ram/sb_ram.model.xml"     xpointer="xpointer(models/child::node())" /> | 
 |   <!-- | 
 |   <xi:include href="../../primitives/mux4/ice_mux4.model.xml"     xpointer="xpointer(models/child::node())" /> | 
 |   <xi:include href="../../primitives/mux2/ice_mux2.model.xml"     xpointer="xpointer(models/child::node())" /> | 
 |   --> | 
 |  </models> | 
 |  | 
 |  <!-- Description of the block tiles available in the iCE40 --> | 
 |  <complexblocklist> | 
 |   <xi:include href="tiles/plb/plb.pb_type.xml"/> | 
 |   <xi:include href="tiles/ram/ram.pb_type.xml"/> | 
 |   <xi:include href="tiles/pio/pio.pb_type.xml"/> | 
 |   <xi:include href="tiles/dsp/dsp.pb_type.xml"/> | 
 |  </complexblocklist> | 
 |  | 
 |  <!-- Description of the tile layouts available in the iCE40 family --> | 
 |  <layout> | 
 |   <!-- lp384 --> | 
 |   <xi:include href="../layouts/icebox/lp384.cm36.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp384.cm49.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp384.qn32.fixed_layout.xml"/> | 
 |   <!-- lp1k --> | 
 |   <xi:include href="../layouts/icebox/lp1k.cb121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.cb132.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.cb81.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.cm121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.cm36.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.cm49.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.cm81.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.qn84.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.swg16tr.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.tq144.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp1k.vq100.fixed_layout.xml"/> | 
 |   <!-- lp8k --> | 
 |   <xi:include href="../layouts/icebox/lp8k.bg121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp8k.cb132.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp8k.cm121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp8k.cm225.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp8k.cm81.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/lp8k.ct256.fixed_layout.xml"/> | 
 |   <!-- lm4k --> | 
 |   <xi:include href="../layouts/icebox/lm4k.cm49.fixed_layout.xml"/> | 
 |   <!-- up5k --> | 
 |   <xi:include href="../layouts/icebox/up5k.sg48.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/up5k.uwg30.fixed_layout.xml"/> | 
 |   <!-- hx1k --> | 
 |   <xi:include href="../layouts/icebox/hx1k.cb121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.cb132.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.cb81.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.cm121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.cm36.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.cm49.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.cm81.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.qn84.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.swg16tr.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.tq144.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx1k.vq100.fixed_layout.xml"/> | 
 |   <!-- hx8k --> | 
 |   <xi:include href="../layouts/icebox/hx8k.bg121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx8k.cb132.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx8k.cm121.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx8k.cm225.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx8k.cm81.fixed_layout.xml"/> | 
 |   <xi:include href="../layouts/icebox/hx8k.ct256.fixed_layout.xml"/> | 
 |  </layout> | 
 |  <directlist> | 
 |   <!-- Carry chain from one PLB to the next PLB --> | 
 |   <direct name="CARRYCHAIN" from_pin="PLB.FCOUT" to_pin="PLB.FCIN" x_offset="0" y_offset="-1" z_offset="0"/> | 
 |  </directlist> | 
 |  | 
 |  <device> | 
 |     <sizing R_minW_nmos="6065.520020" R_minW_pmos="18138.500000" /> | 
 |     <area grid_logic_tile_area="14813.392"/> | 
 |     <connection_block input_switch_name="buffer"/> | 
 |     <switch_block type="wilton" fs="3"/> | 
 |     <chan_width_distr> | 
 |       <x distr="uniform" peak="1.000000"/> | 
 |       <y distr="uniform" peak="1.000000"/> | 
 |     </chan_width_distr> | 
 |  </device> | 
 |  | 
 |  <switchlist> | 
 |   <switch type="mux"    name="routing" R="1e-12" Cin=".77e-15" Cout="4e-15" Cinternal="0" Tdel="58e-12" mux_trans_size="2.630740" buf_size="27.645901"/> | 
 |   <switch type="mux"    name="buffer"  R="2e-12" Cin=".77e-15" Cout="4e-15" Cinternal="0" Tdel="58e-12" mux_trans_size="2.630740" buf_size="27.645901"/> | 
 |   <switch type="short"  name="short" R="0" Cin="0" Cout="0" Tdel="0" /> | 
 |   <switch type="buffer" name="driver" Cin="0" Cout="0" R="0" Tdel="0" buf_size="0" /> | 
 | <!-- | 
 |   <switch type="short"  name="short"   R="1" Cin="0"       Cout="0"     Tdel="0" /> | 
 |   <switch type="mux"    name="routing" R="551" Cin=".77e-15" Cout="4e-15" Tdel="58e-12" mux_trans_size="2.630740" buf_size="27.645901"/> | 
 |   <switch type="mux"    name="buffer"  R="551" Cin=".77e-15" Cout="4e-15" Tdel="58e-12" mux_trans_size="2.630740" buf_size="27.645901"/> | 
 |   --> | 
 |  </switchlist> | 
 |  | 
 |  <segmentlist> | 
 |   <!-- Global networks --> | 
 |   <segment name="fabout" length="1" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1</sb> | 
 |    <cb type="pattern">0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="tile_global" length="1" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1</sb> | 
 |    <cb type="pattern">0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_0" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_1" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_2" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_3" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_4" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_5" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_6" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |   <segment name="glb_netwk_7" length="100" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |  | 
 |   <!-- Span 12 vertical   tracks --> | 
 |   <!-- Span 12 horizontal tracks --> | 
 |   <segment name="span12" length="12" freq="50.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1</sb> | 
 |    <cb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1</cb> | 
 |    <mux name="routing"/> | 
 |   </segment> | 
 |  | 
 |   <!-- Span 4 vertical   tracks --> | 
 |   <!-- Span 4 horizontal tracks --> | 
 |   <segment name="span4" length="4" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">1 1 1 1 1</sb> | 
 |    <cb type="pattern">1 1 1 1</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |  | 
 |   <segment name="glb2local" length="1" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">0 1</sb> | 
 |    <cb type="pattern">1</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |  | 
 |   <!-- Local tracks --> | 
 |   <segment name="local" length="1" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">0 1</sb> | 
 |    <cb type="pattern">1</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |  | 
 |   <!-- Neighbourhood tracks --> | 
 |   <segment name="neigh" length="2" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">0 0 0</sb> | 
 |    <cb type="pattern">1 1</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |  | 
 |   <!-- Dummy tracks --> | 
 |   <segment name="dummy" length="1" freq="1.000000" type="unidir" Rmetal="1e-12" Cmetal="22.5e-15"> | 
 |    <sb type="pattern">0 0</sb> | 
 |    <cb type="pattern">0</cb> | 
 |    <mux name="buffer"/> | 
 |   </segment> | 
 |  | 
 |  </segmentlist> | 
 |  | 
 | </architecture> |