From 6bf0f899a3f7f00edfad1d0435b9da04617d492a Mon Sep 17 00:00:00 2001 From: Rodrigo CORTES PORTO <Rodrigo.Cortes-porto@lip6.fr> Date: Wed, 29 Aug 2018 11:50:15 +0200 Subject: [PATCH] Created new libsyscams to contain basic Software communication functions to the SoClib component gpio2vci.(syscams) --- MPSoC/Makefile.forsoclib | 2 + MPSoC/generated_topcell/config_noproc | 1 + MPSoC/mutekh/examples/config | 3 + MPSoC/mutekh/libsyscams/Makefile | 3 + MPSoC/mutekh/libsyscams/gpio2vci_address.h | 8 + MPSoC/mutekh/libsyscams/gpio2vci_iface.c | 15 + MPSoC/mutekh/libsyscams/gpio2vci_iface.h | 10 + MPSoC/mutekh/libsyscams/libsyscams.config | 6 + modeling/LIP6/monoprocessor.xml | 659 ++++++++++++------ .../toSoclib/Gpio2VciAddress.java | 93 +++ .../toSoclib/TaskFileSoclib.java | 13 +- .../toSoclib/TasksAndMainGenerator.java | 6 + ...DialogSysCAMSExecutableCodeGeneration.java | 2 +- 13 files changed, 595 insertions(+), 226 deletions(-) create mode 100644 MPSoC/mutekh/libsyscams/Makefile create mode 100644 MPSoC/mutekh/libsyscams/gpio2vci_address.h create mode 100644 MPSoC/mutekh/libsyscams/gpio2vci_iface.c create mode 100644 MPSoC/mutekh/libsyscams/gpio2vci_iface.h create mode 100644 MPSoC/mutekh/libsyscams/libsyscams.config create mode 100644 src/main/java/ddtranslatorSoclib/toSoclib/Gpio2VciAddress.java diff --git a/MPSoC/Makefile.forsoclib b/MPSoC/Makefile.forsoclib index 80c144da16..a7abb1e606 100755 --- a/MPSoC/Makefile.forsoclib +++ b/MPSoC/Makefile.forsoclib @@ -16,6 +16,8 @@ export PATH updateruntime: cp mutekh/libmwmr/*.c mutekh/examples/avatar cp mutekh/libmwmr/include/mwmr/mwmr.h mutekh/examples/avatar + cp mutekh/libsyscams/*.c mutekh/examples/avatar + cp mutekh/libsyscams/*.h mutekh/examples/avatar cp src/*.c ~/TTool/MPSoC/mutekh/examples/avatar cp src/*.h ~/TTool/MPSoC/mutekh/examples/avatar diff --git a/MPSoC/generated_topcell/config_noproc b/MPSoC/generated_topcell/config_noproc index 41ed52bc72..be587d6137 100644 --- a/MPSoC/generated_topcell/config_noproc +++ b/MPSoC/generated_topcell/config_noproc @@ -26,6 +26,7 @@ CONFIG_MWMR CONFIG_MWMR_SOCLIB CONFIG_MUTEK_SCHEDULER_STATIC + CONFIG_LIBSYSCAMS %include $(SRC_DIR)/examples/common/build_options.conf %include $(SRC_DIR)/examples/common/platforms.conf diff --git a/MPSoC/mutekh/examples/config b/MPSoC/mutekh/examples/config index ab93ac874f..7a483788e4 100644 --- a/MPSoC/mutekh/examples/config +++ b/MPSoC/mutekh/examples/config @@ -29,6 +29,9 @@ CONFIG_PTHREAD_ATTRIBUTES CONFIG_MWMR CONFIG_MWMR_SOCLIB #fin ajoute DG +#changes RCP + CONFIG_LIBSYSCAMS +#end changes RCP CONFIG_MUTEK_SCHEDULER_STATIC %include $(SRC_DIR)/examples/common/build_options.conf diff --git a/MPSoC/mutekh/libsyscams/Makefile b/MPSoC/mutekh/libsyscams/Makefile new file mode 100644 index 0000000000..d77e2d83bb --- /dev/null +++ b/MPSoC/mutekh/libsyscams/Makefile @@ -0,0 +1,3 @@ + +objs += gpio2vci_iface.o gpio2vci_address.o + diff --git a/MPSoC/mutekh/libsyscams/gpio2vci_address.h b/MPSoC/mutekh/libsyscams/gpio2vci_address.h new file mode 100644 index 0000000000..af10865412 --- /dev/null +++ b/MPSoC/mutekh/libsyscams/gpio2vci_address.h @@ -0,0 +1,8 @@ +#ifndef GPIO2VCI_ADDRESS_H +#define GPIO2VCI_ADDRESS_H +#include <string.h> +#include <stdio.h> + +int get_address(char name[]); + +#endif //GPIO2VCI_ADDRESS_H diff --git a/MPSoC/mutekh/libsyscams/gpio2vci_iface.c b/MPSoC/mutekh/libsyscams/gpio2vci_iface.c new file mode 100644 index 0000000000..310cc1842c --- /dev/null +++ b/MPSoC/mutekh/libsyscams/gpio2vci_iface.c @@ -0,0 +1,15 @@ +#include "gpio2vci_iface.h" + +void write_gpio2vci(int data, char name[]) { + int * wr_ptr; + //wr_ptr = (int*)AMS_CLUSTER_WRITE; //Address of the GPIO2VCI component. + //wr_ptr = (int*)get_address(index); + wr_ptr = (int*)get_address(name); + *wr_ptr = data; +} + +int read_gpio2vci(char name[]) { + int * rd_ptr; + rd_ptr = (int*)(get_address(name)+4); + return *rd_ptr; +} diff --git a/MPSoC/mutekh/libsyscams/gpio2vci_iface.h b/MPSoC/mutekh/libsyscams/gpio2vci_iface.h new file mode 100644 index 0000000000..c03868e1af --- /dev/null +++ b/MPSoC/mutekh/libsyscams/gpio2vci_iface.h @@ -0,0 +1,10 @@ +#ifndef GPIO2VCI_IFACE_H +#define GPIO2VCI_IFACE_H + +#include "gpio2vci_address.h" + +void write_gpio2vci(int data, char name[]); + +int read_gpio2vci(char name[]); + +#endif //GPIO2VCI_IFACE_H diff --git a/MPSoC/mutekh/libsyscams/libsyscams.config b/MPSoC/mutekh/libsyscams/libsyscams.config new file mode 100644 index 0000000000..203c5d5cc0 --- /dev/null +++ b/MPSoC/mutekh/libsyscams/libsyscams.config @@ -0,0 +1,6 @@ + +%config CONFIG_LIBSYSCAMS + desc Enable SYSCAMS library + module libsyscams +%config end + diff --git a/modeling/LIP6/monoprocessor.xml b/modeling/LIP6/monoprocessor.xml index f9d7a3a941..031338f954 100644 --- a/modeling/LIP6/monoprocessor.xml +++ b/modeling/LIP6/monoprocessor.xml @@ -63,6 +63,7 @@ <cdparam x="458" y="139" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> +<enabled value="true" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <TGConnectingPoint num="0" id="26" /> @@ -70,12 +71,12 @@ <TGConnectingPoint num="2" id="28" /> <TGConnectingPoint num="3" id="29" /> <extraparam> -<guard value="[ ]" /> -<afterMin value="" /> -<afterMax value="" /> -<computeMin value="" /> -<computeMax value="" /> -<probability value="" /> +<guard value="[ ]" enabled="true"/> +<afterMin value="" enabled="true"/> +<afterMax value="" enabled="true"/> +<computeMin value="" enabled="true"/> +<computeMax value="" enabled="true"/> +<probability value="" enabled="true"/> </extraparam> </SUBCOMPONENT> @@ -92,6 +93,7 @@ <cdparam x="407" y="110" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> +<enabled value="true" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <TGConnectingPoint num="0" id="33" /> @@ -99,12 +101,12 @@ <TGConnectingPoint num="2" id="35" /> <TGConnectingPoint num="3" id="36" /> <extraparam> -<guard value="[ ]" /> -<afterMin value="" /> -<afterMax value="" /> -<computeMin value="" /> -<computeMax value="" /> -<probability value="" /> +<guard value="[ ]" enabled="true"/> +<afterMin value="" enabled="true"/> +<afterMax value="" enabled="true"/> +<computeMin value="" enabled="true"/> +<computeMax value="" enabled="true"/> +<probability value="" enabled="true"/> </extraparam> </SUBCOMPONENT> @@ -121,6 +123,7 @@ <cdparam x="410" y="65" /> <sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> +<enabled value="true" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="state0" /> <TGConnectingPoint num="0" id="42" /> @@ -165,6 +168,17 @@ <TGConnectingPoint num="39" id="81" /> <extraparam> <entryCode value="printf("Hello World! \n");" /> +<entryCode value="write_gpio2vci(23, "cluster");" /> +<entryCode value="printf("Setting amplitude of sine1 generator to %d\n", 23);" /> +<entryCode value="printf("Reading value of sine generator: %d\n", read_gpio2vci("cluster"));" /> +<entryCode value="printf("Reading value of sine generator: %d\n", read_gpio2vci("cluster"));" /> +<entryCode value="printf("Reading value of sine generator: %d\n", read_gpio2vci("cluster"));" /> +<entryCode value="" /> +<entryCode value="write_gpio2vci(7, "cluster2");" /> +<entryCode value="printf("Setting amplitude of sine2 generator to %d\n", 7);" /> +<entryCode value="printf("Reading value of sine generator: %d\n", read_gpio2vci("cluster2"));" /> +<entryCode value="printf("Reading value of sine generator: %d\n", read_gpio2vci("cluster2"));" /> +<entryCode value="printf("Reading value of sine generator: %d\n", read_gpio2vci("cluster2"));" /> </extraparam> </COMPONENT> @@ -187,12 +201,59 @@ <Modeling type="ADD" nameTab="Avatar Deployment" > <ADDDiagramPanel name="Deployment Diagram" minX="10" maxX="1400" minY="10" maxY="900" attributes="0" masterClockFrequency="200" > -<COMPONENT type="5354" id="109" > -<cdparam x="649" y="518" /> +<CONNECTOR type="5350" id="469" > +<cdparam x="1187" y="208" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="964" y="171" id="448" /> +<P2 x="773" y="309" id="162" /> +<AutomaticDrawing data="true" /> +<extraparam> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5365" id="444" > +<cdparam x="964" y="71" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="TTY0" value="name" /> +<infoparam name="cluster" value="cluster" /> +<TGConnectingPoint num="0" id="445" /> +<TGConnectingPoint num="1" id="446" /> +<TGConnectingPoint num="2" id="447" /> +<TGConnectingPoint num="3" id="448" /> +<TGConnectingPoint num="4" id="449" /> +<TGConnectingPoint num="5" id="450" /> +<TGConnectingPoint num="6" id="451" /> +<TGConnectingPoint num="7" id="452" /> +<TGConnectingPoint num="8" id="453" /> +<TGConnectingPoint num="9" id="454" /> +<TGConnectingPoint num="10" id="455" /> +<TGConnectingPoint num="11" id="456" /> +<TGConnectingPoint num="12" id="457" /> +<TGConnectingPoint num="13" id="458" /> +<TGConnectingPoint num="14" id="459" /> +<TGConnectingPoint num="15" id="460" /> +<TGConnectingPoint num="16" id="461" /> +<TGConnectingPoint num="17" id="462" /> +<TGConnectingPoint num="18" id="463" /> +<TGConnectingPoint num="19" id="464" /> +<TGConnectingPoint num="20" id="465" /> +<TGConnectingPoint num="21" id="466" /> +<TGConnectingPoint num="22" id="467" /> +<TGConnectingPoint num="23" id="468" /> +<extraparam> +<info stereotype="SystemC-AMS Cluster" nodeName="cluster" /> +<attributes index="0" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5365" id="109" > +<cdparam x="1150" y="334" /> +<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="cluster2" value="cluster2" /> <TGConnectingPoint num="0" id="85" /> <TGConnectingPoint num="1" id="86" /> <TGConnectingPoint num="2" id="87" /> @@ -218,17 +279,17 @@ <TGConnectingPoint num="22" id="107" /> <TGConnectingPoint num="23" id="108" /> <extraparam> -<info stereotype="TTY" nodeName="TTY0" /> +<info stereotype="SystemC-AMS Cluster" nodeName="cluster2" /> <attributes index="0" /> </extraparam> </COMPONENT> -<COMPONENT type="5365" id="134" > -<cdparam x="942" y="75" /> +<COMPONENT type="5354" id="134" > +<cdparam x="649" y="518" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="cluster" value="cluster" /> +<infoparam name="TTY0" value="name" /> <TGConnectingPoint num="0" id="110" /> <TGConnectingPoint num="1" id="111" /> <TGConnectingPoint num="2" id="112" /> @@ -254,53 +315,17 @@ <TGConnectingPoint num="22" id="132" /> <TGConnectingPoint num="23" id="133" /> <extraparam> -<info stereotype="SystemC-AMS Cluster" nodeName="cluster" /> +<info stereotype="TTY" nodeName="TTY0" /> <attributes index="0" /> </extraparam> </COMPONENT> -<COMPONENT type="5363" id="159" > +<COMPONENT type="5363" id="184" > <cdparam x="523" y="309" /> <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="Bus0" value="name" /> -<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" /> -<TGConnectingPoint num="9" id="144" /> -<TGConnectingPoint num="10" id="145" /> -<TGConnectingPoint num="11" id="146" /> -<TGConnectingPoint num="12" id="147" /> -<TGConnectingPoint num="13" id="148" /> -<TGConnectingPoint num="14" id="149" /> -<TGConnectingPoint num="15" id="150" /> -<TGConnectingPoint num="16" id="151" /> -<TGConnectingPoint num="17" id="152" /> -<TGConnectingPoint num="18" id="153" /> -<TGConnectingPoint num="19" id="154" /> -<TGConnectingPoint num="20" id="155" /> -<TGConnectingPoint num="21" id="156" /> -<TGConnectingPoint num="22" id="157" /> -<TGConnectingPoint num="23" id="158" /> -<extraparam> -<info stereotype="VGSB" nodeName="Bus0" /> -<attributes index="0" nbOfAttachedInitiators="0" nbOfAttachedTargets="0" minLatency="10" fifoDepth="10" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="5355" id="184" > -<cdparam x="218" y="386" /> -<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Memory0" value="name" /> <TGConnectingPoint num="0" id="160" /> <TGConnectingPoint num="1" id="161" /> <TGConnectingPoint num="2" id="162" /> @@ -326,105 +351,141 @@ <TGConnectingPoint num="22" id="182" /> <TGConnectingPoint num="23" id="183" /> <extraparam> +<info stereotype="VGSB" nodeName="Bus0" /> +<attributes index="0" nbOfAttachedInitiators="0" nbOfAttachedTargets="0" minLatency="10" fifoDepth="10" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5355" id="209" > +<cdparam x="218" y="386" /> +<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="Memory0" value="name" /> +<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" /> +<TGConnectingPoint num="9" id="194" /> +<TGConnectingPoint num="10" id="195" /> +<TGConnectingPoint num="11" id="196" /> +<TGConnectingPoint num="12" id="197" /> +<TGConnectingPoint num="13" id="198" /> +<TGConnectingPoint num="14" id="199" /> +<TGConnectingPoint num="15" id="200" /> +<TGConnectingPoint num="16" id="201" /> +<TGConnectingPoint num="17" id="202" /> +<TGConnectingPoint num="18" id="203" /> +<TGConnectingPoint num="19" id="204" /> +<TGConnectingPoint num="20" id="205" /> +<TGConnectingPoint num="21" id="206" /> +<TGConnectingPoint num="22" id="207" /> +<TGConnectingPoint num="23" id="208" /> +<extraparam> <info stereotype="RAM" nodeName="Memory0" /> <attributes byteDataSize="1048576" index="0" processCode="" /> </extraparam> </COMPONENT> -<COMPONENT type="5351" id="218" > +<COMPONENT type="5351" id="243" > <cdparam x="113" y="44" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="CPU0" value="name" /> -<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="8" id="202" /> -<TGConnectingPoint num="9" id="203" /> -<TGConnectingPoint num="10" id="204" /> -<TGConnectingPoint num="11" id="205" /> -<TGConnectingPoint num="12" id="206" /> -<TGConnectingPoint num="13" id="207" /> -<TGConnectingPoint num="14" id="208" /> -<TGConnectingPoint num="15" id="209" /> -<TGConnectingPoint num="16" id="210" /> -<TGConnectingPoint num="17" id="211" /> -<TGConnectingPoint num="18" id="212" /> -<TGConnectingPoint num="19" id="213" /> -<TGConnectingPoint num="20" id="214" /> -<TGConnectingPoint num="21" id="215" /> -<TGConnectingPoint num="22" id="216" /> -<TGConnectingPoint num="23" id="217" /> +<TGConnectingPoint num="0" id="219" /> +<TGConnectingPoint num="1" id="220" /> +<TGConnectingPoint num="2" id="221" /> +<TGConnectingPoint num="3" id="222" /> +<TGConnectingPoint num="4" id="223" /> +<TGConnectingPoint num="5" id="224" /> +<TGConnectingPoint num="6" id="225" /> +<TGConnectingPoint num="7" id="226" /> +<TGConnectingPoint num="8" id="227" /> +<TGConnectingPoint num="9" id="228" /> +<TGConnectingPoint num="10" id="229" /> +<TGConnectingPoint num="11" id="230" /> +<TGConnectingPoint num="12" id="231" /> +<TGConnectingPoint num="13" id="232" /> +<TGConnectingPoint num="14" id="233" /> +<TGConnectingPoint num="15" id="234" /> +<TGConnectingPoint num="16" id="235" /> +<TGConnectingPoint num="17" id="236" /> +<TGConnectingPoint num="18" id="237" /> +<TGConnectingPoint num="19" id="238" /> +<TGConnectingPoint num="20" id="239" /> +<TGConnectingPoint num="21" id="240" /> +<TGConnectingPoint num="22" id="241" /> +<TGConnectingPoint num="23" id="242" /> <extraparam> <info stereotype="CPU" nodeName="CPU0" /> <attributes nbOfIrq="6" iCacheWays="1" iCacheSets="8" iCacheWords="4" dCacheWays="1" dCacheSets="8" dCacheWords="4" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5352" id="193" > -<father id="218" num="0" /> +<SUBCOMPONENT type="5352" id="218" > +<father id="243" num="0" /> <cdparam x="172" y="134" /> <sizeparam width="176" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="74" minY="0" maxY="160" /> <infoparam name="TGComponent" value="AVATAR Design::Block0" /> -<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="0" id="210" /> +<TGConnectingPoint num="1" id="211" /> +<TGConnectingPoint num="2" id="212" /> +<TGConnectingPoint num="3" id="213" /> +<TGConnectingPoint num="4" id="214" /> +<TGConnectingPoint num="5" id="215" /> +<TGConnectingPoint num="6" id="216" /> +<TGConnectingPoint num="7" id="217" /> <extraparam> <info value="AVATAR Design::Block0" taskName="Block0" referenceTaskName="AVATAR Design" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5350" id="219" > -<cdparam x="711" y="518" /> +<CONNECTOR type="5350" id="244" > +<cdparam x="1154" y="486" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="711" y="518" id="93" /> -<P2 x="648" y="359" id="141" /> +<P1 x="1150" y="384" id="95" /> +<P2 x="773" y="334" id="164" /> <AutomaticDrawing data="true" /> <extraparam> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="5350" id="220" > -<cdparam x="1006" y="263" /> +<CONNECTOR type="5350" id="245" > +<cdparam x="711" y="518" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="942" y="125" id="120" /> -<P2 x="773" y="309" id="137" /> +<P1 x="711" y="518" id="118" /> +<P2 x="648" y="359" id="166" /> <AutomaticDrawing data="true" /> <extraparam> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="5350" id="221" > +<CONNECTOR type="5350" id="247" > <cdparam x="418" y="436" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="418" y="436" id="171" /> -<P2 x="523" y="359" id="140" /> +<P1 x="418" y="436" id="196" /> +<P2 x="523" y="359" id="165" /> <AutomaticDrawing data="true" /> <extraparam> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="5350" id="222" > +<CONNECTOR type="5350" id="248" > <cdparam x="300" y="244" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="300" y="244" id="209" /> -<P2 x="523" y="309" id="135" /> +<P1 x="300" y="244" id="234" /> +<P2 x="523" y="309" id="160" /> <AutomaticDrawing data="true" /> <extraparam> <spy value="false" /> @@ -440,158 +501,158 @@ <Modeling type="SystemC-AMS" nameTab="SystemC_AMS" > <SysCAMSComponentTaskDiagramPanel name="SystemC-AMS Component Diagram" minX="10" maxX="2500" minY="10" maxY="1500" TDF="true" DE="true" zoom="1.0" > -<CONNECTOR type="1601" id="223" > +<CONNECTOR type="1601" id="249" > <cdparam x="1232" y="401" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="" /> -<P1 x="1232" y="401" id="226" /> -<P2 x="907" y="292" id="274" /> +<P1 x="1232" y="401" id="252" /> +<P2 x="907" y="292" id="300" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="1601" id="224" > +<CONNECTOR type="1601" id="250" > <cdparam x="733" y="410" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="sine_sink_sig" /> -<P1 x="811" y="410" id="284" /> -<P2 x="816" y="455" id="255" /> +<P1 x="811" y="410" id="310" /> +<P2 x="816" y="455" id="281" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<CONNECTOR type="1601" id="225" > +<CONNECTOR type="1601" id="251" > <cdparam x="860" y="449" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="" /> -<P1 x="907" y="333" id="294" /> -<P2 x="1232" y="447" id="236" /> +<P1 x="907" y="333" id="320" /> +<P2 x="1232" y="447" id="262" /> <AutomaticDrawing data="true" /> </CONNECTOR> -<COMPONENT type="1608" id="254" > +<COMPONENT type="1608" id="280" > <cdparam x="1245" y="364" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Primitive component - Block GPIO2VCI" value="Block_GPIO2VCI" /> -<TGConnectingPoint num="0" id="246" /> -<TGConnectingPoint num="1" id="247" /> -<TGConnectingPoint num="2" id="248" /> -<TGConnectingPoint num="3" id="249" /> -<TGConnectingPoint num="4" id="250" /> -<TGConnectingPoint num="5" id="251" /> -<TGConnectingPoint num="6" id="252" /> -<TGConnectingPoint num="7" id="253" /> +<TGConnectingPoint num="0" id="272" /> +<TGConnectingPoint num="1" id="273" /> +<TGConnectingPoint num="2" id="274" /> +<TGConnectingPoint num="3" id="275" /> +<TGConnectingPoint num="4" id="276" /> +<TGConnectingPoint num="5" id="277" /> +<TGConnectingPoint num="6" id="278" /> +<TGConnectingPoint num="7" id="279" /> </COMPONENT> -<SUBCOMPONENT type="1605" id="235" > -<father id="254" num="0" /> +<SUBCOMPONENT type="1605" id="261" > +<father id="280" num="0" /> <cdparam x="1232" y="388" /> <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 - Port DE" value="out" /> -<TGConnectingPoint num="0" id="226" /> -<TGConnectingPoint num="1" id="227" /> -<TGConnectingPoint num="2" id="228" /> -<TGConnectingPoint num="3" id="229" /> -<TGConnectingPoint num="4" id="230" /> -<TGConnectingPoint num="5" id="231" /> -<TGConnectingPoint num="6" id="232" /> -<TGConnectingPoint num="7" id="233" /> -<TGConnectingPoint num="8" id="234" /> +<TGConnectingPoint num="0" id="252" /> +<TGConnectingPoint num="1" id="253" /> +<TGConnectingPoint num="2" id="254" /> +<TGConnectingPoint num="3" id="255" /> +<TGConnectingPoint num="4" id="256" /> +<TGConnectingPoint num="5" id="257" /> +<TGConnectingPoint num="6" id="258" /> +<TGConnectingPoint num="7" id="259" /> +<TGConnectingPoint num="8" id="260" /> <extraparam> <Prop commName="out" commType="0" origin="1" type="int" sensitive="false" sensitive_method="positive" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1605" id="245" > -<father id="254" num="1" /> +<SUBCOMPONENT type="1605" id="271" > +<father id="280" num="1" /> <cdparam x="1232" 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 - Port DE" value="in" /> -<TGConnectingPoint num="0" id="236" /> -<TGConnectingPoint num="1" id="237" /> -<TGConnectingPoint num="2" id="238" /> -<TGConnectingPoint num="3" id="239" /> -<TGConnectingPoint num="4" id="240" /> -<TGConnectingPoint num="5" id="241" /> -<TGConnectingPoint num="6" id="242" /> -<TGConnectingPoint num="7" id="243" /> -<TGConnectingPoint num="8" id="244" /> +<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" /> +<TGConnectingPoint num="8" id="270" /> <extraparam> <Prop commName="in" commType="0" origin="0" type="int" sensitive="false" sensitive_method="positive" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="1607" id="321" > +<COMPONENT type="1607" id="347" > <cdparam x="303" y="181" /> <sizeparam width="808" height="458" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Composite component - Cluster" value="cluster" /> -<TGConnectingPoint num="0" id="313" /> -<TGConnectingPoint num="1" id="314" /> -<TGConnectingPoint num="2" id="315" /> -<TGConnectingPoint num="3" id="316" /> -<TGConnectingPoint num="4" id="317" /> -<TGConnectingPoint num="5" id="318" /> -<TGConnectingPoint num="6" id="319" /> -<TGConnectingPoint num="7" id="320" /> +<TGConnectingPoint num="0" id="339" /> +<TGConnectingPoint num="1" id="340" /> +<TGConnectingPoint num="2" id="341" /> +<TGConnectingPoint num="3" id="342" /> +<TGConnectingPoint num="4" id="343" /> +<TGConnectingPoint num="5" id="344" /> +<TGConnectingPoint num="6" id="345" /> +<TGConnectingPoint num="7" id="346" /> </COMPONENT> -<SUBCOMPONENT type="1602" id="273" > -<father id="321" num="0" /> +<SUBCOMPONENT type="1602" id="299" > +<father id="347" num="0" /> <cdparam x="705" y="468" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="608" minY="0" maxY="308" /> <infoparam name="Primitive component - Block TDF" value="Sink" /> -<TGConnectingPoint num="0" id="265" /> -<TGConnectingPoint num="1" id="266" /> -<TGConnectingPoint num="2" id="267" /> -<TGConnectingPoint num="3" id="268" /> -<TGConnectingPoint num="4" id="269" /> -<TGConnectingPoint num="5" id="270" /> -<TGConnectingPoint num="6" id="271" /> -<TGConnectingPoint num="7" id="272" /> +<TGConnectingPoint num="0" id="291" /> +<TGConnectingPoint num="1" id="292" /> +<TGConnectingPoint num="2" id="293" /> +<TGConnectingPoint num="3" id="294" /> +<TGConnectingPoint num="4" id="295" /> +<TGConnectingPoint num="5" id="296" /> +<TGConnectingPoint num="6" id="297" /> +<TGConnectingPoint num="7" id="298" /> <extraparam> <Attribute period="6.0" time="ns" processCode="void processing() { in.read(); } - " listStruct="" nameTemplate="" typeTemplate="int" listTypedef="" /> + " listStruct="" nameTemplate="" typeTemplate="int" listTypedef="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1604" id="264" > -<father id="273" num="0" /> +<SUBCOMPONENT type="1604" id="290" > +<father id="299" num="0" /> <cdparam x="803" y="455" /> <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 - Port TDF" value="in" /> -<TGConnectingPoint num="0" id="255" /> -<TGConnectingPoint num="1" id="256" /> -<TGConnectingPoint num="2" id="257" /> -<TGConnectingPoint num="3" id="258" /> -<TGConnectingPoint num="4" id="259" /> -<TGConnectingPoint num="5" id="260" /> -<TGConnectingPoint num="6" id="261" /> -<TGConnectingPoint num="7" id="262" /> -<TGConnectingPoint num="8" id="263" /> +<TGConnectingPoint num="0" id="281" /> +<TGConnectingPoint num="1" id="282" /> +<TGConnectingPoint num="2" id="283" /> +<TGConnectingPoint num="3" id="284" /> +<TGConnectingPoint num="4" id="285" /> +<TGConnectingPoint num="5" id="286" /> +<TGConnectingPoint num="6" id="287" /> +<TGConnectingPoint num="7" id="288" /> +<TGConnectingPoint num="8" id="289" /> <extraparam> <Prop commName="in" commType="0" origin="0" period="-1.0" time="s" rate="-1" delay="-1" type="double" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1602" id="312" > -<father id="321" num="1" /> +<SUBCOMPONENT type="1602" id="338" > +<father id="347" num="1" /> <cdparam x="694" y="247" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="608" minY="0" maxY="308" /> <infoparam name="Primitive component - Block TDF" value="Sine" /> -<TGConnectingPoint num="0" id="304" /> -<TGConnectingPoint num="1" id="305" /> -<TGConnectingPoint num="2" id="306" /> -<TGConnectingPoint num="3" id="307" /> -<TGConnectingPoint num="4" id="308" /> -<TGConnectingPoint num="5" id="309" /> -<TGConnectingPoint num="6" id="310" /> -<TGConnectingPoint num="7" id="311" /> +<TGConnectingPoint num="0" id="330" /> +<TGConnectingPoint num="1" id="331" /> +<TGConnectingPoint num="2" id="332" /> +<TGConnectingPoint num="3" id="333" /> +<TGConnectingPoint num="4" id="334" /> +<TGConnectingPoint num="5" id="335" /> +<TGConnectingPoint num="6" id="336" /> +<TGConnectingPoint num="7" id="337" /> <extraparam> <Attribute period="6.0" time="ns" processCode="void processing() { double t = out_de.get_time().to_seconds(); @@ -599,71 +660,227 @@ out_de.write( (int) x); tdf_out.write(x); } - " listStruct="" nameTemplate="" typeTemplate="int" listTypedef="" /> + " listStruct="" nameTemplate="" typeTemplate="int" listTypedef="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1606" id="283" > -<father id="312" num="0" /> +<SUBCOMPONENT type="1606" id="309" > +<father id="338" num="0" /> <cdparam x="881" y="279" /> <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 - Port Converter" value="in_de" /> -<TGConnectingPoint num="0" id="274" /> -<TGConnectingPoint num="1" id="275" /> -<TGConnectingPoint num="2" id="276" /> -<TGConnectingPoint num="3" id="277" /> -<TGConnectingPoint num="4" id="278" /> -<TGConnectingPoint num="5" id="279" /> -<TGConnectingPoint num="6" id="280" /> -<TGConnectingPoint num="7" id="281" /> -<TGConnectingPoint num="8" id="282" /> +<TGConnectingPoint num="0" id="300" /> +<TGConnectingPoint num="1" id="301" /> +<TGConnectingPoint num="2" id="302" /> +<TGConnectingPoint num="3" id="303" /> +<TGConnectingPoint num="4" id="304" /> +<TGConnectingPoint num="5" id="305" /> +<TGConnectingPoint num="6" id="306" /> +<TGConnectingPoint num="7" id="307" /> +<TGConnectingPoint num="8" id="308" /> <extraparam> <Prop commName="in_de" commType="0" origin="0" period="-1.0" time="s" rate="-1" delay="-1" type="sc_uint<32>" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1604" id="293" > -<father id="312" num="1" /> +<SUBCOMPONENT type="1604" id="319" > +<father id="338" num="1" /> <cdparam x="798" y="384" /> <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 - Port TDF" value="tdf_out" /> -<TGConnectingPoint num="0" id="284" /> -<TGConnectingPoint num="1" id="285" /> -<TGConnectingPoint num="2" id="286" /> -<TGConnectingPoint num="3" id="287" /> -<TGConnectingPoint num="4" id="288" /> -<TGConnectingPoint num="5" id="289" /> -<TGConnectingPoint num="6" id="290" /> -<TGConnectingPoint num="7" id="291" /> -<TGConnectingPoint num="8" id="292" /> +<TGConnectingPoint num="0" id="310" /> +<TGConnectingPoint num="1" id="311" /> +<TGConnectingPoint num="2" id="312" /> +<TGConnectingPoint num="3" id="313" /> +<TGConnectingPoint num="4" id="314" /> +<TGConnectingPoint num="5" id="315" /> +<TGConnectingPoint num="6" id="316" /> +<TGConnectingPoint num="7" id="317" /> +<TGConnectingPoint num="8" id="318" /> <extraparam> <Prop commName="tdf_out" commType="0" origin="1" period="-1.0" time="ns" rate="-1" delay="-1" type="double" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1606" id="303" > -<father id="312" num="2" /> +<SUBCOMPONENT type="1606" id="329" > +<father id="338" num="2" /> <cdparam x="881" y="320" /> <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 - Port Converter" value="out_de" /> -<TGConnectingPoint num="0" id="294" /> -<TGConnectingPoint num="1" id="295" /> -<TGConnectingPoint num="2" id="296" /> -<TGConnectingPoint num="3" id="297" /> -<TGConnectingPoint num="4" id="298" /> -<TGConnectingPoint num="5" id="299" /> -<TGConnectingPoint num="6" id="300" /> -<TGConnectingPoint num="7" id="301" /> -<TGConnectingPoint num="8" id="302" /> +<TGConnectingPoint num="0" id="320" /> +<TGConnectingPoint num="1" id="321" /> +<TGConnectingPoint num="2" id="322" /> +<TGConnectingPoint num="3" id="323" /> +<TGConnectingPoint num="4" id="324" /> +<TGConnectingPoint num="5" id="325" /> +<TGConnectingPoint num="6" id="326" /> +<TGConnectingPoint num="7" id="327" /> +<TGConnectingPoint num="8" id="328" /> <extraparam> <Prop commName="out_de" commType="0" origin="1" period="6.0" time="ns" rate="-1" delay="-1" type="sc_uint<32>" /> </extraparam> </SUBCOMPONENT> +</SysCAMSComponentTaskDiagramPanel> + +<SysCAMSComponentTaskDiagramPanel name="SystemC-AMS Component Diagram" minX="10" maxX="2500" minY="10" maxY="1500" TDF="true" DE="true" zoom="1.0" > +<CONNECTOR type="1601" id="348" > +<cdparam x="1164" y="319" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="" /> +<P1 x="1164" y="319" id="360" /> +<P2 x="766" y="314" id="389" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<CONNECTOR type="1601" id="349" > +<cdparam x="766" y="365" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="" /> +<P1 x="766" y="396" id="379" /> +<P2 x="1164" y="397" id="350" /> +<AutomaticDrawing data="true" /> +</CONNECTOR> +<COMPONENT type="1608" id="378" > +<cdparam x="1174" y="281" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Primitive component - Block GPIO2VCI" value="blockGPIO2VCI" /> +<TGConnectingPoint num="0" id="370" /> +<TGConnectingPoint num="1" id="371" /> +<TGConnectingPoint num="2" id="372" /> +<TGConnectingPoint num="3" id="373" /> +<TGConnectingPoint num="4" id="374" /> +<TGConnectingPoint num="5" id="375" /> +<TGConnectingPoint num="6" id="376" /> +<TGConnectingPoint num="7" id="377" /> +</COMPONENT> +<SUBCOMPONENT type="1605" id="359" > +<father id="378" num="0" /> +<cdparam x="1164" y="387" /> +<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="in" /> +<TGConnectingPoint num="0" id="350" /> +<TGConnectingPoint num="1" id="351" /> +<TGConnectingPoint num="2" id="352" /> +<TGConnectingPoint num="3" id="353" /> +<TGConnectingPoint num="4" id="354" /> +<TGConnectingPoint num="5" id="355" /> +<TGConnectingPoint num="6" id="356" /> +<TGConnectingPoint num="7" id="357" /> +<TGConnectingPoint num="8" id="358" /> +<extraparam> +<Prop commName="in" commType="0" origin="0" type="int" sensitive="false" sensitive_method="positive" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1605" id="369" > +<father id="378" num="1" /> +<cdparam x="1164" y="309" /> +<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="out" /> +<TGConnectingPoint num="0" id="360" /> +<TGConnectingPoint num="1" id="361" /> +<TGConnectingPoint num="2" id="362" /> +<TGConnectingPoint num="3" id="363" /> +<TGConnectingPoint num="4" id="364" /> +<TGConnectingPoint num="5" id="365" /> +<TGConnectingPoint num="6" id="366" /> +<TGConnectingPoint num="7" id="367" /> +<TGConnectingPoint num="8" id="368" /> +<extraparam> +<Prop commName="out" commType="0" origin="1" type="int" sensitive="false" sensitive_method="positive" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="1607" id="416" > +<cdparam x="241" y="124" /> +<sizeparam width="841" height="526" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Composite component - Cluster" value="cluster2" /> +<TGConnectingPoint num="0" id="408" /> +<TGConnectingPoint num="1" id="409" /> +<TGConnectingPoint num="2" id="410" /> +<TGConnectingPoint num="3" id="411" /> +<TGConnectingPoint num="4" id="412" /> +<TGConnectingPoint num="5" id="413" /> +<TGConnectingPoint num="6" id="414" /> +<TGConnectingPoint num="7" id="415" /> +</COMPONENT> +<SUBCOMPONENT type="1602" id="407" > +<father id="416" num="0" /> +<cdparam x="556" y="281" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="641" minY="0" maxY="376" /> +<infoparam name="Primitive component - Block TDF" value="sine2" /> +<TGConnectingPoint num="0" id="399" /> +<TGConnectingPoint num="1" id="400" /> +<TGConnectingPoint num="2" id="401" /> +<TGConnectingPoint num="3" id="402" /> +<TGConnectingPoint num="4" id="403" /> +<TGConnectingPoint num="5" id="404" /> +<TGConnectingPoint num="6" id="405" /> +<TGConnectingPoint num="7" id="406" /> +<extraparam> +<Attribute period="5.0" time="ns" processCode="void processing() { + double t = out.get_time().to_seconds(); + double x = in.read() * sin(2.0 * M_PI * 5000000.0 * t); + out.write( (int) x); +} + " listStruct="" nameTemplate="" typeTemplate="int" listTypedef="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1606" id="388" > +<father id="407" num="0" /> +<cdparam x="746" y="386" /> +<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="out" /> +<TGConnectingPoint num="0" id="379" /> +<TGConnectingPoint num="1" id="380" /> +<TGConnectingPoint num="2" id="381" /> +<TGConnectingPoint num="3" id="382" /> +<TGConnectingPoint num="4" id="383" /> +<TGConnectingPoint num="5" id="384" /> +<TGConnectingPoint num="6" id="385" /> +<TGConnectingPoint num="7" id="386" /> +<TGConnectingPoint num="8" id="387" /> +<extraparam> +<Prop commName="out" commType="0" origin="1" period="-1.0" time="s" rate="-1" delay="-1" type="sc_uint<32>" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1606" id="398" > +<father id="407" num="1" /> +<cdparam x="746" y="304" /> +<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="in" /> +<TGConnectingPoint num="0" id="389" /> +<TGConnectingPoint num="1" id="390" /> +<TGConnectingPoint num="2" id="391" /> +<TGConnectingPoint num="3" id="392" /> +<TGConnectingPoint num="4" id="393" /> +<TGConnectingPoint num="5" id="394" /> +<TGConnectingPoint num="6" id="395" /> +<TGConnectingPoint num="7" id="396" /> +<TGConnectingPoint num="8" id="397" /> +<extraparam> +<Prop commName="in" commType="0" origin="0" period="-1.0" time="s" rate="-1" delay="-1" type="sc_uint<32>" /> +</extraparam> +</SUBCOMPONENT> + + </SysCAMSComponentTaskDiagramPanel> </Modeling> diff --git a/src/main/java/ddtranslatorSoclib/toSoclib/Gpio2VciAddress.java b/src/main/java/ddtranslatorSoclib/toSoclib/Gpio2VciAddress.java new file mode 100644 index 0000000000..ce979a1dff --- /dev/null +++ b/src/main/java/ddtranslatorSoclib/toSoclib/Gpio2VciAddress.java @@ -0,0 +1,93 @@ +/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille + * + * ludovic.apvrille AT enst.fr + * + * This software is a computer program whose purpose is to allow the + * edition of TURTLE analysis, design and deployment diagrams, to + * allow the generation of RT-LOTOS or Java code from this diagram, + * and at last to allow the analysis of formal validation traces + * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP + * from INRIA Rhone-Alpes. + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + +/** + * Class AVATAR2CSOCLIB + * Creation: 28/08/2018 + * @version 1.0 28/08/2018 + * @author Rodrigo CORTES PORTO + */ + +package ddtranslatorSoclib.toSoclib; + +import ddtranslatorSoclib.toTopCell.TopCellGenerator; +import ddtranslatorSoclib.AvatarAmsCluster; + +public class Gpio2VciAddress { + private final static String INCLUDE_HEADER = "#include \"gpio2vci_address.h\"\n"; + + private final static String GET_ADDRESS_DEC = "int get_address(char name[]) {\n"; + + private final static String CR = "\n"; + private final static String CR2 = "\n\n"; + + private String name; + private String code; + + public Gpio2VciAddress(String _name) { + name = _name; + } + + public String getName() { + return name; + } + + public void buildAddressCode() { + code = INCLUDE_HEADER + CR + GET_ADDRESS_DEC; + for(AvatarAmsCluster amsCluster : TopCellGenerator.avatardd.getAllAmsCluster ()) { + if(amsCluster.getNo_amsCluster() == 0) { + code += "if(strcmp(name, \""+amsCluster.getAmsClusterName()+"\") == 0) {\n"; + code += "return 0xc"+Integer.toHexString(amsCluster.getNo_amsCluster())+"200000;\n"; + code += "} "; + } else { + code += "else if(strcmp(name, \""+amsCluster.getAmsClusterName()+"\") == 0) {\n"; + code += "return 0xc"+Integer.toHexString(amsCluster.getNo_amsCluster())+"200000;\n"; + code += "} "; + } + } + + code += "else {\n"; + code += "printf(\"ERROR getting address for cluster: \\\"%s\\\"\\n\", name);\n"; + code += "return -1;\n"; + code += "}\n}"; + } + + public String getAddressCode() { + return code; + } +} diff --git a/src/main/java/ddtranslatorSoclib/toSoclib/TaskFileSoclib.java b/src/main/java/ddtranslatorSoclib/toSoclib/TaskFileSoclib.java index 9a60f12f84..82c24d43f4 100755 --- a/src/main/java/ddtranslatorSoclib/toSoclib/TaskFileSoclib.java +++ b/src/main/java/ddtranslatorSoclib/toSoclib/TaskFileSoclib.java @@ -41,6 +41,7 @@ package ddtranslatorSoclib.toSoclib; +import ddtranslatorSoclib.toTopCell.TopCellGenerator; /** * Class AVATAR2CSOCLIB @@ -54,7 +55,7 @@ public class TaskFileSoclib { //added mwmr.h private final static String INCLUDE_HEADER = "#include <stdio.h>\n#include <unistd.h>\n#include <stdlib.h>\n"; - private final static String LOCAL_INCLUDE_HEADER = "#include \"request.h\"\n#include \"syncchannel.h\"\n#include \"request_manager.h\"\n#include \"debug.h\"\n#include \"defs.h\"\n#include \"mytimelib.h\"\n#include \"random.h\"\n#include \"tracemanager.h\"\n#include \"main.h\"\n#include \"mwmr.h\"\n "; + private final static String LOCAL_INCLUDE_HEADER = "#include \"request.h\"\n#include \"syncchannel.h\"\n#include \"request_manager.h\"\n#include \"debug.h\"\n#include \"defs.h\"\n#include \"mytimelib.h\"\n#include \"random.h\"\n#include \"tracemanager.h\"\n#include \"main.h\"\n#include \"mwmr.h\"\n"; private final static String CR = "\n"; @@ -82,8 +83,12 @@ public class TaskFileSoclib { public String getFullHeaderCode() { String s = "#ifndef " + name + "_H\n#define " + name + "_H\n"; - s += INCLUDE_HEADER + CR + LOCAL_INCLUDE_HEADER + CR + CR; - s += headerCode; + s += INCLUDE_HEADER + CR + LOCAL_INCLUDE_HEADER; + if(TopCellGenerator.avatardd.getNbAmsCluster() > 0) { + s += "#include \"gpio2vci_iface.h\"\n"; + } + + s += CR + headerCode; s += "#endif\n"; return s; } @@ -99,4 +104,4 @@ public class TaskFileSoclib { public void addToMainCode(String _code) { mainCode += _code; } -} \ 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 d1a5a5c5ee..fd2a19904d 100755 --- a/src/main/java/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java +++ b/src/main/java/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java @@ -96,6 +96,7 @@ public class TasksAndMainGenerator { private MainFileSoclib mainFile; private Vector<TaskFileSoclib> taskFiles; + private Gpio2VciAddress gpio2vciAddressFile; private String makefile_src; private String makefile_SocLib; @@ -147,6 +148,9 @@ public class TasksAndMainGenerator { // Makefile for SocLib makeMakefileSocLib(); FileUtils.saveFile(path + "Makefile.soclib", makefile_SocLib); + + TraceManager.addDev("Generating gpio2vci_address file in "+path+"mutekh/libsyscams/" + gpio2vciAddressFile.getName()); + FileUtils.saveFile(path + "mutekh"+File.separator+"libsyscams"+File.separator + gpio2vciAddressFile.getName(), Conversion.indentString(gpio2vciAddressFile.getAddressCode(), 4)); } public Vector<?> getWarnings() { @@ -158,6 +162,8 @@ public class TasksAndMainGenerator { tracing = _tracing; mainFile = new MainFileSoclib("main"); + gpio2vciAddressFile = new Gpio2VciAddress("gpio2vci_address.c"); + gpio2vciAddressFile.buildAddressCode(); avspec.removeCompositeStates(); avspec.removeLibraryFunctionCalls(); diff --git a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java index 0fb26f9ebd..d2fbffb63c 100644 --- a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java +++ b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java @@ -622,8 +622,8 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i } } } - jta.append("Validation for \""+(syscalsspec.getCluster()).getClusterName()+"\" completed.\n"); } + jta.append("Validation for \""+(syscalsspec.getCluster()).getClusterName()+"\" completed.\n"); } catch (InterruptedException ie) { System.err.println("Interrupted"); jta.append("Interrupted\n"); -- GitLab