| <?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> |