blob: 105378440fce7e48306ec8978abbecde3cdff968 [file] [log] [blame]
<?xml version="1.0"?>
<!-- Make sure existing interconnect values are preserved. -->
<xml>
<pb_type name="parent">
<input name="ia1"/>
<input name="ia2"/>
<input name="ia3"/>
<output name="o0"/>
<output name="o1"/>
<pb_type name="childa">
<input name="i1"/>
<input name="i2"/>
<output name="o"/>
</pb_type>
<pb_type name="childb">
<input name="i"/>
<output name="o"/>
</pb_type>
<pb_type name="childc">
<input name="i"/>
<output name="o"/>
</pb_type>
<interconnect>
<direct input="parent.ia1" name="childa-i1" output="childa.i1"/>
<mux name="childa-input-i2" input="parent.ia2 parent.ia3" output="childa.i2">
<pack_pattern name="MUX1" in_port="parent.ia2" output="childa.i2" />
<pack_pattern name="MUX2" in_port="parent.ia3" output="childa.i2" />
</mux>
<direct input="childa.o" name="parent-o0" output="parent.o0">
<pack_pattern name="CARRY" in_port="childa.o" output="parent.o0" />
</direct>
<direct input="childa.o" name="childb-i" output="childb.i"/>
<mux name="childc-input" input="childa.o childb.o" output="childc.i"/>
<mux name="output" input="childa.o childb.o childc.o" output="parent.o1"/>
</interconnect>
</pb_type>
</xml>