Skip to content
Snippets Groups Projects
Commit 7e68d2a4 authored by Irina LEE's avatar Irina LEE
Browse files

add first test (eln)

parent aa6a872e
No related branches found
No related tags found
1 merge request!72Syscams
#include <systemc-ams>
#include "my_structural_eln_model.h"
int sc_main(int argc, char *argv[])
{
sca_eln::sca_node n_out_b;
sca_eln::sca_node n_in_a;
my_structural_eln_model i_my_structural_eln_model("i_my_structural_eln_model");
i_my_structural_eln_model.b(n_out_b);
i_my_structural_eln_model.a(n_in_a);
sca_util::sca_trace_file* tfp = sca_util::sca_create_tabular_trace_file("Cluster0_tb");
sca_util::sca_trace(tfp, n_out_b, "n_out_b");
sca_util::sca_trace(tfp, n_in_a, "n_in_a");
sc_start(100.0, sc_core::SC_MS);
sca_util::sca_close_tabular_trace_file(tfp);
sc_core::sc_stop();
return 0;
}
# Compiler and linker flags
CXXFLAGS = -g -Wall -I. $(SYSTEMC_INCLUDE_DIRS)
LDFLAGS = $(SYSTEMC_LIBRARY_DIRS)
# List of all ecutables to be compiled
EXECUTABLES = Cluster0_tb
# .PHONY targets don't generate files
.PHONY: all clean
# Default targets
all: $(EXECUTABLES)
Cluster0_tb: Cluster0_tb.cpp my_structural_eln_model.h
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $< -lsystemc-ams -lsystemc | c++filt
# Clean rule to delete temporary and generated files
clean:
rm -rf *~ *.o *.dat *.vcd *.dSYM $(EXECUTABLES)
#ifndef MY_STRUCTURAL_ELN_MODEL_H
#define MY_STRUCTURAL_ELN_MODEL_H
#include <cmath>
#include <iostream>
#include <systemc-ams>
SC_MODULE(my_structural_eln_model)
{
sca_eln::sca_terminal b;
sca_eln::sca_terminal a;
sca_eln::sca_c c1;
sca_eln::sca_r r1;
sca_eln::sca_r r2;
SC_CTOR(my_structural_eln_model)
: b("b")
, a("a")
, c1("c1", 100.0e-6, 0.0)
, r1("r1", 10.0e3)
, r2("r2", 100.0)
, net1("net1")
, gnd("gnd")
{
c1.p(net1);
c1.n(gnd);
r1.p(a);
r1.n(b);
r2.p(a);
r2.n(net1);
}
private:
sca_eln::sca_node net1;
sca_eln::sca_node_ref gnd;
};
#endif // MY_STRUCTURAL_ELN_MODEL_H
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<TURTLEGMODELING version="1.0beta">
<Modeling type="ELN" nameTab="ELN" >
<ELNDiagramPanel name="ELN Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" zoom="1.0" >
<CONNECTOR type="1610" id="1" >
<cdparam x="538" y="199" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="" />
<P1 x="538" y="198" id="94" />
<P2 x="501" y="198" id="11" />
<AutomaticDrawing data="true" />
</CONNECTOR>
<CONNECTOR type="1610" id="2" >
<cdparam x="143" y="205" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="" />
<P1 x="143" y="198" id="84" />
<P2 x="191" y="198" id="22" />
<AutomaticDrawing data="true" />
</CONNECTOR>
<CONNECTOR type="1610" id="3" >
<cdparam x="267" y="194" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="" />
<P1 x="280" y="222" id="43" />
<P2 x="280" y="198" id="4" />
<AutomaticDrawing data="true" />
</CONNECTOR>
<CONNECTOR type="1610" id="6" >
<cdparam x="328" y="175" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="" />
<P1 x="340" y="198" id="32" />
<P2 x="201" y="198" id="21" />
<Point x="280" y="198" type="-1" />
<AutomaticDrawing data="true" />
</CONNECTOR><SUBCOMPONENT type="-1" id="5" >
<father id="6" num="0" />
<cdparam x="280" y="198" />
<sizeparam width="10" height="10" 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="point " value="null" />
<TGConnectingPoint num="0" id="4" />
</SUBCOMPONENT>
<CONNECTOR type="1610" id="7" >
<cdparam x="479" y="169" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="" />
<P1 x="491" y="198" id="10" />
<P2 x="440" y="198" id="33" />
<AutomaticDrawing data="true" />
</CONNECTOR>
<CONNECTOR type="1610" id="8" >
<cdparam x="274" y="491" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="" />
<P1 x="280" y="492" id="65" />
<P2 x="280" y="454" id="55" />
<AutomaticDrawing data="true" />
</CONNECTOR>
<CONNECTOR type="1610" id="9" >
<cdparam x="268" y="340" />
<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<infoparam name="connector" value="net1" />
<P1 x="280" y="354" id="54" />
<P2 x="280" y="322" id="44" />
<AutomaticDrawing data="true" />
</CONNECTOR>
<COMPONENT type="1627" id="112" >
<cdparam x="138" y="70" />
<sizeparam width="405" height="528" 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="TGComponent" value="Cluster0" />
<TGConnectingPoint num="0" id="104" />
<TGConnectingPoint num="1" id="105" />
<TGConnectingPoint num="2" id="106" />
<TGConnectingPoint num="3" id="107" />
<TGConnectingPoint num="4" id="108" />
<TGConnectingPoint num="5" id="109" />
<TGConnectingPoint num="6" id="110" />
<TGConnectingPoint num="7" id="111" />
</COMPONENT>
<SUBCOMPONENT type="1623" id="83" >
<father id="112" num="0" />
<cdparam x="196" y="117" />
<sizeparam width="300" height="440" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="0" maxX="105" minY="0" maxY="88" />
<infoparam name="TGComponent" value="my_structural_eln_model" />
<TGConnectingPoint num="0" id="75" />
<TGConnectingPoint num="1" id="76" />
<TGConnectingPoint num="2" id="77" />
<TGConnectingPoint num="3" id="78" />
<TGConnectingPoint num="4" id="79" />
<TGConnectingPoint num="5" id="80" />
<TGConnectingPoint num="6" id="81" />
<TGConnectingPoint num="7" id="82" />
</SUBCOMPONENT>
<SUBCOMPONENT type="1624" id="20" >
<father id="83" num="0" />
<cdparam x="491" y="193" />
<sizeparam width="10" height="10" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="-5" maxX="295" minY="-5" maxY="435" />
<infoparam name="TGComponent" value="b" />
<TGConnectingPoint num="0" id="10" />
<TGConnectingPoint num="1" id="11" />
<TGConnectingPoint num="2" id="12" />
<TGConnectingPoint num="3" id="13" />
<TGConnectingPoint num="4" id="14" />
<TGConnectingPoint num="5" id="15" />
<TGConnectingPoint num="6" id="16" />
<TGConnectingPoint num="7" id="17" />
<TGConnectingPoint num="8" id="18" />
<TGConnectingPoint num="9" id="19" />
<extraparam>
<attributes name="b"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1624" id="31" >
<father id="83" num="1" />
<cdparam x="191" y="193" />
<sizeparam width="10" height="10" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="-5" maxX="295" minY="-5" maxY="435" />
<infoparam name="TGComponent" value="a" />
<TGConnectingPoint num="0" id="21" />
<TGConnectingPoint num="1" id="22" />
<TGConnectingPoint num="2" id="23" />
<TGConnectingPoint num="3" id="24" />
<TGConnectingPoint num="4" id="25" />
<TGConnectingPoint num="5" id="26" />
<TGConnectingPoint num="6" id="27" />
<TGConnectingPoint num="7" id="28" />
<TGConnectingPoint num="8" id="29" />
<TGConnectingPoint num="9" id="30" />
<extraparam>
<attributes name="a"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1611" id="42" >
<father id="83" num="2" />
<cdparam x="340" y="188" />
<sizeparam width="100" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="0" maxX="200" minY="0" maxY="420" />
<infoparam name="TGComponent" value="r1" />
<TGConnectingPoint num="0" id="32" />
<TGConnectingPoint num="1" id="33" />
<TGConnectingPoint num="2" id="34" />
<TGConnectingPoint num="3" id="35" />
<TGConnectingPoint num="4" id="36" />
<TGConnectingPoint num="5" id="37" />
<TGConnectingPoint num="6" id="38" />
<TGConnectingPoint num="7" id="39" />
<TGConnectingPoint num="8" id="40" />
<TGConnectingPoint num="9" id="41" />
<extraparam>
<attributes value="10.0" unit="k&#x3A9;" position="0" fv_0_2="false" fv_1_3="false" fh_0_2="false" fh_1_3="false" first="true"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1611" id="53" >
<father id="83" num="3" />
<cdparam x="270" y="222" />
<sizeparam width="20" height="100" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="0" maxX="280" minY="0" maxY="340" />
<infoparam name="TGComponent" value="r2" />
<TGConnectingPoint num="0" id="43" />
<TGConnectingPoint num="1" id="44" />
<TGConnectingPoint num="2" id="45" />
<TGConnectingPoint num="3" id="46" />
<TGConnectingPoint num="4" id="47" />
<TGConnectingPoint num="5" id="48" />
<TGConnectingPoint num="6" id="49" />
<TGConnectingPoint num="7" id="50" />
<TGConnectingPoint num="8" id="51" />
<TGConnectingPoint num="9" id="52" />
<extraparam>
<attributes value="100.0" unit="&#x3A9;" position="1" fv_0_2="false" fv_1_3="false" fh_0_2="false" fh_1_3="false" first="true"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1612" id="64" >
<father id="83" num="4" />
<cdparam x="260" y="354" />
<sizeparam width="40" height="100" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="0" maxX="260" minY="0" maxY="340" />
<infoparam name="TGComponent" value="c1" />
<TGConnectingPoint num="0" id="54" />
<TGConnectingPoint num="1" id="55" />
<TGConnectingPoint num="2" id="56" />
<TGConnectingPoint num="3" id="57" />
<TGConnectingPoint num="4" id="58" />
<TGConnectingPoint num="5" id="59" />
<TGConnectingPoint num="6" id="60" />
<TGConnectingPoint num="7" id="61" />
<TGConnectingPoint num="8" id="62" />
<TGConnectingPoint num="9" id="63" />
<extraparam>
<attributes value="100.0" unit0="&#x3BC;F" q0="0.0" unit1="C" position="1" fv_0_2="false" fv_1_3="false" fh_0_2="false" fh_1_3="false" first="true"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1620" id="74" >
<father id="83" num="5" />
<cdparam x="260" y="492" />
<sizeparam width="40" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="0" maxX="260" minY="0" maxY="400" />
<infoparam name="TGComponent" value="gnd" />
<TGConnectingPoint num="0" id="65" />
<TGConnectingPoint num="1" id="66" />
<TGConnectingPoint num="2" id="67" />
<TGConnectingPoint num="3" id="68" />
<TGConnectingPoint num="4" id="69" />
<TGConnectingPoint num="5" id="70" />
<TGConnectingPoint num="6" id="71" />
<TGConnectingPoint num="7" id="72" />
<TGConnectingPoint num="8" id="73" />
<extraparam>
<attributes position="0" fv_0_2="false" fv_1_3="false" fh_0_2="false" fh_1_3="false" first="true"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1630" id="93" >
<father id="112" num="1" />
<cdparam x="133" y="193" />
<sizeparam width="10" height="10" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="-5" maxX="400" minY="-5" maxY="523" />
<infoparam name="TGComponent" value="in" />
<TGConnectingPoint num="0" id="84" />
<TGConnectingPoint num="1" id="85" />
<TGConnectingPoint num="2" id="86" />
<TGConnectingPoint num="3" id="87" />
<TGConnectingPoint num="4" id="88" />
<TGConnectingPoint num="5" id="89" />
<TGConnectingPoint num="6" id="90" />
<TGConnectingPoint num="7" id="91" />
<TGConnectingPoint num="8" id="92" />
<extraparam>
<attributes name="in"/>
</extraparam>
</SUBCOMPONENT>
<SUBCOMPONENT type="1630" id="103" >
<father id="112" num="2" />
<cdparam x="538" y="193" />
<sizeparam width="10" height="10" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
<hidden value="false" />
<cdrectangleparam minX="-5" maxX="400" minY="-5" maxY="523" />
<infoparam name="TGComponent" value="out" />
<TGConnectingPoint num="0" id="94" />
<TGConnectingPoint num="1" id="95" />
<TGConnectingPoint num="2" id="96" />
<TGConnectingPoint num="3" id="97" />
<TGConnectingPoint num="4" id="98" />
<TGConnectingPoint num="5" id="99" />
<TGConnectingPoint num="6" id="100" />
<TGConnectingPoint num="7" id="101" />
<TGConnectingPoint num="8" id="102" />
<extraparam>
<attributes name="out"/>
</extraparam>
</SUBCOMPONENT>
</ELNDiagramPanel>
</Modeling>
</TURTLEGMODELING>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment