diff --git a/modeling/SystemC-AMS/echopen.xml b/modeling/SystemC-AMS/echopen.xml
index f6e87953a7d256e29d1e6d5964d1d55ead3846c6..1124ba3c06e58365876036fd9158952231af71f9 100644
--- a/modeling/SystemC-AMS/echopen.xml
+++ b/modeling/SystemC-AMS/echopen.xml
@@ -7,73 +7,73 @@
 <CONNECTOR type="1601" id="1" >
 <cdparam x="1066" y="656" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="toSoC" />
-<P1  x="1066" y="656" id="105" />
-<P2  x="1215" y="610" id="10" />
+<infoparam name="connector" value="to_SoC" />
+<P1  x="1066" y="656" id="195" />
+<P2  x="1215" y="610" id="20" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="2" >
 <cdparam x="1215" y="552" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="from_SoC" />
-<P1  x="1215" y="552" id="20" />
-<P2  x="1066" y="598" id="115" />
+<P1  x="1215" y="552" id="10" />
+<P2  x="1066" y="598" id="185" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="3" >
 <cdparam x="220" y="637" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="mainreg4" />
-<P1  x="281" y="329" id="261" />
-<P2  x="491" y="329" id="67" />
+<P1  x="281" y="329" id="39" />
+<P2  x="491" y="329" id="233" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="4" >
 <cdparam x="223" y="214" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="adcregi" />
-<P1  x="235" y="211" id="213" />
-<P2  x="235" y="274" id="251" />
+<P1  x="235" y="211" id="87" />
+<P2  x="235" y="274" id="49" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="5" >
 <cdparam x="873" y="495" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="mainreg1" />
-<P1  x="711" y="380" id="57" />
-<P2  x="861" y="380" id="164" />
+<P1  x="711" y="380" id="243" />
+<P2  x="861" y="380" id="136" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="6" >
 <cdparam x="295" y="404" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="mainreg2" />
-<P1  x="910" y="458" id="184" />
-<P2  x="909" y="522" id="125" />
+<P1  x="910" y="458" id="116" />
+<P2  x="909" y="522" id="175" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="7" >
 <cdparam x="944" y="196" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
-<P1  x="981" y="189" id="86" />
-<P2  x="981" y="288" id="154" />
+<P1  x="981" y="189" id="214" />
+<P2  x="981" y="288" id="146" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="8" >
 <cdparam x="529" y="357" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
-<P1  x="1032" y="458" id="174" />
-<P2  x="1032" y="522" id="135" />
+<P1  x="1032" y="458" id="126" />
+<P2  x="1032" y="522" id="165" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="1601" id="9" >
 <cdparam x="454" y="231" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
-<P1  x="571" y="133" id="232" />
-<P2  x="407" y="133" id="203" />
+<P1  x="571" y="133" id="68" />
+<P2  x="407" y="133" id="97" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1608" id="38" >
@@ -93,11 +93,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="1605" id="19" >
 <father id="38" num="0" />
-<cdparam x="1215" y="600" />
+<cdparam x="1215" y="542" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="toSoC" />
+<infoparam name="Primitive port - Port DE" value="from_SoC" />
 <TGConnectingPoint num="0" id="10" />
 <TGConnectingPoint num="1" id="11" />
 <TGConnectingPoint num="2" id="12" />
@@ -108,16 +108,16 @@
 <TGConnectingPoint num="7" id="17" />
 <TGConnectingPoint num="8" id="18" />
 <extraparam>
-<Prop commName="toSoC" commType="0" origin="0" type="int" sensitive="false" sensitive_method="" nbits="0" />
+<Prop commName="from_SoC" commType="0" origin="0" type="int" sensitive="false" sensitive_method="" nbits="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1605" id="29" >
 <father id="38" num="1" />
-<cdparam x="1215" y="542" />
+<cdparam x="1215" y="600" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="from_SoC" />
+<infoparam name="Primitive port - Port DE" value="to_SoC" />
 <TGConnectingPoint num="0" id="20" />
 <TGConnectingPoint num="1" id="21" />
 <TGConnectingPoint num="2" id="22" />
@@ -128,7 +128,7 @@
 <TGConnectingPoint num="7" id="27" />
 <TGConnectingPoint num="8" id="28" />
 <extraparam>
-<Prop commName="from_SoC" commType="0" origin="0" type="int" sensitive="false" sensitive_method="" nbits="0" />
+<Prop commName="to_SoC" commType="0" origin="0" type="int" sensitive="false" sensitive_method="" nbits="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -147,13 +147,37 @@
 <TGConnectingPoint num="6" id="286" />
 <TGConnectingPoint num="7" id="287" />
 </COMPONENT>
-<SUBCOMPONENT type="5721" id="47" >
+<SUBCOMPONENT type="1603" id="67" >
 <father id="288" num="0" />
-<cdparam x="144" y="509" />
+<cdparam x="71" y="284" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="TGComponent" value="my_clk" />
+<infoparam name="Primitive component - Block DE" value="adcre1" />
+<TGConnectingPoint num="0" id="59" />
+<TGConnectingPoint num="1" id="60" />
+<TGConnectingPoint num="2" id="61" />
+<TGConnectingPoint num="3" id="62" />
+<TGConnectingPoint num="4" id="63" />
+<TGConnectingPoint num="5" id="64" />
+<TGConnectingPoint num="6" id="65" />
+<TGConnectingPoint num="7" id="66" />
+<extraparam>
+<Attribute name_function="adcre_main" clockName="my_clk1" clockSensitivityMethod="positive" code="void adcre_main() {
+	//std::cout&lt;&lt;&quot;ADC&quot;&lt;&lt;std::endl;
+	//std::cout&lt;&lt;adcregisterinput.read()&lt;&lt;std::endl;
+	adcregisteroutput.write(adcregisterinput.read());
+}
+                                                                                       " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1605" id="48" >
+<father id="67" num="0" />
+<cdparam x="261" y="319" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
+<infoparam name="Primitive port - Port DE" value="adcregisteroutput" />
 <TGConnectingPoint num="0" id="39" />
 <TGConnectingPoint num="1" id="40" />
 <TGConnectingPoint num="2" id="41" />
@@ -162,285 +186,163 @@
 <TGConnectingPoint num="5" id="44" />
 <TGConnectingPoint num="6" id="45" />
 <TGConnectingPoint num="7" id="46" />
+<TGConnectingPoint num="8" id="47" />
 <extraparam>
-<Attribute name_function="" nameTemplate="" frequency ="0.001" unit="μs" dutyCycle="1.0" startTime="1.0" unitStartTime="μs" posFirst ="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="5721" id="56" >
-<father id="288" num="1" />
-<cdparam x="393" y="508" />
-<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="TGComponent" value="my_clk1" />
-<TGConnectingPoint num="0" id="48" />
-<TGConnectingPoint num="1" id="49" />
-<TGConnectingPoint num="2" id="50" />
-<TGConnectingPoint num="3" id="51" />
-<TGConnectingPoint num="4" id="52" />
-<TGConnectingPoint num="5" id="53" />
-<TGConnectingPoint num="6" id="54" />
-<TGConnectingPoint num="7" id="55" />
-<extraparam>
-<Attribute name_function="" nameTemplate="" frequency ="0.002" unit="μs" dutyCycle="0.5" startTime="0.001" unitStartTime="μs" posFirst ="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1603" id="85" >
-<father id="288" num="2" />
-<cdparam x="501" y="295" />
-<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="Primitive component - Block DE" value="abscalc1" />
-<TGConnectingPoint num="0" id="77" />
-<TGConnectingPoint num="1" id="78" />
-<TGConnectingPoint num="2" id="79" />
-<TGConnectingPoint num="3" id="80" />
-<TGConnectingPoint num="4" id="81" />
-<TGConnectingPoint num="5" id="82" />
-<TGConnectingPoint num="6" id="83" />
-<TGConnectingPoint num="7" id="84" />
-<extraparam>
-<Attribute name_function="abs_calc" clockName="my_clk" clockSensitivityMethod="positive" code=" sc_dt::sc_uint&lt;12&gt; inr;
-sc_dt::sc_uint&lt;12&gt;   inr4;
-sc_dt::sc_uint&lt;12&gt;   inr3,inr1,inr2;
-sc_dt::sc_uint&lt;12&gt;   he1;
-sc_dt::sc_uint&lt;1&gt;    q;
-int asdf;
-void abs_calc () {
-	q=inr[11];
-	inr4=(inputfromadc.read());
-	//hel=abs(inr4);
-	inr=inputfromadc.read();
-	if (inr&lt;2048) {
-		inr1=inr;
-	}
-	else {
-		inr3=~(inr) ;
-		inr1=inr3+1;
-	}
-	absoutput.write(inr1);
-}
-                                                                                        " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="66" >
-<father id="85" num="0" />
-<cdparam x="691" y="370" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="absoutput" />
-<TGConnectingPoint num="0" id="57" />
-<TGConnectingPoint num="1" id="58" />
-<TGConnectingPoint num="2" id="59" />
-<TGConnectingPoint num="3" id="60" />
-<TGConnectingPoint num="4" id="61" />
-<TGConnectingPoint num="5" id="62" />
-<TGConnectingPoint num="6" id="63" />
-<TGConnectingPoint num="7" id="64" />
-<TGConnectingPoint num="8" id="65" />
-<extraparam>
-<Prop commName="absoutput" commType="0" origin="1" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+<Prop commName="adcregisteroutput" commType="0" origin="1" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="76" >
-<father id="85" num="1" />
-<cdparam x="491" y="319" />
+<SUBCOMPONENT type="1605" id="58" >
+<father id="67" num="1" />
+<cdparam x="225" y="274" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="inputfromadc" />
-<TGConnectingPoint num="0" id="67" />
-<TGConnectingPoint num="1" id="68" />
-<TGConnectingPoint num="2" id="69" />
-<TGConnectingPoint num="3" id="70" />
-<TGConnectingPoint num="4" id="71" />
-<TGConnectingPoint num="5" id="72" />
-<TGConnectingPoint num="6" id="73" />
-<TGConnectingPoint num="7" id="74" />
-<TGConnectingPoint num="8" id="75" />
+<infoparam name="Primitive port - Port DE" value="adcregisterinput" />
+<TGConnectingPoint num="0" id="49" />
+<TGConnectingPoint num="1" id="50" />
+<TGConnectingPoint num="2" id="51" />
+<TGConnectingPoint num="3" id="52" />
+<TGConnectingPoint num="4" id="53" />
+<TGConnectingPoint num="5" id="54" />
+<TGConnectingPoint num="6" id="55" />
+<TGConnectingPoint num="7" id="56" />
+<TGConnectingPoint num="8" id="57" />
 <extraparam>
-<Prop commName="inputfromadc" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+<Prop commName="adcregisterinput" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1603" id="104" >
-<father id="288" num="3" />
-<cdparam x="822" y="29" />
+<SUBCOMPONENT type="1602" id="86" >
+<father id="288" num="1" />
+<cdparam x="581" y="58" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="Primitive component - Block DE" value="samplegenerator" />
-<TGConnectingPoint num="0" id="96" />
-<TGConnectingPoint num="1" id="97" />
-<TGConnectingPoint num="2" id="98" />
-<TGConnectingPoint num="3" id="99" />
-<TGConnectingPoint num="4" id="100" />
-<TGConnectingPoint num="5" id="101" />
-<TGConnectingPoint num="6" id="102" />
-<TGConnectingPoint num="7" id="103" />
+<infoparam name="Primitive component - Block TDF" value="mySine1" />
+<TGConnectingPoint num="0" id="78" />
+<TGConnectingPoint num="1" id="79" />
+<TGConnectingPoint num="2" id="80" />
+<TGConnectingPoint num="3" id="81" />
+<TGConnectingPoint num="4" id="82" />
+<TGConnectingPoint num="5" id="83" />
+<TGConnectingPoint num="6" id="84" />
+<TGConnectingPoint num="7" id="85" />
 <extraparam>
