<?xml version="1.0" encoding="UTF-8"?>
<processnetwork xmlns="http://www.tik.ee.ethz.ch/~shapes/schema/PROCESSNETWORK" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.tik.ee.ethz.ch/~shapes/schema/PROCESSNETWORK http://www.tik.ee.ethz.ch/~shapes/schema/processnetwork.xsd" name="model1">

<variable value="2" name="N"/>
<process name="generator">
	<iterator variable ="i" range="N">
		<iterator variable ="j" range="N">
			<port type="output" name="OUT">
				<append function="i"/>
				<append function="j"/>
			</port>
		</iterator>
	</iterator>
	<source type="c" location="generator.c"/>
</process>

<process name="consumer">
	<iterator variable ="i" range="N">
		<iterator variable ="j" range="N">
			<port type="input" name="IN">
				<append function="i"/>
				<append function="j"/>
			</port>
		</iterator>
	</iterator>
	<source type="c" location="consumer.c"/>
</process>

<process name = "p_0_0">
	<port type = "input" name = "port_generator"/>
	<port type = "output" name = "OUTx1x0"/>
	<port type = "output" name = "port_consumer"/>
	<source type="c" location="p_0_0.c"/>
</process>

<process name = "p_1_1">
	<port type = "input" name = "port_generator"/>
	<port type = "input" name = "INx1x0"/>
	<port type = "output" name = "port_consumer"/>
	<source type="c" location="p_1_1.c"/>
</process>

<process name = "p_1_0">
	<port type = "input" name = "port_generator"/>
	<port type = "input" name = "INx0x0"/>
	<port type = "output" name = "OUTx1x1"/>
	<port type = "output" name = "port_consumer"/>
	<source type="c" location="p_1_0.c"/>
</process>

<sw_channel type="fifo" size="5120" name="FIFO_GEN_0_0">
	<port type="input" name="0"/>
	 <port type="output" name="1"/>
</sw_channel>

<sw_channel type="fifo" size="5120" name="FIFO_0_0_CON">
	<port type="input" name="0"/>
	 <port type="output" name="1"/>
</sw_channel>

<sw_channel type="fifo" size="5120" name="FIFO_GEN_1_0">
	<port type="input" name="0"/>
	 <port type="output" name="1"/>
</sw_channel>

<sw_channel type="fifo" size="5120" name="FIFO_1_0_CON">
	<port type="input" name="0"/>
	 <port type="output" name="1"/>
</sw_channel>

<sw_channel type="fifo" size="5120" name="FIFO_GEN_1_1">
	<port type="input" name="0"/>
	 <port type="output" name="1"/>
</sw_channel>

<sw_channel type="fifo" size="5120" name="FIFO_1_1_CON">
	<port type="input" name="0"/>
	 <port type="output" name="1"/>
</sw_channel>

<sw_channel type="fifo" size="5120" name="FIFO_0_0_1_0">
	<port type="input" name="0"/>
	<port type="output" name="1"/>
</sw_channel>
<sw_channel type="fifo" size="5120" name="FIFO_1_0_1_1">
	<port type="input" name="0"/>
	<port type="output" name="1"/>
</sw_channel>
<connection name="g-f_gen_0_0">
	<origin name="generator">
		<port name="OUT_0_0"/>
	</origin>
	<target name="FIFO_GEN_0_0">
		<port name="0"/>
	</target>
</connection>

<connection name="f-p_gen_0_0">
	<origin name="FIFO_GEN_0_0">
		<port name="1"/>
	</origin>
	<target name="p_0_0">
		<port name="port_generator"/>
	</target>
</connection>

<connection name="p-f_0_0_con">
	<origin name="p_0_0">
		<port name="port_consumer"/>
	</origin>
	<target name="FIFO_0_0_CON">
		<port name="0"/>
	</target>
</connection>

<connection name="f-c_0_0_con">
	<origin name="FIFO_0_0_CON">
		<port name="1"/>
	</origin>
	<target name="consumer">
		<port name="IN_0_0"/>
	</target>
</connection>

<connection name="g-f_gen_1_0">
	<origin name="generator">
		<port name="OUT_1_0"/>
	</origin>
	<target name="FIFO_GEN_1_0">
		<port name="0"/>
	</target>
</connection>

<connection name="f-p_gen_1_0">
	<origin name="FIFO_GEN_1_0">
		<port name="1"/>
	</origin>
	<target name="p_1_0">
		<port name="port_generator"/>
	</target>
</connection>

<connection name="p-f_1_0_con">
	<origin name="p_1_0">
		<port name="port_consumer"/>
	</origin>
	<target name="FIFO_1_0_CON">
		<port name="0"/>
	</target>
</connection>

<connection name="f-c_1_0_con">
	<origin name="FIFO_1_0_CON">
		<port name="1"/>
	</origin>
	<target name="consumer">
		<port name="IN_1_0"/>
	</target>
</connection>

<connection name="g-f_gen_1_1">
	<origin name="generator">
		<port name="OUT_1_1"/>
	</origin>
	<target name="FIFO_GEN_1_1">
		<port name="0"/>
	</target>
</connection>

<connection name="f-p_gen_1_1">
	<origin name="FIFO_GEN_1_1">
		<port name="1"/>
	</origin>
	<target name="p_1_1">
		<port name="port_generator"/>
	</target>
</connection>

<connection name="p-f_1_1_con">
	<origin name="p_1_1">
		<port name="port_consumer"/>
	</origin>
	<target name="FIFO_1_1_CON">
		<port name="0"/>
	</target>
</connection>

<connection name="f-c_1_1_con">
	<origin name="FIFO_1_1_CON">
		<port name="1"/>
	</origin>
	<target name="consumer">
		<port name="IN_1_1"/>
	</target>
</connection>


<connection name="p-f_0_0_1_0">
	<origin name="p_0_0">
		<port name="OUTx1x0"/>
	</origin>
	<target name="FIFO_0_0_1_0">
		<port name="0"/>
	</target>
</connection>
<connection name="f-p_0_0_1_0">
	<origin name="FIFO_0_0_1_0">
		<port name="1"/>
	</origin>
	<target name="p_1_0">
		<port name="INx0x0"/>
	</target>
</connection>

<connection name="p-f_1_0_1_1">
	<origin name="p_1_0">
		<port name="OUTx1x1"/>
	</origin>
	<target name="FIFO_1_0_1_1">
		<port name="0"/>
	</target>
</connection>
<connection name="f-p_1_0_1_1">
	<origin name="FIFO_1_0_1_1">
		<port name="1"/>
	</origin>
	<target name="p_1_1">
		<port name="INx1x0"/>
	</target>
</connection>

</processnetwork>