summaryrefslogtreecommitdiff
path: root/src/systemc/tests/tlm/p2p/CoreDecoupling
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/tests/tlm/p2p/CoreDecoupling')
-rw-r--r--src/systemc/tests/tlm/p2p/CoreDecoupling/core_decoupling.cpp36
-rw-r--r--src/systemc/tests/tlm/p2p/CoreDecoupling/golden/core_decoupling.log66
2 files changed, 102 insertions, 0 deletions
diff --git a/src/systemc/tests/tlm/p2p/CoreDecoupling/core_decoupling.cpp b/src/systemc/tests/tlm/p2p/CoreDecoupling/core_decoupling.cpp
new file mode 100644
index 000000000..aa68951f3
--- /dev/null
+++ b/src/systemc/tests/tlm/p2p/CoreDecoupling/core_decoupling.cpp
@@ -0,0 +1,36 @@
+/*****************************************************************************
+
+ 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.
+
+ *****************************************************************************/
+#define SC_INCLUDE_DYNAMIC_PROCESSES
+#include "tlm.h"
+
+#include "CoreDecouplingLTInitiator.h"
+#include "ExplicitLTTarget.h"
+
+int sc_main(int argc, char* argv[])
+{
+ CoreDecouplingLTInitiator initiator("initiator", 10);
+ ExplicitLTTarget target("target");
+
+ initiator.socket(target.socket);
+
+ sc_core::sc_start();
+ sc_core::sc_stop();
+
+ return 0;
+}
diff --git a/src/systemc/tests/tlm/p2p/CoreDecoupling/golden/core_decoupling.log b/src/systemc/tests/tlm/p2p/CoreDecoupling/golden/core_decoupling.log
new file mode 100644
index 000000000..b5a9e8314
--- /dev/null
+++ b/src/systemc/tests/tlm/p2p/CoreDecoupling/golden/core_decoupling.log
@@ -0,0 +1,66 @@
+SystemC Simulation
+initiator: Send write request: A = 0x0, D = 0x0 @ 0 s (0 s + 0 s)
+target: Received write request: A = 0x0, D = 0x0 @ 0 s
+initiator: Received ok response @ 50 ns (50 ns + 0 s)
+initiator: Send write request: A = 0x4, D = 0x1 @ 50 ns (50 ns + 0 s)
+target: Received write request: A = 0x4, D = 0x1 @ 50 ns
+initiator: Received ok response @ 100 ns (100 ns + 0 s)
+initiator: Send write request: A = 0x8, D = 0x2 @ 100 ns (100 ns + 0 s)
+target: Received write request: A = 0x8, D = 0x2 @ 100 ns
+initiator: Received ok response @ 150 ns (150 ns + 0 s)
+initiator: Send write request: A = 0xc, D = 0x3 @ 150 ns (150 ns + 0 s)
+target: Received write request: A = 0xc, D = 0x3 @ 150 ns
+initiator: Received ok response @ 200 ns (200 ns + 0 s)
+initiator: Send write request: A = 0x10, D = 0x4 @ 200 ns (200 ns + 0 s)
+target: Received write request: A = 0x10, D = 0x4 @ 200 ns
+initiator: Received ok response @ 250 ns (250 ns + 0 s)
+initiator: Send write request: A = 0x14, D = 0x5 @ 250 ns (250 ns + 0 s)
+target: Received write request: A = 0x14, D = 0x5 @ 250 ns
+initiator: Received ok response @ 300 ns (300 ns + 0 s)
+initiator: Send write request: A = 0x18, D = 0x6 @ 300 ns (300 ns + 0 s)
+target: Received write request: A = 0x18, D = 0x6 @ 300 ns
+initiator: Received ok response @ 350 ns (350 ns + 0 s)
+initiator: Send write request: A = 0x1c, D = 0x7 @ 350 ns (350 ns + 0 s)
+target: Received write request: A = 0x1c, D = 0x7 @ 350 ns
+initiator: Received ok response @ 400 ns (400 ns + 0 s)
+initiator: Send write request: A = 0x20, D = 0x8 @ 400 ns (400 ns + 0 s)
+target: Received write request: A = 0x20, D = 0x8 @ 400 ns
+initiator: Received ok response @ 450 ns (450 ns + 0 s)
+initiator: Send write request: A = 0x24, D = 0x9 @ 450 ns (450 ns + 0 s)
+target: Received write request: A = 0x24, D = 0x9 @ 450 ns
+Sync'ing...
+initiator: Received ok response @ 500 ns (500 ns + 0 s)
+initiator: Send read request: A = 0x0 @ 500 ns (500 ns + 0 s)
+target: Received read request: A = 0x0 @ 500 ns
+initiator: Received ok response: D = 0x0 @ 600 ns (500 ns + 100 ns)
+initiator: Send read request: A = 0x4 @ 600 ns (500 ns + 100 ns)
+target: Received read request: A = 0x4 @ 500 ns
+initiator: Received ok response: D = 0x1 @ 700 ns (500 ns + 200 ns)
+initiator: Send read request: A = 0x8 @ 700 ns (500 ns + 200 ns)
+target: Received read request: A = 0x8 @ 500 ns
+initiator: Received ok response: D = 0x2 @ 800 ns (500 ns + 300 ns)
+initiator: Send read request: A = 0xc @ 800 ns (500 ns + 300 ns)
+target: Received read request: A = 0xc @ 500 ns
+initiator: Received ok response: D = 0x3 @ 900 ns (500 ns + 400 ns)
+initiator: Send read request: A = 0x10 @ 900 ns (500 ns + 400 ns)
+target: Received read request: A = 0x10 @ 500 ns
+Sync'ing...
+initiator: Received ok response: D = 0x4 @ 1 us (1 us + 0 s)
+initiator: Send read request: A = 0x14 @ 1 us (1 us + 0 s)
+target: Received read request: A = 0x14 @ 1 us
+initiator: Received ok response: D = 0x5 @ 1100 ns (1 us + 100 ns)
+initiator: Send read request: A = 0x18 @ 1100 ns (1 us + 100 ns)
+target: Received read request: A = 0x18 @ 1 us
+initiator: Received ok response: D = 0x6 @ 1200 ns (1 us + 200 ns)
+initiator: Send read request: A = 0x1c @ 1200 ns (1 us + 200 ns)
+target: Received read request: A = 0x1c @ 1 us
+initiator: Received ok response: D = 0x7 @ 1300 ns (1 us + 300 ns)
+initiator: Send read request: A = 0x20 @ 1300 ns (1 us + 300 ns)
+target: Received read request: A = 0x20 @ 1 us
+initiator: Received ok response: D = 0x8 @ 1400 ns (1 us + 400 ns)
+initiator: Send read request: A = 0x24 @ 1400 ns (1 us + 400 ns)
+target: Received read request: A = 0x24 @ 1 us
+Sync'ing...
+initiator: Received ok response: D = 0x9 @ 1500 ns (1500 ns + 0 s)
+
+Info: /OSCI/SystemC: Simulation stopped by user.