-<Attribute name_function="pulse_gen_main" clockName="my_clk" clockSensitivityMethod="positive" code=" sc_dt::sc_int&lt;12&gt; inr;
-void pulse_gen_main(){
-	inr=rand()%4096;
-	outpready.write(1);
-	//genout.write(inr) ;
-	//  expo[j].write((i3));
+<Attribute period="5.0E-4" dynamic="false" time="ms" processCode="void processing() {
+	double t = get_time().to_seconds();
+	//std::cout&lt;&lt;&quot;probe&quot;&lt;&lt;std::endl;
+	//double val=2000.99*std::sin(2.0 * M_PI * freqoftheprobe * t);
+	out1.write(2000.99 * std::sin( 2.0 * M_PI * freqoftheprobe * t ) );
+	//std::cout&lt;&lt;val&lt;&lt;std::endl;
+	//probesample.write(1);
 }
-                                                                           " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+                                                                                                                      " constructorCode="" listStruct="Ts = 1.0 : double|freqoftheprobe = 1000.0 : double" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="95" >
-<father id="104" num="0" />
-<cdparam x="971" y="169" />
+<SUBCOMPONENT type="1604" id="77" >
+<father id="86" num="0" />
+<cdparam x="571" y="123" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="outpready" />
-<TGConnectingPoint num="0" id="86" />
-<TGConnectingPoint num="1" id="87" />
-<TGConnectingPoint num="2" id="88" />
-<TGConnectingPoint num="3" id="89" />
-<TGConnectingPoint num="4" id="90" />
-<TGConnectingPoint num="5" id="91" />
-<TGConnectingPoint num="6" id="92" />
-<TGConnectingPoint num="7" id="93" />
-<TGConnectingPoint num="8" id="94" />
+<infoparam name="Primitive port - Port TDF" value="out1" />
+<TGConnectingPoint num="0" id="68" />
+<TGConnectingPoint num="1" id="69" />
+<TGConnectingPoint num="2" id="70" />
+<TGConnectingPoint num="3" id="71" />
+<TGConnectingPoint num="4" id="72" />
+<TGConnectingPoint num="5" id="73" />
+<TGConnectingPoint num="6" id="74" />
+<TGConnectingPoint num="7" id="75" />
+<TGConnectingPoint num="8" id="76" />
 <extraparam>
-<Prop commName="outpready" commType="0" origin="1" type="bool" sensitive="false" sensitive_method="" nbits="0" />
+<Prop commName="out1" commType="0" origin="1" period="5.0E-4" time="ms" rate="-1" delay="-1" type="double" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1603" id="153" >
-<father id="288" num="4" />
-<cdparam x="856" y="532" />
+<SUBCOMPONENT type="1602" id="115" >
+<father id="288" num="2" />
+<cdparam x="197" y="51" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="Primitive component - Block DE" value="spi" />
-<TGConnectingPoint num="0" id="145" />
-<TGConnectingPoint num="1" id="146" />
-<TGConnectingPoint num="2" id="147" />
-<TGConnectingPoint num="3" id="148" />
-<TGConnectingPoint num="4" id="149" />
-<TGConnectingPoint num="5" id="150" />
-<TGConnectingPoint num="6" id="151" />
-<TGConnectingPoint num="7" id="152" />
+<infoparam name="Primitive component - Block TDF" value="ADC1" />
+<TGConnectingPoint num="0" id="107" />
+<TGConnectingPoint num="1" id="108" />
+<TGConnectingPoint num="2" id="109" />
+<TGConnectingPoint num="3" id="110" />
+<TGConnectingPoint num="4" id="111" />
+<TGConnectingPoint num="5" id="112" />
+<TGConnectingPoint num="6" id="113" />
+<TGConnectingPoint num="7" id="114" />
 <extraparam>
-<Attribute name_function="spi_main" clockName="my_clk" clockSensitivityMethod="positive" code=" sc_dt::sc_uint&lt;12&gt; inr1[30];
-int i;
-void spi_main() {
-	int counter=0;
-	while(from_SoC.read()==1){
-		if (compinenable.read()==1 ) {
-			inr1[counter]=comparatorinput.read();
-			counter=counter+1;
-		}
-		if(counter==30){
-			for(i=0;i&lt;30;i++) {
-				to_SoC.write(1);
-			}
-			counter=0;
+<Attribute period="5.0E-4" dynamic="false" time="ms" processCode=" void processing() {
+	//std::cout&lt;&lt;&quot;ADC&quot;&lt;&lt;std::endl;
+	addition=inputfromtheprobe.read()+2047;
+	for (int i= 0;i&lt;4096;i++)  {
+		if (((   inputfromtheprobe.read()+2048) &lt; (i+1))  &amp;&amp; ((inputfromtheprobe.read()+2048) &gt; (i))){
+			outputonepoint.write(i-2048);
+			//std::cout&lt;&lt;(i-2048)&lt;&lt; std::endl;
+			// outputready.write(1);
 		}
-		//         	}
+	}
 }
-                                    " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+                                                                                         " constructorCode="" listStruct="addition = 0 : int" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="114" >
-<father id="153" num="0" />
-<cdparam x="1046" y="646" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="toSoC" />
-<TGConnectingPoint num="0" id="105" />
-<TGConnectingPoint num="1" id="106" />
-<TGConnectingPoint num="2" id="107" />
-<TGConnectingPoint num="3" id="108" />
-<TGConnectingPoint num="4" id="109" />
-<TGConnectingPoint num="5" id="110" />
-<TGConnectingPoint num="6" id="111" />
-<TGConnectingPoint num="7" id="112" />
-<TGConnectingPoint num="8" id="113" />
-<extraparam>
-<Prop commName="toSoC" commType="0" origin="1" type="sc_dt::sc_uint&lt;32&gt;" sensitive="false" sensitive_method="" nbits="0" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="124" >
-<father id="153" num="1" />
-<cdparam x="1046" y="588" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="from_SoC" />
-<TGConnectingPoint num="0" id="115" />
-<TGConnectingPoint num="1" id="116" />
-<TGConnectingPoint num="2" id="117" />
-<TGConnectingPoint num="3" id="118" />
-<TGConnectingPoint num="4" id="119" />
-<TGConnectingPoint num="5" id="120" />
-<TGConnectingPoint num="6" id="121" />
-<TGConnectingPoint num="7" id="122" />
-<TGConnectingPoint num="8" id="123" />
-<extraparam>
-<Prop commName="from_SoC" commType="0" origin="0" type="sc_dt::sc_uint&lt;32&gt;" sensitive="false" sensitive_method="" nbits="0" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="134" >
-<father id="153" num="2" />
-<cdparam x="899" y="522" />
+<SUBCOMPONENT type="1606" id="96" >
+<father id="115" num="0" />
+<cdparam x="225" y="191" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="comparatorinput" />
-<TGConnectingPoint num="0" id="125" />
-<TGConnectingPoint num="1" id="126" />
-<TGConnectingPoint num="2" id="127" />
-<TGConnectingPoint num="3" id="128" />
-<TGConnectingPoint num="4" id="129" />
-<TGConnectingPoint num="5" id="130" />
-<TGConnectingPoint num="6" id="131" />
-<TGConnectingPoint num="7" id="132" />
-<TGConnectingPoint num="8" id="133" />
+<infoparam name="Primitive port - Port Converter" value="outputonepoint" />
+<TGConnectingPoint num="0" id="87" />
+<TGConnectingPoint num="1" id="88" />
+<TGConnectingPoint num="2" id="89" />
+<TGConnectingPoint num="3" id="90" />
+<TGConnectingPoint num="4" id="91" />
+<TGConnectingPoint num="5" id="92" />
+<TGConnectingPoint num="6" id="93" />
+<TGConnectingPoint num="7" id="94" />
+<TGConnectingPoint num="8" id="95" />
 <extraparam>
-<Prop commName="comparatorinput" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+<Prop commName="outputonepoint" commType="0" origin="1" period="5.0E-4" time="ms" rate="-1" nbits="12" delay="-1" type="sc_dt::sc_uint" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="144" >
-<father id="153" num="3" />
-<cdparam x="1022" y="522" />
+<SUBCOMPONENT type="1604" id="106" >
+<father id="115" num="1" />
+<cdparam x="387" y="123" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="compinenable" />
-<TGConnectingPoint num="0" id="135" />
-<TGConnectingPoint num="1" id="136" />
-<TGConnectingPoint num="2" id="137" />
-<TGConnectingPoint num="3" id="138" />
-<TGConnectingPoint num="4" id="139" />
-<TGConnectingPoint num="5" id="140" />
-<TGConnectingPoint num="6" id="141" />
-<TGConnectingPoint num="7" id="142" />
-<TGConnectingPoint num="8" id="143" />
+<infoparam name="Primitive port - Port TDF" value="inputfromtheprobe" />
+<TGConnectingPoint num="0" id="97" />
+<TGConnectingPoint num="1" id="98" />
+<TGConnectingPoint num="2" id="99" />
+<TGConnectingPoint num="3" id="100" />
+<TGConnectingPoint num="4" id="101" />
+<TGConnectingPoint num="5" id="102" />
+<TGConnectingPoint num="6" id="103" />
+<TGConnectingPoint num="7" id="104" />
+<TGConnectingPoint num="8" id="105" />
 <extraparam>
-<Prop commName="compinenable" commType="0" origin="0" type="bool" sensitive="false" sensitive_method="" nbits="0" />
+<Prop commName="inputfromtheprobe" commType="0" origin="0" period="5.0E-4" time="ms" rate="-1" delay="-1" type="double" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1603" id="202" >
-<father id="288" num="5" />
+<SUBCOMPONENT type="1603" id="164" >
+<father id="288" num="3" />
 <cdparam x="871" y="298" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
 <infoparam name="Primitive component - Block DE" value="comparator1" />
-<TGConnectingPoint num="0" id="194" />
-<TGConnectingPoint num="1" id="195" />
-<TGConnectingPoint num="2" id="196" />
-<TGConnectingPoint num="3" id="197" />
-<TGConnectingPoint num="4" id="198" />
-<TGConnectingPoint num="5" id="199" />
-<TGConnectingPoint num="6" id="200" />
-<TGConnectingPoint num="7" id="201" />
+<TGConnectingPoint num="0" id="156" />
+<TGConnectingPoint num="1" id="157" />
+<TGConnectingPoint num="2" id="158" />
+<TGConnectingPoint num="3" id="159" />
+<TGConnectingPoint num="4" id="160" />
+<TGConnectingPoint num="5" id="161" />
+<TGConnectingPoint num="6" id="162" />
+<TGConnectingPoint num="7" id="163" />
 <extraparam>
 <Attribute name_function="comparator_main" clockName="my_clk" clockSensitivityMethod="positive" code=" int counter;
 sc_dt::sc_uint&lt;12&gt; inr;
@@ -473,268 +375,366 @@ void comparator_main(){
 		}
 	}
 }
-                                                                                                                " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+                                                                                                                   " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="163" >
-<father id="202" num="0" />
-<cdparam x="971" y="288" />
+<SUBCOMPONENT type="1605" id="125" >
+<father id="164" num="0" />
+<cdparam x="900" y="438" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="enable" />
-<TGConnectingPoint num="0" id="154" />
-<TGConnectingPoint num="1" id="155" />
-<TGConnectingPoint num="2" id="156" />
-<TGConnectingPoint num="3" id="157" />
-<TGConnectingPoint num="4" id="158" />
-<TGConnectingPoint num="5" id="159" />
-<TGConnectingPoint num="6" id="160" />
-<TGConnectingPoint num="7" id="161" />
-<TGConnectingPoint num="8" id="162" />
+<infoparam name="Primitive port - Port DE" value="outputmax" />
+<TGConnectingPoint num="0" id="116" />
+<TGConnectingPoint num="1" id="117" />
+<TGConnectingPoint num="2" id="118" />
+<TGConnectingPoint num="3" id="119" />
+<TGConnectingPoint num="4" id="120" />
+<TGConnectingPoint num="5" id="121" />
+<TGConnectingPoint num="6" id="122" />
+<TGConnectingPoint num="7" id="123" />
+<TGConnectingPoint num="8" id="124" />
 <extraparam>
