summaryrefslogtreecommitdiff
path: root/src/systemc/tests/systemc/misc/semantic
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-05-24 01:37:55 -0700
committerGabe Black <gabeblack@google.com>2018-08-08 10:09:54 +0000
commit16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f (patch)
tree7b6faaacb4574a555e561534aa4a8508c0624c32 /src/systemc/tests/systemc/misc/semantic
parent7235d3b5211d0ba8f528d930a4c1e7ad62eec51a (diff)
downloadgem5-16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f.tar.xz
systemc: Import tests from the Accellera systemc distribution.
Change-Id: Iad76b398949a55d768a34d027a2d8e3739953da6 Reviewed-on: https://gem5-review.googlesource.com/10845 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/tests/systemc/misc/semantic')
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1_1.cpp75
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/golden/T_2_3_1_1.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1_2.cpp75
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/golden/T_2_3_1_2.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1_3.cpp85
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/golden/T_2_3_1_3.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1_4.cpp85
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/golden/T_2_3_1_4.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1_5_neg.cpp76
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/golden/T_2_3_1_5_neg.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_2_1.cpp75
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/golden/T_2_3_2_1.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_2_5_neg.cpp76
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/golden/T_2_3_2_5_neg.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_3_1.cpp85
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/golden/T_2_3_3_1.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_4_1.cpp85
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/golden/T_2_3_4_1.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_1.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_5_1.cpp113
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/golden/T_2_3_5_1.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.4/T_2_4.h60
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.4/T_2_4_1_1.cpp113
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.4/golden/T_2_4_1_1.log1
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.5/T_2_5.h69
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.5/T_2_5_1_1.cpp123
-rw-r--r--src/systemc/tests/systemc/misc/semantic/2.5/golden/T_2_5_1_1.log1
36 files changed, 1807 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1_1.cpp
new file mode 100644
index 000000000..b8418b621
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/T_2_3_1_1.cpp
@@ -0,0 +1,75 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_1
+
+const int WIDTH = 8;
+typedef sc_bv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+
+ a = x;
+ b = y;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/golden/T_2_3_1_1.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/golden/T_2_3_1_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_1/golden/T_2_3_1_1.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1_2.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1_2.cpp
new file mode 100644
index 000000000..44f3a4e91
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/T_2_3_1_2.cpp
@@ -0,0 +1,75 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1_2.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_2
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+
+ a = x;
+ b = y;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/golden/T_2_3_1_2.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/golden/T_2_3_1_2.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_2/golden/T_2_3_1_2.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1_3.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1_3.cpp
new file mode 100644
index 000000000..ee496bcf7
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/T_2_3_1_3.cpp
@@ -0,0 +1,85 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1_3.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_3
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_bigint<WIDTH> c, d;
+ sc_bigint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/golden/T_2_3_1_3.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/golden/T_2_3_1_3.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_3/golden/T_2_3_1_3.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1_4.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1_4.cpp
new file mode 100644
index 000000000..a04230592
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/T_2_3_1_4.cpp
@@ -0,0 +1,85 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1_4.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_4
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_biguint<WIDTH> c, d;
+ sc_biguint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/golden/T_2_3_1_4.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/golden/T_2_3_1_4.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_4/golden/T_2_3_1_4.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1_5_neg.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1_5_neg.cpp
new file mode 100644
index 000000000..4c03b676b
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/T_2_3_1_5_neg.cpp
@@ -0,0 +1,76 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1_5_neg.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_5
+
+const int WIDTH = 8;
+typedef sc_bv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+
+ a = x;
+ b = y;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ z = a | b;
+ wait();
+}
+
+int
+sc_main( int, char*[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/golden/T_2_3_1_5_neg.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/golden/T_2_3_1_5_neg.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_1_5_neg/golden/T_2_3_1_5_neg.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_2_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_2_1.cpp
new file mode 100644
index 000000000..226a8ec85
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/T_2_3_2_1.cpp
@@ -0,0 +1,75 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_2_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_2
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+
+ a = x;
+ b = y;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/golden/T_2_3_2_1.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/golden/T_2_3_2_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_1/golden/T_2_3_2_1.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_2_5_neg.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_2_5_neg.cpp
new file mode 100644
index 000000000..cbc380705
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/T_2_3_2_5_neg.cpp
@@ -0,0 +1,76 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_2_5_neg.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_5
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+
+ a = x;
+ b = y;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ z = a | b;
+ wait();
+}
+
+int
+sc_main( int, char*[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/golden/T_2_3_2_5_neg.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/golden/T_2_3_2_5_neg.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_2_5_neg/golden/T_2_3_2_5_neg.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_3_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_3_1.cpp
new file mode 100644
index 000000000..c6c2be45f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/T_2_3_3_1.cpp
@@ -0,0 +1,85 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_3_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_3
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_bigint<WIDTH> c, d;
+ sc_bigint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/golden/T_2_3_3_1.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/golden/T_2_3_3_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_3_1/golden/T_2_3_3_1.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_4_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_4_1.cpp
new file mode 100644
index 000000000..af9f53891
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/T_2_3_4_1.cpp
@@ -0,0 +1,85 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_4_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_4
+
+const int WIDTH = 8;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_biguint<WIDTH> c, d;
+ sc_biguint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/golden/T_2_3_4_1.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/golden/T_2_3_4_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_4_1/golden/T_2_3_4_1.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_1.h b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_1.h
new file mode 100644
index 000000000..6acda2a6f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_1.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_1.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_5_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_5_1.cpp
new file mode 100644
index 000000000..e987a77b7
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/T_2_3_5_1.cpp
@@ -0,0 +1,113 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_3_5_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_3_1_5
+
+const int WIDTH = 13;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_3_1.h"
+
+sc_signed
+foobar1( const sc_signed& a,
+ sc_signed const& b )
+{
+ return a + b;
+}
+
+sc_unsigned
+foobar2( const sc_unsigned& a,
+ sc_unsigned const& b )
+{
+ return a + b;
+}
+
+sc_bv_base
+foobar3( const sc_bv_base& a,
+ sc_bv_base const& b )
+{
+ return a | b;
+}
+
+sc_lv_base
+foobar4( const sc_lv_base& a,
+ sc_lv_base const& b )
+{
+ return a & b;
+}
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_biguint<WIDTH> c, d;
+ sc_biguint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/golden/T_2_3_5_1.log b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/golden/T_2_3_5_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.3/T_2_3_5_1/golden/T_2_3_5_1.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.4/T_2_4.h b/src/systemc/tests/systemc/misc/semantic/2.4/T_2_4.h
new file mode 100644
index 000000000..8dd5cef46
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.4/T_2_4.h
@@ -0,0 +1,60 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_4.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.4/T_2_4_1_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.4/T_2_4_1_1.cpp
new file mode 100644
index 000000000..43606744f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.4/T_2_4_1_1.cpp
@@ -0,0 +1,113 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_4_1_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_4_1_1
+
+const int WIDTH = 13;
+typedef sc_lv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_4.h"
+
+sc_signed
+foobar1( const sc_signed& a,
+ sc_signed const& b )
+{
+ return a + b;
+}
+
+sc_unsigned
+foobar2( const sc_unsigned& a,
+ sc_unsigned const& b )
+{
+ return a + b;
+}
+
+sc_bv_base
+foobar3( const sc_bv_base& a,
+ sc_bv_base const& b )
+{
+ return a.range(WIDTH - 1, 0) | b;
+}
+
+sc_lv_base
+foobar4( const sc_lv_base& a,
+ sc_lv_base const& b )
+{
+ return a & b.range(2*WIDTH - 1, WIDTH);
+}
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_biguint<WIDTH> c, d;
+ sc_biguint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.4/golden/T_2_4_1_1.log b/src/systemc/tests/systemc/misc/semantic/2.4/golden/T_2_4_1_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.4/golden/T_2_4_1_1.log
@@ -0,0 +1 @@
+SystemC Simulation
diff --git a/src/systemc/tests/systemc/misc/semantic/2.5/T_2_5.h b/src/systemc/tests/systemc/misc/semantic/2.5/T_2_5.h
new file mode 100644
index 000000000..57c850345
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.5/T_2_5.h
@@ -0,0 +1,69 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_5.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+SC_MODULE( MYNAME )
+{
+ SC_HAS_PROCESS( MYNAME );
+
+ sc_in_clk clk;
+
+ const signal_vector& x;
+ const signal_vector& y;
+ signal_vector& z;
+
+ sc_bigint<WIDTH> a1;
+ sc_bigint<WIDTH+2> a2;
+ sc_biguint<WIDTH> b1;
+ sc_biguint<WIDTH+2> b2;
+ sc_bv<WIDTH> c1;
+ sc_bv<WIDTH+2> c2;
+ sc_lv<WIDTH> d1;
+ sc_lv<WIDTH+2> d2;
+
+ MYNAME( sc_module_name NAME,
+ sc_clock& CLK,
+ const signal_vector& X,
+ const signal_vector& Y,
+ signal_vector& Z )
+ :
+ x(X), y(Y), z(Z)
+ {
+ clk(CLK);
+ SC_CTHREAD( entry, clk.pos() );
+ }
+ void entry();
+};
diff --git a/src/systemc/tests/systemc/misc/semantic/2.5/T_2_5_1_1.cpp b/src/systemc/tests/systemc/misc/semantic/2.5/T_2_5_1_1.cpp
new file mode 100644
index 000000000..35da3582f
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.5/T_2_5_1_1.cpp
@@ -0,0 +1,123 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ T_2_5_1_1.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+#include "systemc.h"
+
+#define MYNAME T_2_5_1_1
+
+const int WIDTH = 13;
+typedef sc_bv<WIDTH> my_vector;
+typedef sc_signal<my_vector> signal_vector;
+
+#include "T_2_5.h"
+
+sc_signed
+foobar1( const sc_signed& a,
+ sc_signed const& b )
+{
+ return a + b;
+}
+
+sc_unsigned
+foobar2( const sc_unsigned& a,
+ sc_unsigned const& b )
+{
+ return a + b;
+}
+
+sc_bv_base
+foobar3( const sc_bv_base& a,
+ sc_bv_base const& b )
+{
+ return a | b;
+}
+
+sc_lv_base
+foobar4( const sc_lv_base& a,
+ sc_lv_base const& b )
+{
+ return a & b;
+}
+
+void
+MYNAME::entry()
+{
+ my_vector a;
+ my_vector b;
+ sc_biguint<WIDTH> c, d;
+ sc_biguint<WIDTH*2> e;
+
+ a = x;
+ b = y;
+ c = a;
+ c += d;
+ z = a | b;
+ wait();
+ a = x.read() | y.read();
+ b = x.read() ^ y.read();
+ c = b;
+ c = c - d;
+ z = a & b;
+ wait();
+ a = x.read() & y.read();
+ b = x.read() | y.read();
+ z = a ^ b;
+ c = a;
+ c = c * d;
+ wait();
+ a = ~ x.read();
+ b = ~ y.read();
+ c = b;
+ e = c * d;
+ z = a | b;
+ wait();
+
+ a1 = x.read().to_int();
+ a2 = a1 + a1;
+ b1 = y.read().to_uint();
+ b2 = b1 + b1;
+ c1 = x;
+ c2 = (c1, "00");
+ d1 = y.read();
+ d2 = ("00", d1);
+ wait();
+}
+
+int sc_main(int argc, char* argv[] )
+{
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/misc/semantic/2.5/golden/T_2_5_1_1.log b/src/systemc/tests/systemc/misc/semantic/2.5/golden/T_2_5_1_1.log
new file mode 100644
index 000000000..6d243dcc5
--- /dev/null
+++ b/src/systemc/tests/systemc/misc/semantic/2.5/golden/T_2_5_1_1.log
@@ -0,0 +1 @@
+SystemC Simulation