From d83047572b6514f47107197872e791177a0d09ec Mon Sep 17 00:00:00 2001 From: Daniela Genius <genius@debussy.soc.lip6.fr> Date: Thu, 14 Sep 2017 13:02:32 +0200 Subject: [PATCH] model introducing hw accelerators to generated SoClib platform --- modeling/SoCLib/test_coproc.xml | 748 ++++++++++++++++++ .../toSoclib/TasksAndMainGenerator.java | 80 +- 2 files changed, 820 insertions(+), 8 deletions(-) create mode 100644 modeling/SoCLib/test_coproc.xml diff --git a/modeling/SoCLib/test_coproc.xml b/modeling/SoCLib/test_coproc.xml new file mode 100644 index 0000000000..8d118c39f6 --- /dev/null +++ b/modeling/SoCLib/test_coproc.xml @@ -0,0 +1,748 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<TURTLEGMODELING version="0.99-beta4"> + +<Modeling type="AVATAR Design" nameTab="Design" > +<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" > +<MainCode value="void __user_init() {"/> +<MainCode value="}"/> +<Optimized value="true" /> +<Validated value="" /> +<Ignored value="" /> + +<CONNECTOR type="5002" id="2" > +<cdparam x="386" y="271" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="" /> +<TGConnectingPoint num="0" id="1" /> +<P1 x="386" y="271" id="32" /> +<P2 x="474" y="271" id="6" /> +<AutomaticDrawing data="true" /> +<extraparam> +<isd value="in valrec()" /> +<oso value="out val()" /> +<FIFOType asynchronous="true" size="1" blocking="false" private="true" broadcast="false" lossy="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5000" id="27" > +<cdparam x="474" y="171" /> +<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block1" value="Block1" /> +<TGConnectingPoint num="0" id="3" /> +<TGConnectingPoint num="1" id="4" /> +<TGConnectingPoint num="2" id="5" /> +<TGConnectingPoint num="3" id="6" /> +<TGConnectingPoint num="4" id="7" /> +<TGConnectingPoint num="5" id="8" /> +<TGConnectingPoint num="6" id="9" /> +<TGConnectingPoint num="7" id="10" /> +<TGConnectingPoint num="8" id="11" /> +<TGConnectingPoint num="9" id="12" /> +<TGConnectingPoint num="10" id="13" /> +<TGConnectingPoint num="11" id="14" /> +<TGConnectingPoint num="12" id="15" /> +<TGConnectingPoint num="13" id="16" /> +<TGConnectingPoint num="14" id="17" /> +<TGConnectingPoint num="15" id="18" /> +<TGConnectingPoint num="16" id="19" /> +<TGConnectingPoint num="17" id="20" /> +<TGConnectingPoint num="18" id="21" /> +<TGConnectingPoint num="19" id="22" /> +<TGConnectingPoint num="20" id="23" /> +<TGConnectingPoint num="21" id="24" /> +<TGConnectingPoint num="22" id="25" /> +<TGConnectingPoint num="23" id="26" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="valrec" value="" type="8" typeOther="" /> +<Signal value="in valrec()" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="52" > +<cdparam x="136" y="171" /> +<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block0" value="Block0" /> +<TGConnectingPoint num="0" id="28" /> +<TGConnectingPoint num="1" id="29" /> +<TGConnectingPoint num="2" id="30" /> +<TGConnectingPoint num="3" id="31" /> +<TGConnectingPoint num="4" id="32" /> +<TGConnectingPoint num="5" id="33" /> +<TGConnectingPoint num="6" id="34" /> +<TGConnectingPoint num="7" id="35" /> +<TGConnectingPoint num="8" id="36" /> +<TGConnectingPoint num="9" id="37" /> +<TGConnectingPoint num="10" id="38" /> +<TGConnectingPoint num="11" id="39" /> +<TGConnectingPoint num="12" id="40" /> +<TGConnectingPoint num="13" id="41" /> +<TGConnectingPoint num="14" id="42" /> +<TGConnectingPoint num="15" id="43" /> +<TGConnectingPoint num="16" id="44" /> +<TGConnectingPoint num="17" id="45" /> +<TGConnectingPoint num="18" id="46" /> +<TGConnectingPoint num="19" id="47" /> +<TGConnectingPoint num="20" id="48" /> +<TGConnectingPoint num="21" id="49" /> +<TGConnectingPoint num="22" id="50" /> +<TGConnectingPoint num="23" id="51" /> +<extraparam> +<CryptoBlock value="false" /> +<Attribute access="0" id="val" value="1" type="8" typeOther="" /> +<Signal value="out val()" attached="true" /> +</extraparam> +</COMPONENT> + + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Block1" minX="10" maxX="2500" minY="10" maxY="1500" > +<COMPONENT type="5101" id="373" > +<cdparam x="418" y="213" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="374" /> +</COMPONENT> + +<COMPONENT type="5104" id="355" > +<cdparam x="391" y="178" /> +<sizeparam width="65" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Receive signal" value="valrec()" /> +<TGConnectingPoint num="0" id="356" /> +<TGConnectingPoint num="1" id="357" /> +<TGConnectingPoint num="2" id="358" /> +<TGConnectingPoint num="3" id="359" /> +<TGConnectingPoint num="4" id="360" /> +<TGConnectingPoint num="5" id="361" /> +<TGConnectingPoint num="6" id="362" /> +<TGConnectingPoint num="7" id="363" /> +<TGConnectingPoint num="8" id="364" /> +<TGConnectingPoint num="9" id="365" /> +</COMPONENT> + +<COMPONENT type="5106" id="307" > +<cdparam x="392" y="89" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="State" value="state0" /> +<TGConnectingPoint num="0" id="308" /> +<TGConnectingPoint num="1" id="309" /> +<TGConnectingPoint num="2" id="310" /> +<TGConnectingPoint num="3" id="311" /> +<TGConnectingPoint num="4" id="312" /> +<TGConnectingPoint num="5" id="313" /> +<TGConnectingPoint num="6" id="314" /> +<TGConnectingPoint num="7" id="315" /> +<TGConnectingPoint num="8" id="316" /> +<TGConnectingPoint num="9" id="317" /> +<TGConnectingPoint num="10" id="318" /> +<TGConnectingPoint num="11" id="319" /> +<TGConnectingPoint num="12" id="320" /> +<TGConnectingPoint num="13" id="321" /> +<TGConnectingPoint num="14" id="322" /> +<TGConnectingPoint num="15" id="323" /> +<TGConnectingPoint num="16" id="324" /> +<TGConnectingPoint num="17" id="325" /> +<TGConnectingPoint num="18" id="326" /> +<TGConnectingPoint num="19" id="327" /> +<TGConnectingPoint num="20" id="328" /> +<TGConnectingPoint num="21" id="329" /> +<TGConnectingPoint num="22" id="330" /> +<TGConnectingPoint num="23" id="331" /> +<TGConnectingPoint num="24" id="332" /> +<TGConnectingPoint num="25" id="333" /> +<TGConnectingPoint num="26" id="334" /> +<TGConnectingPoint num="27" id="335" /> +<TGConnectingPoint num="28" id="336" /> +<TGConnectingPoint num="29" id="337" /> +<TGConnectingPoint num="30" id="338" /> +<TGConnectingPoint num="31" id="339" /> +<TGConnectingPoint num="32" id="340" /> +<TGConnectingPoint num="33" id="341" /> +<TGConnectingPoint num="34" id="342" /> +<TGConnectingPoint num="35" id="343" /> +<TGConnectingPoint num="36" id="344" /> +<TGConnectingPoint num="37" id="345" /> +<TGConnectingPoint num="38" id="346" /> +<TGConnectingPoint num="39" id="347" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="54" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="53" /> +</COMPONENT> + +<CONNECTOR type="5102" id="348" > +<cdparam x="407" y="70" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="349" /> +<P1 x="407" y="70" id="53" /> +<P2 x="392" y="89" id="308" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="350" > +<father id="348" num="0" /> +<cdparam x="408" y="79" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="351" /> +<TGConnectingPoint num="1" id="352" /> +<TGConnectingPoint num="2" id="353" /> +<TGConnectingPoint num="3" id="354" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="366" > +<cdparam x="429" y="139" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="367" /> +<P1 x="429" y="139" id="337" /> +<P2 x="423" y="173" id="356" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="368" > +<father id="366" num="0" /> +<cdparam x="426" y="156" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="369" /> +<TGConnectingPoint num="1" id="370" /> +<TGConnectingPoint num="2" id="371" /> +<TGConnectingPoint num="3" id="372" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="375" > +<cdparam x="423" y="203" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="376" /> +<P1 x="423" y="203" id="357" /> +<P2 x="428" y="208" id="374" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="377" > +<father id="375" num="0" /> +<cdparam x="425" y="205" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="378" /> +<TGConnectingPoint num="1" id="379" /> +<TGConnectingPoint num="2" id="380" /> +<TGConnectingPoint num="3" id="381" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Block0" minX="10" maxX="2500" minY="10" maxY="1500" > +<CONNECTOR type="5102" id="61" > +<cdparam x="407" y="70" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="60" /> +<P1 x="407" y="70" id="130" /> +<P2 x="403" y="85" id="89" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="59" > +<father id="61" num="0" /> +<cdparam x="405" y="77" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="55" /> +<TGConnectingPoint num="1" id="56" /> +<TGConnectingPoint num="2" id="57" /> +<TGConnectingPoint num="3" id="58" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="68" > +<cdparam x="453" y="135" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="67" /> +<P1 x="453" y="135" id="95" /> +<P2 x="454" y="169" id="78" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="66" > +<father id="68" num="0" /> +<cdparam x="453" y="152" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="62" /> +<TGConnectingPoint num="1" id="63" /> +<TGConnectingPoint num="2" id="64" /> +<TGConnectingPoint num="3" id="65" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="75" > +<cdparam x="454" y="199" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> +<TGConnectingPoint num="0" id="74" /> +<P1 x="454" y="199" id="79" /> +<P2 x="462" y="203" id="76" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="73" > +<father id="75" num="0" /> +<cdparam x="458" y="201" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="69" /> +<TGConnectingPoint num="1" id="70" /> +<TGConnectingPoint num="2" id="71" /> +<TGConnectingPoint num="3" id="72" /> +<extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5101" id="77" > +<cdparam x="452" y="208" /> +<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<TGConnectingPoint num="0" id="76" /> +</COMPONENT> + +<COMPONENT type="5103" id="88" > +<cdparam x="435" y="174" /> +<sizeparam width="38" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="val()" /> +<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" /> +<TGConnectingPoint num="8" id="86" /> +<TGConnectingPoint num="9" id="87" /> +</COMPONENT> + +<COMPONENT type="5106" id="129" > +<cdparam x="403" y="85" /> +<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="State" value="state0" /> +<TGConnectingPoint num="0" id="89" /> +<TGConnectingPoint num="1" id="90" /> +<TGConnectingPoint num="2" id="91" /> +<TGConnectingPoint num="3" id="92" /> +<TGConnectingPoint num="4" id="93" /> +<TGConnectingPoint num="5" id="94" /> +<TGConnectingPoint num="6" id="95" /> +<TGConnectingPoint num="7" id="96" /> +<TGConnectingPoint num="8" id="97" /> +<TGConnectingPoint num="9" id="98" /> +<TGConnectingPoint num="10" id="99" /> +<TGConnectingPoint num="11" id="100" /> +<TGConnectingPoint num="12" id="101" /> +<TGConnectingPoint num="13" id="102" /> +<TGConnectingPoint num="14" id="103" /> +<TGConnectingPoint num="15" id="104" /> +<TGConnectingPoint num="16" id="105" /> +<TGConnectingPoint num="17" id="106" /> +<TGConnectingPoint num="18" id="107" /> +<TGConnectingPoint num="19" id="108" /> +<TGConnectingPoint num="20" id="109" /> +<TGConnectingPoint num="21" id="110" /> +<TGConnectingPoint num="22" id="111" /> +<TGConnectingPoint num="23" id="112" /> +<TGConnectingPoint num="24" id="113" /> +<TGConnectingPoint num="25" id="114" /> +<TGConnectingPoint num="26" id="115" /> +<TGConnectingPoint num="27" id="116" /> +<TGConnectingPoint num="28" id="117" /> +<TGConnectingPoint num="29" id="118" /> +<TGConnectingPoint num="30" id="119" /> +<TGConnectingPoint num="31" id="120" /> +<TGConnectingPoint num="32" id="121" /> +<TGConnectingPoint num="33" id="122" /> +<TGConnectingPoint num="34" id="123" /> +<TGConnectingPoint num="35" id="124" /> +<TGConnectingPoint num="36" id="125" /> +<TGConnectingPoint num="37" id="126" /> +<TGConnectingPoint num="38" id="127" /> +<TGConnectingPoint num="39" id="128" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="131" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="130" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +</Modeling> + + + + +<Modeling type="ADD" nameTab="Deployment" > +<ADDDiagramPanel name="Deployment Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" > +<COMPONENT type="5352" id="140" > +<cdparam x="332" y="84" /> +<sizeparam width="124" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="TGComponent" value="Design::Block0" /> +<TGConnectingPoint num="0" id="132" /> +<TGConnectingPoint num="1" id="133" /> +<TGConnectingPoint num="2" id="134" /> +<TGConnectingPoint num="3" id="135" /> +<TGConnectingPoint num="4" id="136" /> +<TGConnectingPoint num="5" id="137" /> +<TGConnectingPoint num="6" id="138" /> +<TGConnectingPoint num="7" id="139" /> +<extraparam> +<info value="Design::Block0" taskName="Block0" referenceTaskName="Design" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5360" id="165" > +<cdparam x="300" y="18" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Copro0" value="name" /> +<TGConnectingPoint num="0" id="141" /> +<TGConnectingPoint num="1" id="142" /> +<TGConnectingPoint num="2" id="143" /> +<TGConnectingPoint num="3" id="144" /> +<TGConnectingPoint num="4" id="145" /> +<TGConnectingPoint num="5" id="146" /> +<TGConnectingPoint num="6" id="147" /> +<TGConnectingPoint num="7" id="148" /> +<TGConnectingPoint num="8" id="149" /> +<TGConnectingPoint num="9" id="150" /> +<TGConnectingPoint num="10" id="151" /> +<TGConnectingPoint num="11" id="152" /> +<TGConnectingPoint num="12" id="153" /> +<TGConnectingPoint num="13" id="154" /> +<TGConnectingPoint num="14" id="155" /> +<TGConnectingPoint num="15" id="156" /> +<TGConnectingPoint num="16" id="157" /> +<TGConnectingPoint num="17" id="158" /> +<TGConnectingPoint num="18" id="159" /> +<TGConnectingPoint num="19" id="160" /> +<TGConnectingPoint num="20" id="161" /> +<TGConnectingPoint num="21" id="162" /> +<TGConnectingPoint num="22" id="163" /> +<TGConnectingPoint num="23" id="164" /> +<extraparam> +<info stereotype="MWMR-CoPro" nodeName="Copro0" /> +<attributes srcid="0" tgtid="0" plaps="0" fifoToCoprocDepth="0" fifoFromCoprocDepth="0" nToCopro="0" nFromCopro="0" nConfig="0" nStatus="0" useLLSC="false" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5354" id="190" > +<cdparam x="38" y="187" /> +<sizeparam width="177" height="157" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="TTY0" value="name" /> +<TGConnectingPoint num="0" id="166" /> +<TGConnectingPoint num="1" id="167" /> +<TGConnectingPoint num="2" id="168" /> +<TGConnectingPoint num="3" id="169" /> +<TGConnectingPoint num="4" id="170" /> +<TGConnectingPoint num="5" id="171" /> +<TGConnectingPoint num="6" id="172" /> +<TGConnectingPoint num="7" id="173" /> +<TGConnectingPoint num="8" id="174" /> +<TGConnectingPoint num="9" id="175" /> +<TGConnectingPoint num="10" id="176" /> +<TGConnectingPoint num="11" id="177" /> +<TGConnectingPoint num="12" id="178" /> +<TGConnectingPoint num="13" id="179" /> +<TGConnectingPoint num="14" id="180" /> +<TGConnectingPoint num="15" id="181" /> +<TGConnectingPoint num="16" id="182" /> +<TGConnectingPoint num="17" id="183" /> +<TGConnectingPoint num="18" id="184" /> +<TGConnectingPoint num="19" id="185" /> +<TGConnectingPoint num="20" id="186" /> +<TGConnectingPoint num="21" id="187" /> +<TGConnectingPoint num="22" id="188" /> +<TGConnectingPoint num="23" id="189" /> +<extraparam> +<info stereotype="TTY" nodeName="TTY0" /> +<attributes index="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5363" id="215" > +<cdparam x="313" y="270" /> +<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Vgmn0" value="name" /> +<TGConnectingPoint num="0" id="191" /> +<TGConnectingPoint num="1" id="192" /> +<TGConnectingPoint num="2" id="193" /> +<TGConnectingPoint num="3" id="194" /> +<TGConnectingPoint num="4" id="195" /> +<TGConnectingPoint num="5" id="196" /> +<TGConnectingPoint num="6" id="197" /> +<TGConnectingPoint num="7" id="198" /> +<TGConnectingPoint num="8" id="199" /> +<TGConnectingPoint num="9" id="200" /> +<TGConnectingPoint num="10" id="201" /> +<TGConnectingPoint num="11" id="202" /> +<TGConnectingPoint num="12" id="203" /> +<TGConnectingPoint num="13" id="204" /> +<TGConnectingPoint num="14" id="205" /> +<TGConnectingPoint num="15" id="206" /> +<TGConnectingPoint num="16" id="207" /> +<TGConnectingPoint num="17" id="208" /> +<TGConnectingPoint num="18" id="209" /> +<TGConnectingPoint num="19" id="210" /> +<TGConnectingPoint num="20" id="211" /> +<TGConnectingPoint num="21" id="212" /> +<TGConnectingPoint num="22" id="213" /> +<TGConnectingPoint num="23" id="214" /> +<extraparam> +<info stereotype="VGMN" nodeName="Vgmn0" /> +<attributes index="0" nbOfAttachedInitiators="0" nbOfAttachedTargets="0" minLatency="10" fifoDepth="8" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5355" id="249" > +<cdparam x="218" y="377" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Memory0" value="name" /> +<TGConnectingPoint num="0" id="225" /> +<TGConnectingPoint num="1" id="226" /> +<TGConnectingPoint num="2" id="227" /> +<TGConnectingPoint num="3" id="228" /> +<TGConnectingPoint num="4" id="229" /> +<TGConnectingPoint num="5" id="230" /> +<TGConnectingPoint num="6" id="231" /> +<TGConnectingPoint num="7" id="232" /> +<TGConnectingPoint num="8" id="233" /> +<TGConnectingPoint num="9" id="234" /> +<TGConnectingPoint num="10" id="235" /> +<TGConnectingPoint num="11" id="236" /> +<TGConnectingPoint num="12" id="237" /> +<TGConnectingPoint num="13" id="238" /> +<TGConnectingPoint num="14" id="239" /> +<TGConnectingPoint num="15" id="240" /> +<TGConnectingPoint num="16" id="241" /> +<TGConnectingPoint num="17" id="242" /> +<TGConnectingPoint num="18" id="243" /> +<TGConnectingPoint num="19" id="244" /> +<TGConnectingPoint num="20" id="245" /> +<TGConnectingPoint num="21" id="246" /> +<TGConnectingPoint num="22" id="247" /> +<TGConnectingPoint num="23" id="248" /> +<extraparam> +<info stereotype="RAM" nodeName="Memory0" /> +<attributes byteDataSize="65536" index="0" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="5362" id="224" > +<father id="249" num="0" /> +<cdparam x="261" y="464" /> +<sizeparam width="122" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="78" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="Block0/out val" /> +<TGConnectingPoint num="0" id="216" /> +<TGConnectingPoint num="1" id="217" /> +<TGConnectingPoint num="2" id="218" /> +<TGConnectingPoint num="3" id="219" /> +<TGConnectingPoint num="4" id="220" /> +<TGConnectingPoint num="5" id="221" /> +<TGConnectingPoint num="6" id="222" /> +<TGConnectingPoint num="7" id="223" /> +<extraparam> +<info value="Block0/out val" channelName="Block0/out val() #--# Block1/in valrec()" fullChannelName="Design::Block0/out val() #--# Block1/in valrec()" referenceDiagram="Design" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5351" id="283" > +<cdparam x="578" y="43" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="CPU0" value="name" /> +<TGConnectingPoint num="0" id="259" /> +<TGConnectingPoint num="1" id="260" /> +<TGConnectingPoint num="2" id="261" /> +<TGConnectingPoint num="3" id="262" /> +<TGConnectingPoint num="4" id="263" /> +<TGConnectingPoint num="5" id="264" /> +<TGConnectingPoint num="6" id="265" /> +<TGConnectingPoint num="7" id="266" /> +<TGConnectingPoint num="8" id="267" /> +<TGConnectingPoint num="9" id="268" /> +<TGConnectingPoint num="10" id="269" /> +<TGConnectingPoint num="11" id="270" /> +<TGConnectingPoint num="12" id="271" /> +<TGConnectingPoint num="13" id="272" /> +<TGConnectingPoint num="14" id="273" /> +<TGConnectingPoint num="15" id="274" /> +<TGConnectingPoint num="16" id="275" /> +<TGConnectingPoint num="17" id="276" /> +<TGConnectingPoint num="18" id="277" /> +<TGConnectingPoint num="19" id="278" /> +<TGConnectingPoint num="20" id="279" /> +<TGConnectingPoint num="21" id="280" /> +<TGConnectingPoint num="22" id="281" /> +<TGConnectingPoint num="23" id="282" /> +<extraparam> +<info stereotype="CPU" nodeName="CPU0" /> +<attributes nbOfIrq="6" iCacheWays="8" iCacheSets="1" iCacheWords="4" dCacheWays="8" dCacheSets="1" dCacheWords="4" /> +</extraparam> +</COMPONENT> +<SUBCOMPONENT type="5352" id="258" > +<father id="283" num="0" /> +<cdparam x="631" y="98" /> +<sizeparam width="123" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="127" minY="0" maxY="160" /> +<infoparam name="TGComponent" value="Design::Block1" /> +<TGConnectingPoint num="0" id="250" /> +<TGConnectingPoint num="1" id="251" /> +<TGConnectingPoint num="2" id="252" /> +<TGConnectingPoint num="3" id="253" /> +<TGConnectingPoint num="4" id="254" /> +<TGConnectingPoint num="5" id="255" /> +<TGConnectingPoint num="6" id="256" /> +<TGConnectingPoint num="7" id="257" /> +<extraparam> +<info value="Design::Block1" taskName="Block1" referenceTaskName="Design" /> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5350" id="284" > +<cdparam x="369" y="223" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="400" y="218" id="147" /> +<P2 x="438" y="270" id="192" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5350" id="285" > +<cdparam x="703" y="243" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="703" y="243" id="265" /> +<P2 x="563" y="282" id="202" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5350" id="286" > +<cdparam x="318" y="377" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="318" y="377" id="226" /> +<P2 x="375" y="320" id="205" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5350" id="287" > +<cdparam x="215" y="265" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="215" y="265" id="170" /> +<P2 x="313" y="282" id="201" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> + +</ADDDiagramPanel> + +</Modeling> + + + + +</TURTLEGMODELING> \ No newline at end of file diff --git a/src/main/java/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java b/src/main/java/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java index b4f2edf4d8..87693017da 100755 --- a/src/main/java/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java +++ b/src/main/java/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java @@ -43,6 +43,7 @@ package ddtranslatorSoclib.toSoclib; import avatartranslator.*; import ddtranslatorSoclib.AvatarRAM; +import ddtranslatorSoclib.AvatarCoproMWMR; import ddtranslatorSoclib.AvatarTask; import ddtranslatorSoclib.AvatarddSpecification; import ddtranslatorSoclib.toTopCell.TopCellGenerator; @@ -1033,8 +1034,7 @@ public class TasksAndMainGenerator { mainFile.appendToMainCode("/* Activating randomness */" + CR); mainFile.appendToMainCode("initRandom();" + CR); - /* DG 7.9.2017 additions for use of hardware MWMR controller */ - + /* Use of hardware MWMR controller */ /*void mwmr_hw_init( void *coproc, enum SoclibMwmrWay way, size_t no, const struct mwmr_s* mwmr );*/ @@ -1044,14 +1044,78 @@ public class TasksAndMainGenerator { /* mwmr_t *p_mwmr_in = (mwmr_t*)(base(MWMRd)+0x1000);*/ -/*mwmr_initialize_pointer(p_mwmr_in, WIDTH, DEPTH, fifo_data_in, lock_in );*/ + /*mwmr_initialize_pointer(p_mwmr_in, WIDTH, DEPTH, fifo_data_in, lock_in );*/ + + /* mwmr_hw_init(base(MWMR), MWMR_TO_COPROC, 0 , p_mwmr_in);*/ + + /*for all coproc + uint32_t *fifo = (uint32_t*) + i*4096;*/ + + //DG 11.09. + int width = 4; //nb_params;//ToDo -/* mwmr_hw_init(base(MWMR), MWMR_TO_COPROC, 0 , p_mwmr_in);*/ + int i=0; + int MWMRd_SIZE=12288; + + for (AvatarCoproMWMR copro : TopCellGenerator.avatardd.getAllCoproMWMR()){ + + for(AvatarRelation ar: avspec.getRelations()) { + + if(ar.nbOfSignals()!=0){ + for(i=0; i<ar.nbOfSignals() ; i++) { + if(((ar.block1.getName()==copro.getName())||(ar.block2.getName()==copro.getName()))){ + + + mainFile.appendToMainCode("uint32_t *fifo_data"+i+"=(uint32_t*)(0x"+Integer.toHexString(538968064+MWMRd_SIZE*i)+");"+CR); + //one single RAMLOCKS, fixed address + mainFile.appendToMainCode("uint32_t *fifo_lock"+i+"= (uint32_t*)("+0x1A200000+");"+CR); + mainFile.appendToMainCode("mwmr_t *"+getChannelName(ar, i)+" = (mwmr_t*)(0x"+Integer.toHexString(538968064+MWMRd_SIZE*i)+");"+CR); + //depth 100 per default, to be changed later + + mainFile.appendToMainCode("mwmr_initialize_pointer("+getChannelName(ar, i)+","+(width*4)+", 100, fifo_data"+i+",fifo_lock"+i+");"+CR); + + //DG 10.09. il faut encore associer p_mwmr_i avec le canal dans le main.c + //mainFile.appendToBeforeMainCode("struct mwmr_s "+getChannelName(ar, i) +" CHANNEL"+k+";" + CR2); + i++; + } + } + } + } + } + + i=0; + int MWMR_SIZE=4096; + + for (AvatarCoproMWMR copro : TopCellGenerator.avatardd.getAllCoproMWMR()){ + + for(AvatarRelation ar: avspec.getRelations()) { + + if(ar.nbOfSignals()!=0){ + for(i=0; i<ar.nbOfSignals() ; i++) { + // detect if there is a coprocessors implicated in the FIFO MWMR communication + //in this case we have to address the hardware wrapper rather than the software channel + + if(((ar.block1.getName()==copro.getName())||(ar.block2.getName()==copro.getName()))){ + + // 0 = MWMR_FROM_COPROC = READ + // 1 = MWMR_FROM_COPROC = WRITE + //distinguish incoming and outgoing FIFOs + + AvatarSignal sig = ar.getSignal1(i); + if(sig.isIn()){ + mainFile.appendToMainCode("mwmr_hw_init(0xA0"+ Integer.toHexString(2097152+MWMR_SIZE*i)+","+ 0 +",1,"+getChannelName(ar, i)+");"+CR); + } + else{ //sig.isOut() + mainFile.appendToMainCode("mwmr_hw_init(0xA0"+ Integer.toHexString(2097152+MWMR_SIZE*i)+","+ 0 +",0,"+getChannelName(ar, i)+");"+CR); + } + i++; + } + } + } + } + } -/*for all coproc - uint32_t *fifo = (uint32_t*) + i*4096;*/ -/* end ajoute 7.9. */ mainFile.appendToMainCode("/* Initializing the main mutex */" + CR); mainFile.appendToMainCode("if (pthread_mutex_init(&__mainMutex, NULL) < 0) { exit(-1);}" + CR + CR); @@ -1073,7 +1137,7 @@ public class TasksAndMainGenerator { String channelString= ""; int j=0; for(AvatarRelation ar: avspec.getRelations()) { - int i; + // int i; if(ar.nbOfSignals()!=0){ for(i=0; i<ar.nbOfSignals() ; i++) { -- GitLab