-<Prop commName="enable" commType="0" origin="0" type="bool" sensitive="true" sensitive_method="positive" nbits="0" />
+<Prop commName="outputmax" commType="0" origin="1" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="173" >
-<father id="202" num="1" />
-<cdparam x="861" y="370" />
+<SUBCOMPONENT type="1605" id="135" >
+<father id="164" num="1" />
+<cdparam x="1022" y="438" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="inputfromabs" />
-<TGConnectingPoint num="0" id="164" />
-<TGConnectingPoint num="1" id="165" />
-<TGConnectingPoint num="2" id="166" />
-<TGConnectingPoint num="3" id="167" />
-<TGConnectingPoint num="4" id="168" />
-<TGConnectingPoint num="5" id="169" />
-<TGConnectingPoint num="6" id="170" />
-<TGConnectingPoint num="7" id="171" />
-<TGConnectingPoint num="8" id="172" />
+<infoparam name="Primitive port - Port DE" value="compienable" />
+<TGConnectingPoint num="0" id="126" />
+<TGConnectingPoint num="1" id="127" />
+<TGConnectingPoint num="2" id="128" />
+<TGConnectingPoint num="3" id="129" />
+<TGConnectingPoint num="4" id="130" />
+<TGConnectingPoint num="5" id="131" />
+<TGConnectingPoint num="6" id="132" />
+<TGConnectingPoint num="7" id="133" />
+<TGConnectingPoint num="8" id="134" />
 <extraparam>
-<Prop commName="inputfromabs" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="false" sensitive_method="" nbits="12" />
+<Prop commName="compienable" commType="0" origin="1" type="bool" sensitive="true" sensitive_method="positive" nbits="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="183" >
-<father id="202" num="2" />
-<cdparam x="1022" y="438" />
+<SUBCOMPONENT type="1605" id="145" >
+<father id="164" num="2" />
+<cdparam x="861" y="370" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="compienable" />
-<TGConnectingPoint num="0" id="174" />
-<TGConnectingPoint num="1" id="175" />
-<TGConnectingPoint num="2" id="176" />
-<TGConnectingPoint num="3" id="177" />
-<TGConnectingPoint num="4" id="178" />
-<TGConnectingPoint num="5" id="179" />
-<TGConnectingPoint num="6" id="180" />
-<TGConnectingPoint num="7" id="181" />
-<TGConnectingPoint num="8" id="182" />
+<infoparam name="Primitive port - Port DE" value="inputfromabs" />
+<TGConnectingPoint num="0" id="136" />
+<TGConnectingPoint num="1" id="137" />
+<TGConnectingPoint num="2" id="138" />
+<TGConnectingPoint num="3" id="139" />
+<TGConnectingPoint num="4" id="140" />
+<TGConnectingPoint num="5" id="141" />
+<TGConnectingPoint num="6" id="142" />
+<TGConnectingPoint num="7" id="143" />
+<TGConnectingPoint num="8" id="144" />
 <extraparam>
-<Prop commName="compienable" commType="0" origin="1" type="bool" sensitive="true" sensitive_method="positive" nbits="0" />
+<Prop commName="inputfromabs" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="false" sensitive_method="" nbits="12" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="193" >
-<father id="202" num="3" />
-<cdparam x="900" y="438" />
+<SUBCOMPONENT type="1605" id="155" >
+<father id="164" num="3" />
+<cdparam x="971" y="288" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="outputmax" />
-<TGConnectingPoint num="0" id="184" />
-<TGConnectingPoint num="1" id="185" />
-<TGConnectingPoint num="2" id="186" />
-<TGConnectingPoint num="3" id="187" />
-<TGConnectingPoint num="4" id="188" />
-<TGConnectingPoint num="5" id="189" />
-<TGConnectingPoint num="6" id="190" />
-<TGConnectingPoint num="7" id="191" />
-<TGConnectingPoint num="8" id="192" />
+<infoparam name="Primitive port - Port DE" value="enable" />
+<TGConnectingPoint num="0" id="146" />
+<TGConnectingPoint num="1" id="147" />
+<TGConnectingPoint num="2" id="148" />
+<TGConnectingPoint num="3" id="149" />
+<TGConnectingPoint num="4" id="150" />
+<TGConnectingPoint num="5" id="151" />
+<TGConnectingPoint num="6" id="152" />
+<TGConnectingPoint num="7" id="153" />
+<TGConnectingPoint num="8" id="154" />
 <extraparam>
-<Prop commName="outputmax" commType="0" origin="1" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+<Prop commName="enable" commType="0" origin="0" type="bool" sensitive="true" sensitive_method="positive" nbits="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1602" id="231" >
-<father id="288" num="6" />
-<cdparam x="197" y="51" />
+<SUBCOMPONENT type="1603" id="213" >
+<father id="288" num="4" />
+<cdparam x="856" y="532" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="Primitive component - Block TDF" value="ADC1" />
-<TGConnectingPoint num="0" id="223" />
-<TGConnectingPoint num="1" id="224" />
-<TGConnectingPoint num="2" id="225" />
-<TGConnectingPoint num="3" id="226" />
-<TGConnectingPoint num="4" id="227" />
-<TGConnectingPoint num="5" id="228" />
-<TGConnectingPoint num="6" id="229" />
-<TGConnectingPoint num="7" id="230" />
+<infoparam name="Primitive component - Block DE" value="spi" />
+<TGConnectingPoint num="0" id="205" />
+<TGConnectingPoint num="1" id="206" />
+<TGConnectingPoint num="2" id="207" />
+<TGConnectingPoint num="3" id="208" />
+<TGConnectingPoint num="4" id="209" />
+<TGConnectingPoint num="5" id="210" />
+<TGConnectingPoint num="6" id="211" />
+<TGConnectingPoint num="7" id="212" />
 <extraparam>
