From 16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 24 May 2018 01:37:55 -0700 Subject: systemc: Import tests from the Accellera systemc distribution. Change-Id: Iad76b398949a55d768a34d027a2d8e3739953da6 Reviewed-on: https://gem5-review.googlesource.com/10845 Reviewed-by: Giacomo Travaglini Maintainer: Gabe Black --- .../tests/systemc/misc/parsing/T_1_1_2_1/COMPILE | 0 .../systemc/misc/parsing/T_1_1_2_1/T_1_1_2_1.cpp | 56 +++++++++++++++ .../tests/systemc/misc/parsing/T_1_1_2_3/COMPILE | 0 .../systemc/misc/parsing/T_1_1_2_3/T_1_1_2_3.cpp | 66 +++++++++++++++++ .../tests/systemc/misc/parsing/T_1_1_2_4/COMPILE | 0 .../systemc/misc/parsing/T_1_1_2_4/T_1_1_2_4.cpp | 63 +++++++++++++++++ .../tests/systemc/misc/parsing/T_1_1_2_5/COMPILE | 0 .../systemc/misc/parsing/T_1_1_2_5/T_1_1_2_5.cpp | 63 +++++++++++++++++ .../tests/systemc/misc/parsing/T_1_1_2_6/COMPILE | 0 .../systemc/misc/parsing/T_1_1_2_6/T_1_1_2_6.cpp | 82 ++++++++++++++++++++++ 10 files changed, 330 insertions(+) create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/COMPILE create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/T_1_1_2_1.cpp create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/COMPILE create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/T_1_1_2_3.cpp create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/COMPILE create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/T_1_1_2_4.cpp create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/COMPILE create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/T_1_1_2_5.cpp create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/COMPILE create mode 100644 src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/T_1_1_2_6.cpp (limited to 'src/systemc/tests/systemc/misc/parsing') diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/COMPILE b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/COMPILE new file mode 100644 index 000000000..e69de29bb diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/T_1_1_2_1.cpp b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/T_1_1_2_1.cpp new file mode 100644 index 000000000..00a573ddd --- /dev/null +++ b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_1/T_1_1_2_1.cpp @@ -0,0 +1,56 @@ +/***************************************************************************** + + 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_1_1_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" + +int sc_main(int argc, char* argv[] ) +{ + sc_clock clock1("CLK1"); + sc_clock clock2("CLK2", 2, SC_NS); + sc_clock clock3("CLK3", 3, SC_NS, 0.25); + sc_clock clock4("CLK4", 4, SC_NS, 0.5, 0.5, SC_NS); + sc_clock clock5("CLK5", 5, SC_NS, 0.75, 1.0, SC_NS, false); + const char *name = clock1.name(); + // double period = clock2.period(); + sc_time period = clock2.period(); + double duty_cycle = clock3.duty_cycle(); + + // clock4.pos(); + // clock5.neg(); + + return 0; +} diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/COMPILE b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/COMPILE new file mode 100644 index 000000000..e69de29bb diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/T_1_1_2_3.cpp b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/T_1_1_2_3.cpp new file mode 100644 index 000000000..258002914 --- /dev/null +++ b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_3/T_1_1_2_3.cpp @@ -0,0 +1,66 @@ +/***************************************************************************** + + 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_1_1_2_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" + +SC_MODULE( foo ) +{ + SC_HAS_PROCESS( foo ); + + sc_in_clk clk; + + const sc_signal &input; + sc_signal &output; + + int state; + + foo( sc_module_name NAME, + sc_clock& CLK, + const sc_signal& INPUT, + sc_signal& OUTPUT ) + : input(INPUT), output(OUTPUT) + { + clk(CLK); + SC_CTHREAD( entry, clk.pos() ); + } + void entry(); +}; + +int sc_main(int argc, char* argv[] ) +{ + return 0; +} diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/COMPILE b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/COMPILE new file mode 100644 index 000000000..e69de29bb diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/T_1_1_2_4.cpp b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/T_1_1_2_4.cpp new file mode 100644 index 000000000..e0f691312 --- /dev/null +++ b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_4/T_1_1_2_4.cpp @@ -0,0 +1,63 @@ +/***************************************************************************** + + 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_1_1_2_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" + +SC_MODULE( foo ) +{ + SC_HAS_PROCESS( foo ); + + const sc_signal &input; + sc_signal &output; + + int state; + + foo( sc_module_name NAME, + const sc_signal& INPUT, + sc_signal& OUTPUT ) + : input(INPUT), output(OUTPUT) + { + SC_METHOD( entry ); + sensitive << input; + } + void entry(); +}; + +int sc_main(int argc, char* argv[] ) +{ + return 0; +} diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/COMPILE b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/COMPILE new file mode 100644 index 000000000..e69de29bb diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/T_1_1_2_5.cpp b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/T_1_1_2_5.cpp new file mode 100644 index 000000000..1b9c768bb --- /dev/null +++ b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_5/T_1_1_2_5.cpp @@ -0,0 +1,63 @@ +/***************************************************************************** + + 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_1_1_2_5.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" + +SC_MODULE( foo ) +{ + SC_HAS_PROCESS( foo ); + + const sc_signal &input; + sc_signal &output; + + int state; + + foo( sc_module_name NAME, + const sc_signal& INPUT, + sc_signal& OUTPUT ) + : input(INPUT), output(OUTPUT) + { + SC_THREAD( entry ); + sensitive << input; + } + void entry(); +}; + +int sc_main(int argc, char* argv[] ) +{ + return 0; +} diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/COMPILE b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/COMPILE new file mode 100644 index 000000000..e69de29bb diff --git a/src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/T_1_1_2_6.cpp b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/T_1_1_2_6.cpp new file mode 100644 index 000000000..851bd25c0 --- /dev/null +++ b/src/systemc/tests/systemc/misc/parsing/T_1_1_2_6/T_1_1_2_6.cpp @@ -0,0 +1,82 @@ +/***************************************************************************** + + 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_1_1_2_6.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" + +SC_MODULE( inverter ) +{ + SC_HAS_PROCESS( inverter ); + + sc_in_clk clk; + + const sc_signal& input; + sc_signal& output; + + inverter( sc_module_name NAME, + sc_clock& CLK, + const sc_signal& INPUT, + sc_signal& OUTPUT ) + : input(INPUT), output(OUTPUT) + { + clk(CLK); + SC_CTHREAD( entry, clk.pos() ); + } + void entry(); +}; + +class foo: public sc_module { +public: + + sc_signal sig; + + inverter I1, I2; + + foo(const char* NAME, + sc_clock& CLK, + const sc_signal& input, + sc_signal& output ) + : sc_module(NAME), + I1("I1", CLK, input, sig), + I2("I2", CLK, sig, output) { + end_module(); + } +}; + +int sc_main(int argc, char* argv[] ) +{ + return 0; +} -- cgit v1.2.3