-<Attribute period="5.0E-4" dynamic="false" time="ms" processCode=" void processing() {
-	//std::cout&lt;&lt;&quot;ADC&quot;&lt;&lt;std::endl;
-	addition=inputfromtheprobe.read()+2047;
-	for (int i= 0;i&lt;4096;i++)  {
-		if (((   inputfromtheprobe.read()+2048) &lt; (i+1))  &amp;&amp; ((inputfromtheprobe.read()+2048) &gt; (i))){
-			outputonepoint.write(i-2048);
-			//std::cout&lt;&lt;(i-2048)&lt;&lt; std::endl;
-			// outputready.write(1);
+<Attribute name_function="spi_main" clockName="my_clk" clockSensitivityMethod="positive" code=" sc_dt::sc_uint&lt;12&gt; inr1[30];
+int i;
+void spi_main() {
+	int counter=0;
+	while(in_ams.read()==1){
+		if (compinenable.read()==1 ) {
+			inr1[counter]=comparatorinput.read();
+			counter=counter+1;
 		}
-	}
+		if(counter==30){
+			for(i=0;i&lt;30;i++) {
+				out_ams.write(1);
+			}
+			counter=0;
+		}
+		         	}
 }
-                                                                                      " constructorCode="" listStruct="addition = 0 : int" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+                                       " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1604" id="212" >
-<father id="231" num="0" />
-<cdparam x="387" y="123" />
+<SUBCOMPONENT type="1605" id="174" >
+<father id="213" num="0" />
+<cdparam x="1022" y="522" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port TDF" value="inputfromtheprobe" />
-<TGConnectingPoint num="0" id="203" />
-<TGConnectingPoint num="1" id="204" />
-<TGConnectingPoint num="2" id="205" />
-<TGConnectingPoint num="3" id="206" />
-<TGConnectingPoint num="4" id="207" />
-<TGConnectingPoint num="5" id="208" />
-<TGConnectingPoint num="6" id="209" />
-<TGConnectingPoint num="7" id="210" />
-<TGConnectingPoint num="8" id="211" />
+<infoparam name="Primitive port - Port DE" value="compinenable" />
+<TGConnectingPoint num="0" id="165" />
+<TGConnectingPoint num="1" id="166" />
+<TGConnectingPoint num="2" id="167" />
+<TGConnectingPoint num="3" id="168" />
+<TGConnectingPoint num="4" id="169" />
+<TGConnectingPoint num="5" id="170" />
+<TGConnectingPoint num="6" id="171" />
+<TGConnectingPoint num="7" id="172" />
+<TGConnectingPoint num="8" id="173" />
 <extraparam>
-<Prop commName="inputfromtheprobe" commType="0" origin="0" period="5.0E-4" time="ms" rate="-1" delay="-1" type="double" />
+<Prop commName="compinenable" commType="0" origin="0" type="bool" sensitive="false" sensitive_method="" nbits="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1606" id="222" >
-<father id="231" num="1" />
-<cdparam x="225" y="191" />
+<SUBCOMPONENT type="1605" id="184" >
+<father id="213" num="1" />
+<cdparam x="899" y="522" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port Converter" value="outputonepoint" />
-<TGConnectingPoint num="0" id="213" />
-<TGConnectingPoint num="1" id="214" />
-<TGConnectingPoint num="2" id="215" />
-<TGConnectingPoint num="3" id="216" />
-<TGConnectingPoint num="4" id="217" />
-<TGConnectingPoint num="5" id="218" />
-<TGConnectingPoint num="6" id="219" />
-<TGConnectingPoint num="7" id="220" />
-<TGConnectingPoint num="8" id="221" />
+<infoparam name="Primitive port - Port DE" value="comparatorinput" />
+<TGConnectingPoint num="0" id="175" />
+<TGConnectingPoint num="1" id="176" />
+<TGConnectingPoint num="2" id="177" />
+<TGConnectingPoint num="3" id="178" />
+<TGConnectingPoint num="4" id="179" />
+<TGConnectingPoint num="5" id="180" />
+<TGConnectingPoint num="6" id="181" />
+<TGConnectingPoint num="7" id="182" />
+<TGConnectingPoint num="8" id="183" />
 <extraparam>
-<Prop commName="outputonepoint" commType="0" origin="1" period="5.0E-4" time="ms" rate="-1" nbits="12" delay="-1" type="sc_dt::sc_uint" />
+<Prop commName="comparatorinput" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1602" id="250" >
-<father id="288" num="7" />
-<cdparam x="581" y="58" />
+<SUBCOMPONENT type="1605" id="194" >
+<father id="213" num="2" />
+<cdparam x="1046" y="588" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
+<infoparam name="Primitive port - Port DE" value="from_SoC" />
+<TGConnectingPoint num="0" id="185" />
+<TGConnectingPoint num="1" id="186" />
+<TGConnectingPoint num="2" id="187" />
+<TGConnectingPoint num="3" id="188" />
+<TGConnectingPoint num="4" id="189" />
+<TGConnectingPoint num="5" id="190" />
+<TGConnectingPoint num="6" id="191" />
+<TGConnectingPoint num="7" id="192" />
+<TGConnectingPoint num="8" id="193" />
+<extraparam>
+<Prop commName="in_ams" commType="0" origin="0" type="sc_dt::sc_uint&lt;32&gt;" sensitive="false" sensitive_method="" nbits="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1605" id="204" >
+<father id="213" num="3" />
+<cdparam x="1046" y="646" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
+<infoparam name="Primitive port - Port DE" value="to_SoC" />
+<TGConnectingPoint num="0" id="195" />
+<TGConnectingPoint num="1" id="196" />
+<TGConnectingPoint num="2" id="197" />
+<TGConnectingPoint num="3" id="198" />
+<TGConnectingPoint num="4" id="199" />
+<TGConnectingPoint num="5" id="200" />
+<TGConnectingPoint num="6" id="201" />
+<TGConnectingPoint num="7" id="202" />
+<TGConnectingPoint num="8" id="203" />
+<extraparam>
+<Prop commName="out_ams" commType="0" origin="1" type="sc_dt::sc_uint&lt;32&gt;" sensitive="false" sensitive_method="" nbits="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1603" id="232" >
+<father id="288" num="5" />
+<cdparam x="822" y="29" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="Primitive component - Block TDF" value="mySine1" />
-<TGConnectingPoint num="0" id="242" />
-<TGConnectingPoint num="1" id="243" />
-<TGConnectingPoint num="2" id="244" />
-<TGConnectingPoint num="3" id="245" />
-<TGConnectingPoint num="4" id="246" />
-<TGConnectingPoint num="5" id="247" />
-<TGConnectingPoint num="6" id="248" />
-<TGConnectingPoint num="7" id="249" />
+<infoparam name="Primitive component - Block DE" value="samplegenerator" />
+<TGConnectingPoint num="0" id="224" />
+<TGConnectingPoint num="1" id="225" />
+<TGConnectingPoint num="2" id="226" />
+<TGConnectingPoint num="3" id="227" />
+<TGConnectingPoint num="4" id="228" />
+<TGConnectingPoint num="5" id="229" />
+<TGConnectingPoint num="6" id="230" />
+<TGConnectingPoint num="7" id="231" />
 <extraparam>
-<Attribute period="5.0E-4" dynamic="false" time="ms" processCode="void processing() {
-	double t = get_time().to_seconds();
-	//std::cout&lt;&lt;&quot;probe&quot;&lt;&lt;std::endl;
-	//double val=2000.99*std::sin(2.0 * M_PI * freqoftheprobe * t);
-	out1.write(2000.99 * std::sin( 2.0 * M_PI * freqoftheprobe * t ) );
-	//std::cout&lt;&lt;val&lt;&lt;std::endl;
-	//probesample.write(1);
+<Attribute name_function="pulse_gen_main" clockName="my_clk" clockSensitivityMethod="positive" code=" sc_dt::sc_int&lt;12&gt; inr;
+void pulse_gen_main(){
+	inr=rand()%4096;
+	outpready.write(1);
+	//genout.write(inr) ;
+	//  expo[j].write((i3));
 }
-                                                                                                                   " constructorCode="" listStruct="Ts = 1.0 : double|freqoftheprobe = 1000.0 : double" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+                                                                              " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1604" id="241" >
-<father id="250" num="0" />
-<cdparam x="571" y="123" />
+<SUBCOMPONENT type="1605" id="223" >
+<father id="232" num="0" />
+<cdparam x="971" y="169" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port TDF" value="out1" />
-<TGConnectingPoint num="0" id="232" />
-<TGConnectingPoint num="1" id="233" />
-<TGConnectingPoint num="2" id="234" />
-<TGConnectingPoint num="3" id="235" />
-<TGConnectingPoint num="4" id="236" />
-<TGConnectingPoint num="5" id="237" />
-<TGConnectingPoint num="6" id="238" />
-<TGConnectingPoint num="7" id="239" />
-<TGConnectingPoint num="8" id="240" />
+<infoparam name="Primitive port - Port DE" value="outpready" />
+<TGConnectingPoint num="0" id="214" />
+<TGConnectingPoint num="1" id="215" />
+<TGConnectingPoint num="2" id="216" />
+<TGConnectingPoint num="3" id="217" />
+<TGConnectingPoint num="4" id="218" />
+<TGConnectingPoint num="5" id="219" />
+<TGConnectingPoint num="6" id="220" />
+<TGConnectingPoint num="7" id="221" />
+<TGConnectingPoint num="8" id="222" />
 <extraparam>
-<Prop commName="out1" commType="0" origin="1" period="5.0E-4" time="ms" rate="-1" delay="-1" type="double" />
+<Prop commName="outpready" commType="0" origin="1" type="bool" sensitive="false" sensitive_method="" nbits="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1603" id="279" >
-<father id="288" num="8" />
-<cdparam x="71" y="284" />
+<SUBCOMPONENT type="1603" id="261" >
+<father id="288" num="6" />
+<cdparam x="501" y="295" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
-<infoparam name="Primitive component - Block DE" value="adcre1" />
-<TGConnectingPoint num="0" id="271" />
-<TGConnectingPoint num="1" id="272" />
-<TGConnectingPoint num="2" id="273" />
-<TGConnectingPoint num="3" id="274" />
-<TGConnectingPoint num="4" id="275" />
-<TGConnectingPoint num="5" id="276" />
-<TGConnectingPoint num="6" id="277" />
-<TGConnectingPoint num="7" id="278" />
+<infoparam name="Primitive component - Block DE" value="abscalc1" />
+<TGConnectingPoint num="0" id="253" />
+<TGConnectingPoint num="1" id="254" />
+<TGConnectingPoint num="2" id="255" />
+<TGConnectingPoint num="3" id="256" />
+<TGConnectingPoint num="4" id="257" />
+<TGConnectingPoint num="5" id="258" />
+<TGConnectingPoint num="6" id="259" />
+<TGConnectingPoint num="7" id="260" />
 <extraparam>
-<Attribute name_function="adcre_main" clockName="my_clk1" clockSensitivityMethod="positive" code="void adcre_main() {
-	//std::cout&lt;&lt;&quot;ADC&quot;&lt;&lt;std::endl;
-	//std::cout&lt;&lt;adcregisterinput.read()&lt;&lt;std::endl;
-	adcregisteroutput.write(adcregisterinput.read());
+<Attribute name_function="abs_calc" clockName="my_clk" clockSensitivityMethod="positive" code=" sc_dt::sc_uint&lt;12&gt; inr;
+sc_dt::sc_uint&lt;12&gt;   inr4;
+sc_dt::sc_uint&lt;12&gt;   inr3,inr1,inr2;
+sc_dt::sc_uint&lt;12&gt;   he1;
+sc_dt::sc_uint&lt;1&gt;    q;
+int asdf;
+void abs_calc () {
+	q=inr[11];
+	inr4=(inputfromadc.read());
+	//hel=abs(inr4);
+	inr=inputfromadc.read();
+	if (inr&lt;2048) {
+		inr1=inr;
+	}
+	else {
+		inr3=~(inr) ;
+		inr1=inr3+1;
+	}
+	absoutput.write(inr1);
 }
-                                                                                    " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
+                                                                                           " listStruct="" nameTemplate="" typeTemplate="int" valueTemplate="" listTypedef="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="260" >
-<father id="279" num="0" />
-<cdparam x="225" y="274" />
+<SUBCOMPONENT type="1605" id="242" >
+<father id="261" num="0" />
+<cdparam x="491" y="319" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="adcregisterinput" />
-<TGConnectingPoint num="0" id="251" />
-<TGConnectingPoint num="1" id="252" />
-<TGConnectingPoint num="2" id="253" />
-<TGConnectingPoint num="3" id="254" />
-<TGConnectingPoint num="4" id="255" />
-<TGConnectingPoint num="5" id="256" />
-<TGConnectingPoint num="6" id="257" />
-<TGConnectingPoint num="7" id="258" />
-<TGConnectingPoint num="8" id="259" />
+<infoparam name="Primitive port - Port DE" value="inputfromadc" />
+<TGConnectingPoint num="0" id="233" />
+<TGConnectingPoint num="1" id="234" />
+<TGConnectingPoint num="2" id="235" />
+<TGConnectingPoint num="3" id="236" />
+<TGConnectingPoint num="4" id="237" />
+<TGConnectingPoint num="5" id="238" />
+<TGConnectingPoint num="6" id="239" />
+<TGConnectingPoint num="7" id="240" />
+<TGConnectingPoint num="8" id="241" />
 <extraparam>
-<Prop commName="adcregisterinput" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+<Prop commName="inputfromadc" commType="0" origin="0" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1605" id="270" >
-<father id="279" num="1" />
-<cdparam x="261" y="319" />
+<SUBCOMPONENT type="1605" id="252" >
+<father id="261" num="1" />
+<cdparam x="691" y="370" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="140" />
-<infoparam name="Primitive port - Port DE" value="adcregisteroutput" />
-<TGConnectingPoint num="0" id="261" />
-<TGConnectingPoint num="1" id="262" />
-<TGConnectingPoint num="2" id="263" />
-<TGConnectingPoint num="3" id="264" />
-<TGConnectingPoint num="4" id="265" />
-<TGConnectingPoint num="5" id="266" />
-<TGConnectingPoint num="6" id="267" />
-<TGConnectingPoint num="7" id="268" />
-<TGConnectingPoint num="8" id="269" />
+<infoparam name="Primitive port - Port DE" value="absoutput" />
+<TGConnectingPoint num="0" id="243" />
+<TGConnectingPoint num="1" id="244" />
+<TGConnectingPoint num="2" id="245" />
+<TGConnectingPoint num="3" id="246" />
+<TGConnectingPoint num="4" id="247" />
+<TGConnectingPoint num="5" id="248" />
+<TGConnectingPoint num="6" id="249" />
+<TGConnectingPoint num="7" id="250" />
+<TGConnectingPoint num="8" id="251" />
 <extraparam>
-<Prop commName="adcregisteroutput" commType="0" origin="1" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+<Prop commName="absoutput" commType="0" origin="1" type="sc_dt::sc_uint" sensitive="true" sensitive_method="positive" nbits="12" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5721" id="270" >
+<father id="288" num="7" />
+<cdparam x="393" y="508" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
+<infoparam name="TGComponent" value="my_clk1" />
+<TGConnectingPoint num="0" id="262" />
+<TGConnectingPoint num="1" id="263" />
+<TGConnectingPoint num="2" id="264" />
+<TGConnectingPoint num="3" id="265" />
+<TGConnectingPoint num="4" id="266" />
+<TGConnectingPoint num="5" id="267" />
+<TGConnectingPoint num="6" id="268" />
+<TGConnectingPoint num="7" id="269" />
+<extraparam>
+<Attribute name_function="" nameTemplate="" frequency ="0.002" unit="μs" dutyCycle="0.5" startTime="0.001" unitStartTime="μs" posFirst ="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5721" id="279" >
+<father id="288" num="8" />
+<cdparam x="172" y="516" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="924" minY="0" maxY="554" />
+<infoparam name="TGComponent" value="my_clk" />
+<TGConnectingPoint num="0" id="271" />
+<TGConnectingPoint num="1" id="272" />
+<TGConnectingPoint num="2" id="273" />
+<TGConnectingPoint num="3" id="274" />
+<TGConnectingPoint num="4" id="275" />
+<TGConnectingPoint num="5" id="276" />
+<TGConnectingPoint num="6" id="277" />
+<TGConnectingPoint num="7" id="278" />
+<extraparam>
+<Attribute name_function="" nameTemplate="" frequency ="0.001" unit="μs" dutyCycle="1.0" startTime="1.0" unitStartTime="μs" posFirst ="false" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -751,7 +751,7 @@ void comparator_main(){
 <MainCode value="void __user_init() {"/>
 <MainCode value="}"/>
 <Optimized value="true" />
-<Validated value="" />
+<Validated value="ScanConversion;" />
 <Ignored value="" />
 
 <COMPONENT type="5000" id="313" >
@@ -1214,24 +1214,24 @@ void comparator_main(){
 <cdparam x="586" y="185" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="573" y="172" id="631" />
-<P2  x="662" y="284" id="574" />
+<P1  x="586" y="185" id="607" />
+<P2  x="649" y="297" id="540" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="516" >
 <cdparam x="560" y="185" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="573" y="198" id="636" />
-<P2  x="503" y="208" id="618" />
+<P1  x="560" y="185" id="612" />
+<P2  x="516" y="221" id="628" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="519" >
 <cdparam x="1079" y="212" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1092" y="199" id="563" />
-<P2  x="981" y="314" id="529" />
+<P1  x="1079" y="212" id="551" />
+<P2  x="981" y="314" id="585" />
 <Point x="1078" y="214" />
 <Point x="1079" y="212" />
 <AutomaticDrawing  data="true" />
@@ -1256,56 +1256,56 @@ void comparator_main(){
 <cdparam x="1233" y="197" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1392" y="374" id="661" />
-<P2  x="1289" y="378" id="546" />
+<P1  x="1379" y="387" id="659" />
+<P2  x="1302" y="391" id="568" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="521" >
 <cdparam x="1189" y="441" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1289" y="434" id="544" />
-<P2  x="1392" y="427" id="659" />
+<P1  x="1302" y="447" id="570" />
+<P2  x="1379" y="440" id="661" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="522" >
 <cdparam x="1073" y="290" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1256" y="237" id="559" />
-<P2  x="1224" y="345" id="540" />
+<P1  x="1256" y="263" id="555" />
+<P2  x="1224" y="345" id="574" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="523" >
 <cdparam x="750" y="377" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="817" y="376" id="576" />
-<P2  x="873" y="447" id="527" />
+<P1  x="817" y="402" id="538" />
+<P2  x="860" y="460" id="587" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="524" >
 <cdparam x="980" y="291" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1171" y="237" id="561" />
-<P2  x="1166" y="345" id="542" />
+<P1  x="1171" y="263" id="553" />
+<P2  x="1166" y="345" id="572" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="525" >
 <cdparam x="888" y="194" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1092" y="153" id="557" />
-<P2  x="859" y="143" id="587" />
+<P1  x="1079" y="166" id="557" />
+<P2  x="872" y="156" id="527" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="526" >
 <cdparam x="274" y="194" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="241" y="204" id="607" />
-<P2  x="303" y="205" id="620" />
+<P1  x="254" y="217" id="639" />
+<P2  x="290" y="218" id="626" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1200" id="606" >
@@ -1326,52 +1326,35 @@ void comparator_main(){
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="539" >
+<SUBCOMPONENT type="1202" id="537" >
 <father id="606" num="0" />
-<cdparam x="873" y="327" />
+<cdparam x="659" y="72" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
-<infoparam name="Primitive component" value="abscalc" />
-<TGConnectingPoint num="0" id="531" />
-<TGConnectingPoint num="1" id="532" />
-<TGConnectingPoint num="2" id="533" />
-<TGConnectingPoint num="3" id="534" />
-<TGConnectingPoint num="4" id="535" />
-<TGConnectingPoint num="5" id="536" />
-<TGConnectingPoint num="6" id="537" />
-<TGConnectingPoint num="7" id="538" />
+<infoparam name="Primitive component" value="samplegenerator" />
+<TGConnectingPoint num="0" id="529" />
+<TGConnectingPoint num="1" id="530" />
+<TGConnectingPoint num="2" id="531" />
+<TGConnectingPoint num="3" id="532" />
+<TGConnectingPoint num="4" id="533" />
+<TGConnectingPoint num="5" id="534" />
+<TGConnectingPoint num="6" id="535" />
+<TGConnectingPoint num="7" id="536" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="528" >
-<father id="539" num="0" />
-<cdparam x="860" y="447" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel inputfromadc" />
-<TGConnectingPoint num="0" id="527" />
-<extraparam>
-<Prop commName="inputfromadc" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="530" >
-<father id="539" num="1" />
-<cdparam x="968" y="314" />
+<father id="537" num="0" />
+<cdparam x="846" y="143" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel absoutput" />
-<TGConnectingPoint num="0" id="529" />
+<infoparam name="Primitive port" value="Channel outpready" />
+<TGConnectingPoint num="0" id="527" />
 <extraparam>
-<Prop commName="absoutput" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="outpready" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1379,35 +1362,35 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="556" >
+<SUBCOMPONENT type="1202" id="550" >
 <father id="606" num="1" />
-<cdparam x="1089" y="358" />
+<cdparam x="662" y="239" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
-<infoparam name="Primitive component" value="spi" />
-<TGConnectingPoint num="0" id="548" />
-<TGConnectingPoint num="1" id="549" />
-<TGConnectingPoint num="2" id="550" />
-<TGConnectingPoint num="3" id="551" />
-<TGConnectingPoint num="4" id="552" />
-<TGConnectingPoint num="5" id="553" />
-<TGConnectingPoint num="6" id="554" />
-<TGConnectingPoint num="7" id="555" />
+<infoparam name="Primitive component" value="adcregister" />
+<TGConnectingPoint num="0" id="542" />
+<TGConnectingPoint num="1" id="543" />
+<TGConnectingPoint num="2" id="544" />
+<TGConnectingPoint num="3" id="545" />
+<TGConnectingPoint num="4" id="546" />
+<TGConnectingPoint num="5" id="547" />
+<TGConnectingPoint num="6" id="548" />
+<TGConnectingPoint num="7" id="549" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="541" >
-<father id="556" num="0" />
-<cdparam x="1211" y="345" />
+<SUBCOMPONENT type="1203" id="539" >
+<father id="550" num="0" />
+<cdparam x="804" y="376" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel compienable" />
-<TGConnectingPoint num="0" id="540" />
+<infoparam name="Primitive port" value="Channel adcregisteroutput" />
+<TGConnectingPoint num="0" id="538" />
 <extraparam>
-<Prop commName="compienable" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="adcregisteroutput" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1415,16 +1398,16 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="543" >
-<father id="556" num="1" />
-<cdparam x="1153" y="345" />
+<SUBCOMPONENT type="1203" id="541" >
+<father id="550" num="1" />
+<cdparam x="649" y="284" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel comparatorinput" />
-<TGConnectingPoint num="0" id="542" />
+<infoparam name="Primitive port" value="Channel adcregisterinput" />
+<TGConnectingPoint num="0" id="540" />
 <extraparam>
-<Prop commName="comparatorinput" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="adcregisterinput" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1432,16 +1415,35 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="545" >
-<father id="556" num="2" />
-<cdparam x="1276" y="434" />
+<SUBCOMPONENT type="1202" id="567" >
+<father id="606" num="2" />
+<cdparam x="1092" y="100" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
+<infoparam name="Primitive component" value="comparator" />
+<TGConnectingPoint num="0" id="559" />
+<TGConnectingPoint num="1" id="560" />
+<TGConnectingPoint num="2" id="561" />
+<TGConnectingPoint num="3" id="562" />
+<TGConnectingPoint num="4" id="563" />
+<TGConnectingPoint num="5" id="564" />
+<TGConnectingPoint num="6" id="565" />
+<TGConnectingPoint num="7" id="566" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="552" >
+<father id="567" num="0" />
+<cdparam x="1079" y="199" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel to_SoC" />
-<TGConnectingPoint num="0" id="544" />
+<infoparam name="Primitive port" value="Channel inputfromabs" />
+<TGConnectingPoint num="0" id="551" />
 <extraparam>
-<Prop commName="to_SoC" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="inputfromabs" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1449,16 +1451,16 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="547" >
-<father id="556" num="3" />
-<cdparam x="1276" y="378" />
+<SUBCOMPONENT type="1203" id="554" >
+<father id="567" num="1" />
+<cdparam x="1158" y="237" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel from_Soc" />
-<TGConnectingPoint num="0" id="546" />
+<infoparam name="Primitive port" value="Channel outputmax" />
+<TGConnectingPoint num="0" id="553" />
 <extraparam>
-<Prop commName="from_Soc" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="outputmax" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1466,27 +1468,25 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="573" >
-<father id="606" num="2" />
-<cdparam x="1092" y="100" />
-<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="556" >
+<father id="567" num="2" />
+<cdparam x="1243" y="237" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
-<infoparam name="Primitive component" value="comparator" />
-<TGConnectingPoint num="0" id="565" />
-<TGConnectingPoint num="1" id="566" />
-<TGConnectingPoint num="2" id="567" />
-<TGConnectingPoint num="3" id="568" />
-<TGConnectingPoint num="4" id="569" />
-<TGConnectingPoint num="5" id="570" />
-<TGConnectingPoint num="6" id="571" />
-<TGConnectingPoint num="7" id="572" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel compienable" />
+<TGConnectingPoint num="0" id="555" />
 <extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
+<Prop commName="compienable" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="558" >
-<father id="573" num="0" />
+<father id="567" num="3" />
 <cdparam x="1079" y="153" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1502,33 +1502,35 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="560" >
-<father id="573" num="1" />
-<cdparam x="1243" y="237" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="584" >
+<father id="606" num="3" />
+<cdparam x="1089" y="358" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel compienable" />
-<TGConnectingPoint num="0" id="559" />
+<cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
+<infoparam name="Primitive component" value="spi" />
+<TGConnectingPoint num="0" id="576" />
+<TGConnectingPoint num="1" id="577" />
+<TGConnectingPoint num="2" id="578" />
+<TGConnectingPoint num="3" id="579" />
+<TGConnectingPoint num="4" id="580" />
+<TGConnectingPoint num="5" id="581" />
+<TGConnectingPoint num="6" id="582" />
+<TGConnectingPoint num="7" id="583" />
 <extraparam>
-<Prop commName="compienable" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="562" >
-<father id="573" num="2" />
-<cdparam x="1158" y="237" />
+<SUBCOMPONENT type="1203" id="569" >
+<father id="584" num="0" />
+<cdparam x="1276" y="378" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel outputmax" />
-<TGConnectingPoint num="0" id="561" />
+<infoparam name="Primitive port" value="Channel from_Soc" />
+<TGConnectingPoint num="0" id="568" />
 <extraparam>
-<Prop commName="outputmax" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="in_ams" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="1" checkStrongAuthStatus="1" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1536,16 +1538,16 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="564" >
-<father id="573" num="3" />
-<cdparam x="1079" y="199" />
+<SUBCOMPONENT type="1203" id="571" >
+<father id="584" num="1" />
+<cdparam x="1276" y="434" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel inputfromabs" />
-<TGConnectingPoint num="0" id="563" />
+<infoparam name="Primitive port" value="Channel to_SoC" />
+<TGConnectingPoint num="0" id="570" />
 <extraparam>
-<Prop commName="inputfromabs" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="out_ams" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="1" checkStrongAuthStatus="1" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1553,35 +1555,16 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="586" >
-<father id="606" num="3" />
-<cdparam x="662" y="239" />
-<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
-<infoparam name="Primitive component" value="adcregister" />
-<TGConnectingPoint num="0" id="578" />
-<TGConnectingPoint num="1" id="579" />
-<TGConnectingPoint num="2" id="580" />
-<TGConnectingPoint num="3" id="581" />
-<TGConnectingPoint num="4" id="582" />
-<TGConnectingPoint num="5" id="583" />
-<TGConnectingPoint num="6" id="584" />
-<TGConnectingPoint num="7" id="585" />
-<extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="575" >
-<father id="586" num="0" />
-<cdparam x="649" y="284" />
+<SUBCOMPONENT type="1203" id="573" >
+<father id="584" num="2" />
+<cdparam x="1153" y="345" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel adcregisterinput" />
-<TGConnectingPoint num="0" id="574" />
+<infoparam name="Primitive port" value="Channel comparatorinput" />
+<TGConnectingPoint num="0" id="572" />
 <extraparam>
-<Prop commName="adcregisterinput" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="comparatorinput" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1589,16 +1572,16 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="577" >
-<father id="586" num="1" />
-<cdparam x="804" y="376" />
+<SUBCOMPONENT type="1203" id="575" >
+<father id="584" num="3" />
+<cdparam x="1211" y="345" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel adcregisteroutput" />
-<TGConnectingPoint num="0" id="576" />
+<infoparam name="Primitive port" value="Channel compienable" />
+<TGConnectingPoint num="0" id="574" />
 <extraparam>
-<Prop commName="adcregisteroutput" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="compienable" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1608,11 +1591,11 @@ void comparator_main(){
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="597" >
 <father id="606" num="4" />
-<cdparam x="659" y="72" />
+<cdparam x="873" y="327" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="489" minY="0" maxY="362" />
-<infoparam name="Primitive component" value="samplegenerator" />
+<infoparam name="Primitive component" value="abscalc" />
 <TGConnectingPoint num="0" id="589" />
 <TGConnectingPoint num="1" id="590" />
 <TGConnectingPoint num="2" id="591" />
@@ -1625,16 +1608,33 @@ void comparator_main(){
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="588" >
+<SUBCOMPONENT type="1203" id="586" >
 <father id="597" num="0" />
-<cdparam x="846" y="143" />
+<cdparam x="968" y="314" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel outpready" />
+<infoparam name="Primitive port" value="Channel absoutput" />
+<TGConnectingPoint num="0" id="585" />
+<extraparam>
+<Prop commName="absoutput" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="588" >
+<father id="597" num="1" />
+<cdparam x="860" y="447" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel inputfromadc" />
 <TGConnectingPoint num="0" id="587" />
 <extraparam>
-<Prop commName="outpready" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="inputfromadc" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1661,35 +1661,63 @@ void comparator_main(){
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="617" >
+<SUBCOMPONENT type="1201" id="625" >
 <father id="658" num="0" />
-<cdparam x="41" y="141" />
+<cdparam x="560" y="172" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="550" minY="-13" maxY="280" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="607" />
+<TGConnectingPoint num="1" id="608" />
+<TGConnectingPoint num="2" id="609" />
+<TGConnectingPoint num="3" id="610" />
+<TGConnectingPoint num="4" id="611" />
+<TGConnectingPoint num="5" id="612" />
+<TGConnectingPoint num="6" id="613" />
+<TGConnectingPoint num="7" id="614" />
+<TGConnectingPoint num="8" id="615" />
+<TGConnectingPoint num="9" id="616" />
+<TGConnectingPoint num="10" id="617" />
+<TGConnectingPoint num="11" id="618" />
+<TGConnectingPoint num="12" id="619" />
+<TGConnectingPoint num="13" id="620" />
+<TGConnectingPoint num="14" id="621" />
+<TGConnectingPoint num="15" id="622" />
+<TGConnectingPoint num="16" id="623" />
+<TGConnectingPoint num="17" id="624" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="638" >
+<father id="658" num="1" />
+<cdparam x="303" y="137" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="363" minY="0" maxY="143" />
-<infoparam name="Primitive component" value="SineGenerator" />
-<TGConnectingPoint num="0" id="609" />
-<TGConnectingPoint num="1" id="610" />
-<TGConnectingPoint num="2" id="611" />
-<TGConnectingPoint num="3" id="612" />
-<TGConnectingPoint num="4" id="613" />
-<TGConnectingPoint num="5" id="614" />
-<TGConnectingPoint num="6" id="615" />
-<TGConnectingPoint num="7" id="616" />
+<infoparam name="Primitive component" value="ADC" />
+<TGConnectingPoint num="0" id="630" />
+<TGConnectingPoint num="1" id="631" />
+<TGConnectingPoint num="2" id="632" />
+<TGConnectingPoint num="3" id="633" />
+<TGConnectingPoint num="4" id="634" />
+<TGConnectingPoint num="5" id="635" />
+<TGConnectingPoint num="6" id="636" />
+<TGConnectingPoint num="7" id="637" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="threshold" value="" type="0" typeOther="" />
+<Attribute access="2" id="i" value="0" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="608" >
-<father id="617" num="0" />
-<cdparam x="228" y="204" />
+<SUBCOMPONENT type="1203" id="627" >
+<father id="638" num="0" />
+<cdparam x="290" y="205" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel sineout" />
-<TGConnectingPoint num="0" id="607" />
+<infoparam name="Primitive port" value="Channel input_from_the_probe" />
+<TGConnectingPoint num="0" id="626" />
 <extraparam>
-<Prop commName="sineout" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="input_from_the_probe" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1697,35 +1725,14 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="630" >
-<father id="658" num="1" />
-<cdparam x="303" y="137" />
-<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="363" minY="0" maxY="143" />
-<infoparam name="Primitive component" value="ADC" />
-<TGConnectingPoint num="0" id="622" />
-<TGConnectingPoint num="1" id="623" />
-<TGConnectingPoint num="2" id="624" />
-<TGConnectingPoint num="3" id="625" />
-<TGConnectingPoint num="4" id="626" />
-<TGConnectingPoint num="5" id="627" />
-<TGConnectingPoint num="6" id="628" />
-<TGConnectingPoint num="7" id="629" />
-<extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
-<Attribute access="2" id="threshold" value="" type="0" typeOther="" />
-<Attribute access="2" id="i" value="0" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="619" >
-<father id="630" num="0" />
+<SUBCOMPONENT type="1203" id="629" >
+<father id="638" num="1" />
 <cdparam x="490" y="208" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel outputonepoint" />
-<TGConnectingPoint num="0" id="618" />
+<TGConnectingPoint num="0" id="628" />
 <extraparam>
 <Prop commName="outputonepoint" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
@@ -1735,16 +1742,35 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="621" >
-<father id="630" num="1" />
-<cdparam x="290" y="205" />
+<SUBCOMPONENT type="1202" id="649" >
+<father id="658" num="2" />
+<cdparam x="41" y="141" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="363" minY="0" maxY="143" />
+<infoparam name="Primitive component" value="SineGenerator" />
+<TGConnectingPoint num="0" id="641" />
+<TGConnectingPoint num="1" id="642" />
+<TGConnectingPoint num="2" id="643" />
+<TGConnectingPoint num="3" id="644" />
+<TGConnectingPoint num="4" id="645" />
+<TGConnectingPoint num="5" id="646" />
+<TGConnectingPoint num="6" id="647" />
+<TGConnectingPoint num="7" id="648" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="640" >
+<father id="649" num="0" />
+<cdparam x="228" y="204" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel input_from_the_probe" />
-<TGConnectingPoint num="0" id="620" />
+<infoparam name="Primitive port" value="Channel sineout" />
+<TGConnectingPoint num="0" id="639" />
 <extraparam>
-<Prop commName="input_from_the_probe" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="sineout" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1752,32 +1778,6 @@ void comparator_main(){
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="649" >
-<father id="658" num="2" />
-<cdparam x="560" y="172" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="550" minY="-13" maxY="280" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="631" />
-<TGConnectingPoint num="1" id="632" />
-<TGConnectingPoint num="2" id="633" />
-<TGConnectingPoint num="3" id="634" />
-<TGConnectingPoint num="4" id="635" />
-<TGConnectingPoint num="5" id="636" />
-<TGConnectingPoint num="6" id="637" />
-<TGConnectingPoint num="7" id="638" />
-<TGConnectingPoint num="8" id="639" />
-<TGConnectingPoint num="9" id="640" />
-<TGConnectingPoint num="10" id="641" />
-<TGConnectingPoint num="11" id="642" />
-<TGConnectingPoint num="12" id="643" />
-<TGConnectingPoint num="13" id="644" />
-<TGConnectingPoint num="14" id="645" />
-<TGConnectingPoint num="15" id="646" />
-<TGConnectingPoint num="16" id="647" />
-<TGConnectingPoint num="17" id="648" />
-</SUBCOMPONENT>
 
 <COMPONENT type="1202" id="671" >
 <cdparam x="1392" y="342" />
@@ -1799,14 +1799,14 @@ void comparator_main(){
 </COMPONENT>
 <SUBCOMPONENT type="1203" id="660" >
 <father id="671" num="0" />
-<cdparam x="1379" y="427" />
+<cdparam x="1379" y="374" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel to_SoC" />
+<infoparam name="Primitive port" value="Channel from_SoC" />
 <TGConnectingPoint num="0" id="659" />
 <extraparam>
-<Prop commName="to_SoC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="from_SoC" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1816,14 +1816,14 @@ void comparator_main(){
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="662" >
 <father id="671" num="1" />
-<cdparam x="1379" y="374" />
+<cdparam x="1379" y="427" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel from_SoC" />
+<infoparam name="Primitive port" value="Channel to_SoC" />
 <TGConnectingPoint num="0" id="661" />
 <extraparam>
-<Prop commName="from_SoC" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Prop commName="to_SoC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1959,8 +1959,8 @@ void comparator_main(){
 </COMPONENT>
 
 <COMPONENT type="1006" id="698" >
-<cdparam x="325" y="172" />
-<sizeparam width="52" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="318" y="172" />
+<sizeparam width="67" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2626,16 +2626,16 @@ void comparator_main(){
 
 <TMLActivityDiagramPanel name="spi" minX="10" maxX="2500" minY="10" maxY="1500" >
 <COMPONENT type="1009" id="817" >
-<cdparam x="397" y="230" />
-<sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="403" y="230" />
+<sizeparam width="70" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="read channel" value="from_Soc(1) " />
+<infoparam name="read channel" value="in_ams(1) " />
 <TGConnectingPoint num="0" id="815" />
 <TGConnectingPoint num="1" id="816" />
 <extraparam>
-<Data channelName="from_Soc" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+<Data channelName="in_ams" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
@@ -2671,16 +2671,16 @@ void comparator_main(){
 </COMPONENT>
 
 <COMPONENT type="1006" id="826" >
-<cdparam x="406" y="333" />
-<sizeparam width="64" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="401" y="333" />
+<sizeparam width="74" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="write channel" value="to_SoC(1)" />
+<infoparam name="write channel" value="out_ams(1)" />
 <TGConnectingPoint num="0" id="824" />
 <TGConnectingPoint num="1" id="825" />
 <extraparam>
-<Data channelName="to_SoC" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+<Data channelName="out_ams" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
@@ -3195,11 +3195,11 @@ void comparator_main(){
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1027" >
 <father id="1088" num="0" />
-<cdparam x="164" y="67" />
-<sizeparam width="205" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="381" y="122" />
+<sizeparam width="124" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="199" minY="0" maxY="165" />
-<infoparam name="TGComponent" value="Application::samplegenerator" />
+<cdrectangleparam minX="0" maxX="280" minY="0" maxY="165" />
+<infoparam name="TGComponent" value="Application::spi" />
 <TGConnectingPoint num="0" id="1019" />
 <TGConnectingPoint num="1" id="1020" />
 <TGConnectingPoint num="2" id="1021" />
@@ -3209,16 +3209,16 @@ void comparator_main(){
 <TGConnectingPoint num="6" id="1025" />
 <TGConnectingPoint num="7" id="1026" />
 <extraparam>
-<info value="Application::samplegenerator" taskName="samplegenerator" referenceTaskName="Application" priority="0" operationMEC="samplegenerator" fatherComponentMECType="0" />
+<info value="Application::spi" taskName="spi" referenceTaskName="Application" priority="0" operationMEC="spi" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1036" >
 <father id="1088" num="1" />
-<cdparam x="165" y="117" />
-<sizeparam width="172" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="379" y="69" />
+<sizeparam width="150" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="232" minY="0" maxY="165" />
-<infoparam name="TGComponent" value="Application::adcregister" />
+<cdrectangleparam minX="0" maxX="254" minY="0" maxY="165" />
+<infoparam name="TGComponent" value="Application::abscalc" />
 <TGConnectingPoint num="0" id="1028" />
 <TGConnectingPoint num="1" id="1029" />
 <TGConnectingPoint num="2" id="1030" />
@@ -3228,7 +3228,7 @@ void comparator_main(){
 <TGConnectingPoint num="6" id="1034" />
 <TGConnectingPoint num="7" id="1035" />
 <extraparam>
-<info value="Application::adcregister" taskName="adcregister" referenceTaskName="Application" priority="0" operationMEC="adcre1" fatherComponentMECType="0" />
+<info value="Application::abscalc" taskName="abscalc" referenceTaskName="Application" priority="0" operationMEC="spi" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1045" >
@@ -3252,11 +3252,11 @@ void comparator_main(){
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1054" >
 <father id="1088" num="3" />
-<cdparam x="379" y="69" />
-<sizeparam width="150" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="165" y="117" />
+<sizeparam width="172" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="254" minY="0" maxY="165" />
-<infoparam name="TGComponent" value="Application::abscalc" />
+<cdrectangleparam minX="0" maxX="232" minY="0" maxY="165" />
+<infoparam name="TGComponent" value="Application::adcregister" />
 <TGConnectingPoint num="0" id="1046" />
 <TGConnectingPoint num="1" id="1047" />
 <TGConnectingPoint num="2" id="1048" />
@@ -3266,16 +3266,16 @@ void comparator_main(){
 <TGConnectingPoint num="6" id="1052" />
 <TGConnectingPoint num="7" id="1053" />
 <extraparam>
-<info value="Application::abscalc" taskName="abscalc" referenceTaskName="Application" priority="0" operationMEC="spi" fatherComponentMECType="0" />
+<info value="Application::adcregister" taskName="adcregister" referenceTaskName="Application" priority="0" operationMEC="adcre1" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1063" >
 <father id="1088" num="4" />
-<cdparam x="381" y="122" />
-<sizeparam width="124" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="164" y="67" />
+<sizeparam width="205" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="280" minY="0" maxY="165" />
-<infoparam name="TGComponent" value="Application::spi" />
+<cdrectangleparam minX="0" maxX="199" minY="0" maxY="165" />
+<infoparam name="TGComponent" value="Application::samplegenerator" />
 <TGConnectingPoint num="0" id="1055" />
 <TGConnectingPoint num="1" id="1056" />
 <TGConnectingPoint num="2" id="1057" />
@@ -3285,7 +3285,7 @@ void comparator_main(){
 <TGConnectingPoint num="6" id="1061" />
 <TGConnectingPoint num="7" id="1062" />
 <extraparam>
-<info value="Application::spi" taskName="spi" referenceTaskName="Application" priority="0" operationMEC="spi" fatherComponentMECType="0" />
+<info value="Application::samplegenerator" taskName="samplegenerator" referenceTaskName="Application" priority="0" operationMEC="samplegenerator" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/src/main/java/ddtranslatorSoclib/toTopCell/Simulation.java b/src/main/java/ddtranslatorSoclib/toTopCell/Simulation.java
index fbe5d1514c57de2c205b46ca6b6605689c8ea0bf..a5029b4589e4b39c90cee12050915d1555e61b7a 100755
--- a/src/main/java/ddtranslatorSoclib/toTopCell/Simulation.java
+++ b/src/main/java/ddtranslatorSoclib/toTopCell/Simulation.java
@@ -47,8 +47,21 @@
 package ddtranslatorSoclib.toTopCell;
 import ddtranslatorSoclib.AvatarCoproMWMR;//DG 30.04.2018
 
+import java.util.LinkedList;
+
+import syscamstranslator.*;
+import ui.MainGUI;
+import ui.SysCAMSPanelTranslator;
+import ui.syscams.SysCAMSComponentTaskDiagramPanel;
+import java.util.LinkedList;
+import java.util.Vector;
+import java.util.Arrays;
+
+
 public class Simulation {
-	
+
+    protected MainGUI mgui;//DG 28.11.2019
+    
     private  static String simulation;
 	
     private final static String CR = "\n";
@@ -57,9 +70,12 @@ public class Simulation {
     public Simulation(){
     }
 
-    public static String getSimulation(){
- int network_io=0;
- simulation=CR;
+    public static String getSimulation(Vector<SysCAMSComponentTaskDiagramPanel> listsyscamspanel){
+	int network_io=0;
+	simulation=CR;
+
+	/* Clocks are to be declared in the sc_main in the topcell */
+	
  for (AvatarCoproMWMR copro : TopCellGenerator.avatardd.getAllCoproMWMR()){
 		//a coprocessor with its FIFO interface built from HWA 
 		/*	netlist = netlist +"hwa"+i+".p_clk(signal_clk);" + CR;
@@ -67,7 +83,7 @@ public class Simulation {
                 netlist = netlist +"hwa"+i+".p_from_ctrl["+i+"](signal_fifo_"+i+"_from_ctrl);" + CR;
 		netlist = netlist +"hwa"+i+".p_to_ctrl["+i+"](signal_fifo_"+i+"_to_ctrl);" + CR2;*/
 
-
+    
 		//IE and OE are special cases as they have VCI an fifo initiator interface!!!
 		// In that case, another main (for Network_IO) is substituted
   
@@ -83,6 +99,35 @@ public class Simulation {
 		     "----------------------------simulation-------------------------" + CR +
 		     "***************************************************************************/"+CR2 ;
 		 simulation =simulation+"int sc_main (int argc, char *argv[])" + CR + "{" + CR;
+
+
+		 /*loop over all panels all clocks */
+
+		 // Vector<SysCAMSComponentTaskDiagramPanel> syscamsDiagramPanels = mgui.getListSysCAMSPanel();
+		 for (SysCAMSComponentTaskDiagramPanel syscamsDiagramPanel : listsyscamspanel) {
+		     SysCAMSPanelTranslator syscamspaneltranslator = new SysCAMSPanelTranslator(syscamsDiagramPanel);
+		     SysCAMSSpecification syscalsspec = syscamspaneltranslator.getSysCAMSSpecification();
+		     LinkedList<SysCAMSTClock> clocks = syscalsspec.getAllClock();
+		         		
+		     for (SysCAMSTClock t : clocks) {
+		    
+			 String unitString="SC_SEC";
+			 String unitStartTimeString="SC_SEC";
+		   
+			 if(t.getUnit().equals("s"))unitString="SC_SEC";
+			 if(t.getUnitStartTime().equals("s"))unitStartTimeString="SC_SEC";
+			 if(t.getUnit().equals("ms"))unitString="SC_MS";
+			 if(t.getUnitStartTime().equals("ms"))unitStartTimeString="SC_MS";
+			 if(t.getUnit().equals("\u03BCs"))unitString="SC_US";
+			 if(t.getUnitStartTime().equals("\u03BCs"))unitStartTimeString="SC_US";
+			 if(t.getUnit().equals("ns"))unitString="SC_NS";
+			 if(t.getUnitStartTime().equals("ns"))unitStartTimeString="SC_NS";		   		    
+			 simulation =simulation+ "\t  sc_clock " + t.getName() + " (\"" + t.getName() + "\"," + t.getFrequency()+","+ unitString+","+ t.getDutyCycle()+","+ t.getStartTime()+","+unitStartTimeString+","+ t.getPosFirst()+");" + CR;	
+		     }
+		 }
+ 
+
+		 
 		 simulation = simulation +"       try {" + CR +"         return _main(argc, argv);" + CR + "    }" + CR2;
 		 simulation =simulation +"       catch (std::exception &e) {" + CR + "            std::cout << e.what() << std::endl;" + CR + "            throw;"+ CR+"    }"; 
 		simulation =simulation+" catch (...) {" + CR;
diff --git a/src/main/java/ddtranslatorSoclib/toTopCell/TopCellGenerator.java b/src/main/java/ddtranslatorSoclib/toTopCell/TopCellGenerator.java
index 97475036bbee5542638e39f3707810a784651900..44134701350235a2d765b15f388f2cf60fd1a023 100755
--- a/src/main/java/ddtranslatorSoclib/toTopCell/TopCellGenerator.java
+++ b/src/main/java/ddtranslatorSoclib/toTopCell/TopCellGenerator.java
@@ -52,12 +52,18 @@ import avatartranslator.AvatarSpecification;
 import ddtranslatorSoclib.*;
 import ddtranslatorSoclib.toSoclib.*;
 
+import ui.syscams.SysCAMSComponentTaskDiagramPanel;
+
 import java.io.*;
 import java.util.ArrayList;
 import java.util.List;
-
+import java.util.Vector;
 import myutil.TraceManager;
 
+import java.util.LinkedList;
+
+import syscamstranslator.*;
+
 public class TopCellGenerator
 {
 	private static final String MAPPING_TXT = "mapping.txt"; //$NON-NLS-1$	
@@ -108,12 +114,12 @@ public class TopCellGenerator
 				
 		AvatarComponent comp1 = my_p1.getComponent();
 		AvatarComponent comp2 = my_p2.getComponent(); 
-		//	if (comp2==comp){
+	
 			if (comp1==comp){
-		//comp2 is a crossbar
+		
 		  AvatarCrossbar comp3=  (AvatarCrossbar)comp2;
 		     cluster_index=comp3.getClusterIndex();
-		     //System.out.println("$$$ Cluster Index "+cluster_index);
+		    
 		     	return cluster_index;
 		}	
 	}
@@ -130,8 +136,7 @@ public class TopCellGenerator
 	    AvatarComponent comp1 = my_p1.getComponent();
 	    AvatarComponent comp2 = my_p2.getComponent(); 
 	    if (comp1 instanceof AvatarCPU){ 
-		AvatarCPU comp1cpu = (AvatarCPU)comp1;
-		//	if(comp1cpu.getCrossbarIndex(comp2)==cluster_no)
+		AvatarCPU comp1cpu = (AvatarCPU)comp1;	
 		if(getCrossbarIndex(comp2)==cluster_no)
 		    cpus++;			
 	    }		    			    
@@ -150,8 +155,7 @@ public class TopCellGenerator
 	    AvatarComponent comp1 = my_p1.getComponent();
 	    AvatarComponent comp2 = my_p2.getComponent(); 
 	    if (comp1 instanceof AvatarRAM){ 
-		AvatarRAM comp1ram = (AvatarRAM)comp1;
-		//if(comp1ram.getCrossbarIndex(comp2)==cluster_no)
+		AvatarRAM comp1ram = (AvatarRAM)comp1;	
 		if(getCrossbarIndex(comp2)==cluster_no)
 		    rams++;			
 	    }		    		
@@ -161,7 +165,7 @@ public class TopCellGenerator
 	return rams; 
     }
 
-    	public static int ttys_in_cluster(AvatarddSpecification dd,int cluster_no){
+    	public static int ttys_in_cluster(AvatarddSpecification dd, int cluster_no){
 	avatardd = dd;
 	int ttys=0;
 	for  (AvatarConnector connector : avatardd.getConnectors()){		
@@ -172,7 +176,6 @@ public class TopCellGenerator
 	    AvatarComponent comp2 = my_p2.getComponent(); 
 	    if (comp1 instanceof AvatarTTY){ 
 		AvatarTTY comp1ram = (AvatarTTY)comp1;
-		//if(comp1ram.getCrossbarIndex(comp2)==cluster_no)
 		if(getCrossbarIndex(comp2)==cluster_no)
 		    ttys++;			
 	    }		    		
@@ -183,7 +186,7 @@ public class TopCellGenerator
     }
     	
     
-    public String generateTopCell() {
+    public String generateTopCell(Vector<SysCAMSComponentTaskDiagramPanel> listsyscamspanel) {
 	String icn;
 	
 	/* first test validity of the hardware platform*/
@@ -218,8 +221,7 @@ public class TopCellGenerator
 	    // of memory accesses other than channel    
 	    
 	    for  (AvatarConnector connector : avatardd.getConnectors()){
-		//  AvatarConnectingPoint my_p1= (AvatarConnectingPoint)connector.get_p1(); 
-		//AvatarConnectingPoint my_p2= (AvatarConnectingPoint)connector.get_p2(); 
+	
 		AvatarConnectingPoint my_p1= connector.get_p1(); 
 		AvatarConnectingPoint my_p2= connector.get_p2(); 
 		
@@ -240,19 +242,7 @@ public class TopCellGenerator
 			AvatarCPU comp1cpu = (AvatarCPU)comp1;
 			
 			
-		    }
-		    
-		    /*	if (comp2 instanceof AvatarRAM){ 
-			AvatarRAM comp2ram = (AvatarRAM)comp1;
-			
-			comp2ram.setMonitored(comp2ram.getMonitored());
-			}
-			
-			if (comp2 instanceof AvatarCPU){ 
-			AvatarCPU comp2cpu = (AvatarCPU)comp2;
-			
-			comp2cpu.setMonitored(comp2cpu.getMonitored());
-			}*/
+		    }		    		 
 		}
 	    }
 	    
@@ -272,14 +262,7 @@ public class TopCellGenerator
 		Declaration.getDeclarations(avatardd,avspec) + 
 		Signal.getSignal(avatardd) +
 		NetList.getNetlist(avatardd,icn,tracing) +
-		Simulation.getSimulation();
-	    /*System.out.println(Header.getHeader());
-	    System.out.println(Code.getCode());
-	    System.out.println(MappingTable.getMappingTable(avatardd));
-	    System.out.println(Loader.getLoader(avspec));
-	    System.out.println(Declaration.getDeclarations(avatardd,avspec));
-	    System.out.println(Signal.getSignal(avatardd));
-	    System.out.println(NetList.getNetlist(avatardd,icn,tracing));*/	       
+		Simulation.getSimulation(listsyscamspanel);
 	    return (top);
     }	
     
@@ -300,11 +283,11 @@ public class TopCellGenerator
 		return mappingLines;
 	}
 
-    public void saveFile(String path) {
+    public void saveFile(String path, Vector<SysCAMSComponentTaskDiagramPanel> listsyscamspanel) {
 		try {
           System.err.println(path + GENERATED_PATH + "top.cc");
 			FileWriter fw = new FileWriter(path + GENERATED_PATH + "/top.cc");
-			top = generateTopCell();
+			top = generateTopCell(listsyscamspanel);
 			fw.write(top);
 			fw.close();
 		} catch (IOException ex) {
diff --git a/src/main/java/syscamstranslator/toSysCAMSCluster/ClusterCode.java b/src/main/java/syscamstranslator/toSysCAMSCluster/ClusterCode.java
index 349947efece19f16b106babd8eb7fb787d4be105..34ca107fbfe85ab80013b36590e8e04d5bdbbb03 100644
--- a/src/main/java/syscamstranslator/toSysCAMSCluster/ClusterCode.java
+++ b/src/main/java/syscamstranslator/toSysCAMSCluster/ClusterCode.java
@@ -50,6 +50,8 @@ import syscamstranslator.*;
  * Creation: 30/07/2018
  * @version 1.0 30/07/2018
  * @author Rodrigo CORTES PORTO
+ * @version 2.0 28/11/2019
+ * @author Daniela GENIUS, Rodrigo CORTES PORTO
 */
 
 public class ClusterCode {
@@ -209,24 +211,12 @@ public class ClusterCode {
                 corpsCluster += " " + t.getName() + "_" + nb_block + ";" + CR;
                 nb_block++;
             }
-	    
- for (SysCAMSTClock t : clock) {
-		   		  
-		     String unitString="SC_SEC";
-		     String unitStartTimeString="SC_SEC";
-		   
-		     if(t.getUnit().equals("s"))unitString="SC_SEC";
-		     if(t.getUnitStartTime().equals("s"))unitStartTimeString="SC_SEC";
-		     if(t.getUnit().equals("ms"))unitString="SC_MS";
-		     if(t.getUnitStartTime().equals("ms"))unitStartTimeString="SC_MS";
-		     if(t.getUnit().equals("\u03BCs"))unitString="SC_US";
-		     if(t.getUnitStartTime().equals("\u03BCs"))unitStartTimeString="SC_US";
-		     if(t.getUnit().equals("ns"))unitString="SC_NS";
-		     if(t.getUnitStartTime().equals("ns"))unitStartTimeString="SC_NS";		   		    
-		    corpsCluster += "\t  sc_clock " + t.getName() + " (\"" + t.getName() + "\"," + t.getFrequency()+","+ unitString+","+ t.getDutyCycle()+","+ t.getStartTime()+","+unitStartTimeString+","+ t.getPosFirst()+");" + CR;
-		    clocknames.add(t.getName());
+
+	    for (SysCAMSTClock t : clock) {
+		corpsCluster += "sc_clock "+t.getName()+";"+CR;
 	    }
 	    
+		    
             corpsCluster = corpsCluster + "public:" + CR;
             corpsCluster = corpsCluster + "\tsc_in< typename vci_param::data_t > in_ams;" + CR;
             corpsCluster = corpsCluster + "\tsc_out< typename vci_param::data_t > out_ams;" + CR2;	  
@@ -242,9 +232,14 @@ public class ClusterCode {
                 corpsCluster = corpsCluster + "\t" + t.getName() + "_" + nb_block + "(\"" + t.getName() + "_" + nb_block + "\")," + CR;
                 nb_block++;
             }
+
+	    for (SysCAMSTClock t : clock) {
+		corpsCluster +=t.getName()+"\""+t.getName()+"\");"+CR;
+	    }	    
+	    
             corpsCluster = corpsCluster + "\tin_ams(\"in_ams\")," + CR;
             corpsCluster = corpsCluster + "\tout_ams(\"out_ams\") {" + CR;
-            
+	 
             nb_block = 0;
 			for (SysCAMSTBlockTDF t : tdf) {
 				//corpsCluster = corpsCluster + "\t" + t.getName() + " " + t.getName() + "_" + nb_block + "(\"" + t.getName() + "_" + nb_block + "\");" + CR;
diff --git a/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java b/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java
index 0caa716517478e7b5ba7be5675759a07db4b914f..9eb00bf4519d022ac9e80c321c4945b9f2e3e907 100644
--- a/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java
+++ b/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java
@@ -127,11 +127,9 @@ public class PrimitiveCodeCluster {
 					if ((i > 0)) {
 						corpsPrimitiveTDF = corpsPrimitiveTDF + "\t\t, " + identifier + "(" + value + ")" + CR;
 					} 
-					// if (i == tdf.getListStruct().getSize()-1) {
-					// corpsPrimitiveTDF = corpsPrimitiveTDF + "\t\t{}" + CR;
-					//  }//deleted DG
+				
 				}
-				corpsPrimitiveTDF = corpsPrimitiveTDF + "\t\t{}" + CR;//moved DG
+				corpsPrimitiveTDF = corpsPrimitiveTDF + "\t\t{}" + CR;
 				corpsPrimitiveTDF = corpsPrimitiveTDF + "\t};" + CR2;
 			}
 
@@ -411,6 +409,7 @@ public class PrimitiveCodeCluster {
 		
 		if (de != null) {
 			LinkedList<SysCAMSTPortDE> deports = de.getPortDE();
+		
 			int cpt = 0;
 			int cpt2 = 0;
 
@@ -479,23 +478,10 @@ public class PrimitiveCodeCluster {
 
 			//DG 17.10.
 			if(de.getClockName()!="")
-			corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in <bool>"  + de.getClockName() + ";" + CR;
-
-			
-			/*	if (!deports.isEmpty()) {
-				for (SysCAMSTPortDE t : deports) {
-					if (t.getOrigin() == 0) {
-						corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in< " + t.getDEType() + " > " + t.getName() + ";" + CR;
-					} else if (t.getOrigin() == 1) {
-						corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_out< " + t.getDEType() + " > " + t.getName() + ";" + CR;
-					}
-				}
-			}*/
-
-
-
+			corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in <bool>"  + de.getClockName() + ";" + CR;			
+	       
 	if (!deports.isEmpty()) {
-			    //System.out.println("@@@@@@@@@DE ports non empty");
+			   
 				for (SysCAMSTPortDE t : deports) {
 
 
@@ -504,25 +490,21 @@ public class PrimitiveCodeCluster {
 					    	corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in <" + t.getDEType() + " >"  + t.getName() + ";" + CR;
 	
 					    
-						//	System.out.println("@@@@@@@@@2DE "+t.getDEType()+t.getNbits());		
+						
 					} else if (t.getOrigin() == 1) {
 					      corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_out <" + t.getDEType() + " > "+ t.getName() + ";" + CR;
 		 
-					      // System.out.println("@@@@@@@@@3DE "+t.getDEType()+t.getNbits());					
+							
 					}
 				}
 				   else {
 
 if (t.getOrigin() == 0) {
     	corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in <" + t.getDEType() + "<"+t.getNbits()+"> > " + t.getName() + ";" + CR;
-    	//corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in <sc_uint <"+t.getNbits()+"> > " + t.getName() + ";" + CR;
-					 
-	//	System.out.println("@@@@@@@@@4DE "+t.getDEType()+t.getNbits());		
+    
 					} else if (t.getOrigin() == 1) {
       corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_out <" + t.getDEType() + "<"+t.getNbits() +"> > "+ t.getName() + ";" + CR;
-      //corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_out <sc_uint <"+t.getNbits() +"> > "+ t.getName() + ";" + CR;
-		 
-      // System.out.println("@@@@@@@@@5DE "+t.getDEType()+t.getNbits());					
+   		
 					}
 
 				       
@@ -579,6 +561,10 @@ if (t.getOrigin() == 0) {
 				}
 			}
 
+			//for (SysCAMSTClock t : clock) {
+			   corpsPrimitiveDE = corpsPrimitiveDE + "\t, "+de.getClockName()+"(\""+de.getClockName()+"\")"+CR;
+			   //	}
+			
 			boolean sensitive = false, method = false;
 			if (!de.getCode().equals("")) {
 			    //  corpsPrimitiveDE = corpsPrimitiveDE + "\t{" + CR ;
diff --git a/src/main/java/ui/syscams/SysCAMSClock.java b/src/main/java/ui/syscams/SysCAMSClock.java
index bccac13b863cfd042a5212cb6803ec4edc1f63f5..ef3810947d5c39d2a016ed783c329acaec7b2f59 100644
--- a/src/main/java/ui/syscams/SysCAMSClock.java
+++ b/src/main/java/ui/syscams/SysCAMSClock.java
@@ -124,7 +124,7 @@ public class SysCAMSClock extends TGCScalableWithInternalComponent implements Sw
 	
 		setListTypedef(new DefaultListModel<String>());
 
-		myImageIcon = IconManager.imgic1202;
+		myImageIcon = IconManager.imgic8008;
 
 		actionOnAdd();
 	}
diff --git a/src/main/java/ui/util/IconManager.java b/src/main/java/ui/util/IconManager.java
index ab646504fa9388dc88b4ab84a91913d11ee7a7e0..49017d012e504ab262aee9fc2532aef2e6840138 100755
--- a/src/main/java/ui/util/IconManager.java
+++ b/src/main/java/ui/util/IconManager.java
@@ -185,7 +185,7 @@ public class IconManager {
     public static ImageIcon imgic2111; //New icon created by Solange
     
     // SystemC-AMS
-    public static ImageIcon imgic8000, imgic8001, imgic8002, imgic8003, imgic8004, imgic8005, imgic8006, imgic8007;
+    public static ImageIcon imgic8000, imgic8001, imgic8002, imgic8003, imgic8004, imgic8005, imgic8006, imgic8007, imgic8008;
 
     // ELN
     public static ImageIcon imgic8010, imgic8011, imgic8012, imgic8013, imgic8014, imgic8015, imgic8016, imgic8017, imgic8018, imgic8019, 
@@ -688,6 +688,7 @@ public class IconManager {
     private static String icon8005 = "camsdeblock.gif";
     private static String icon8006 = "camsgpio2vciblock.gif";
     private static String icon8007 = "clocksignal.gif";
+    private static String icon8008 = "blockwithclocksignal.gif";
     // ELN
     private static String icon8010 = "elnresistor.gif";
     private static String icon8011 = "elncapacitor.gif";
diff --git a/src/main/java/ui/window/JDialogAvatarddExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogAvatarddExecutableCodeGeneration.java
index b0ead1ecdf0c9d838057fb9b40c964c5f019e921..e090118ee2bf7415777743c817cd1e6adcabe9f6 100644
--- a/src/main/java/ui/window/JDialogAvatarddExecutableCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogAvatarddExecutableCodeGeneration.java
@@ -52,6 +52,7 @@ import ui.util.IconManager;
 import ui.MainGUI;
 import ui.avatardd.ADDDiagramPanel;
 import ui.interactivesimulation.JFrameSimulationSDPanel;
+import ui.syscams.SysCAMSComponentTaskDiagramPanel;
 
 import javax.swing.*;
 import java.awt.*;
@@ -60,6 +61,7 @@ import java.awt.event.ActionListener;
 import java.io.File;
 import java.io.StringWriter;
 import java.io.Writer;
+import java.util.Vector;
 
 /**
  * Class JDialogAvatarddExecutableCodeGeneration
@@ -531,9 +533,16 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
                 ADDDiagramPanel deploymentDiagramPanel = mgui.getFirstAvatarDeploymentPanelFound();
                 AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel);
+		
                 AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification();
                 AvatarSpecification avspec = mgui.gtm.getAvatarSpecification();
 
+
+		Vector<SysCAMSComponentTaskDiagramPanel> listsyscamspanel = mgui.getListSysCAMSPanel();
+		
+		//SysCAMSPanelTranslator syscamspaneltranslator = new SysCAMSPanelTranslator(syscamspanel);
+		//	SysCAMSSpecification syscamsspec =  syscamspaneltranslator.getSysCAMSSpecification();
+		
                 // Generating code
                 if (avddspec == null) {
                     jta.append("Error: No AVATAR Deployemnt specification\n");
@@ -550,7 +559,7 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
                         pathCode = code2.getText();
 
                         TraceManager.addDev("AVATAR TOPCELL saved in " + code2.getText());
-                        topCellGenerator.saveFile(pathCode);
+                        topCellGenerator.saveFile(pathCode,listsyscamspanel); // DG 28.11.2019
 
                         jta.append("Code saved\n");
                     } catch (Exception e) {
@@ -623,13 +632,13 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
                     try {
                         jta.append("Saving code in files\n");
                         pathCode = code2.getText();
-                        topCellGenerator.saveFile(pathCode);
+                        topCellGenerator.saveFile(pathCode,listsyscamspanel);
 
                         jta.append("Code saved\n");
                     } catch (Exception e) {
                         jta.append("Could not generate files\n");
                     }
-
+		    
                     testGo();
                     jta.append("Generation of C-SOCLIB executable code: done\n");
                     //t2j.printJavaClasses();