systemc: Update the ordering in the reference output for some tests.

There are a number of cases where systemc leaves the decision of what
order things happen up to the kernel, and any ordering is legal and
conformant with the spec as long as it's repeatable. The reference
outputs reflect a particular choice of ordering which is implementation
specific, and while considerable effort has been made to make the gem5
ordering match the Accellera ordering, at a certain point that's no
longer practical or desirable.

This change manually updates the reference output for the tests that
haven't been excluded for other reasons which have this sort of ordering
problem. They have been individually examined, and as best as I can
tell changing the output this way does not mask any underlying error.

One or two real problems were discovered in addition to the ordering
issues, and those were fixed in earlier changes.

Change-Id: I915269998de3f33d5ab5d1fd754a830fd620184d
Reviewed-on: https://gem5-review.googlesource.com/c/14918
Reviewed-by: Matthias Jung <jungma@eit.uni-kl.de>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-12-04 16:30:45 -08:00
parent 3182b2adec
commit d89f712d19
19 changed files with 6745 additions and 6746 deletions

View File

@@ -1,26 +1,26 @@
SystemC Simulation
Called method() in top.m1.target_vec_0 at 10 ns
Called method() in top.m1.target_vec_1 at 10 ns
Called method() in top.m3.targets_0 at 10 ns
Called method() in top.m1.target_vec_3 at 10 ns
Called method() in top.m3.target_vec_2 at 10 ns
Called method() in top.m3.target_vec_1 at 10 ns
Called method() in top.m3.target_vec_0 at 10 ns
Called method() in top.m2.targets_0 at 10 ns
Called method() in top.m2.target_vec_3 at 10 ns
Called method() in top.m2.target_vec_2 at 10 ns
Called method() in top.m2.target_vec_1 at 10 ns
Called method() in top.m2.target_vec_0 at 10 ns
Called method() in top.m1.targets_0 at 10 ns
Called method() in top.m3.target_vec_3 at 10 ns
Called method() in top.m1.target_vec_2 at 10 ns
Called method() in top.m1.target_vec_3 at 10 ns
Called method() in top.m1.targets_0 at 10 ns
Called method() in top.m2.target_vec_0 at 10 ns
Called method() in top.m2.target_vec_1 at 10 ns
Called method() in top.m2.target_vec_2 at 10 ns
Called method() in top.m2.target_vec_3 at 10 ns
Called method() in top.m2.targets_0 at 10 ns
Called method() in top.m3.target_vec_0 at 10 ns
Called method() in top.m3.target_vec_1 at 10 ns
Called method() in top.m3.target_vec_2 at 10 ns
Called method() in top.m3.target_vec_3 at 10 ns
Called method() in top.m3.targets_0 at 10 ns
Called method() in top.m1.targets_1 at 20 ns
Called method() in top.m2.targets_1 at 20 ns
Called method() in top.m3.targets_1 at 20 ns
Top:0100
Called method() in top.m3.targets_2 at 30 ns
Called method() in top.m2.targets_2 at 30 ns
Called method() in top.m1.targets_2 at 30 ns
Called method() in top.m2.targets_2 at 30 ns
Called method() in top.m3.targets_2 at 30 ns
Top:0120
Called method() in top.m1.targets_3 at 40 ns
Called method() in top.m2.targets_3 at 40 ns

View File

@@ -2,9 +2,8 @@ SystemC Simulation
Starting simulation ...
0 s (0): top.method1: reset state
0 s (0): top.method0: reset state
0 s (0): top.method0: reset state
0 s (0): top.thread0: reset state
0 s (0): top.thread1: reset state
0 s (0): top.thread0: reset state
10 ns (1): top.method1: reset state
10 ns (1): top.method0: reset state
10 ns (1): top.thread1: reset state
@@ -19,8 +18,8 @@ Starting simulation ...
40 ns (3): top.thread0: continuing
50 ns (4): top.method1: reset state
50 ns (4): top.method0: reset state
50 ns (4): top.thread0: reset state
50 ns (4): top.thread1: reset state
50 ns (4): top.thread0: reset state
60 ns (5): top.method1: reset state
60 ns (5): top.method0: reset state
60 ns (5): top.thread1: reset state

View File

@@ -1,31 +1,31 @@
SystemC Simulation
sig_mod.trigger_rst @ 0 s: in = 1
buf_mod.trigger_rst @ 0 s: in = 1
buf_mod.trigger_pos @ 0 s: in = 1
buf_mod.trigger_val @ 0 s: in = 1
sig_mod.trigger_pos @ 0 s: in = 1
sig_mod.trigger_val @ 0 s: in = 1
buf_mod.trigger_pos @ 0 s: in = 1
buf_mod.trigger_val @ 0 s: in = 1
buf_mod.trigger_rst @ 1 ns: in = 1
buf_mod.trigger_pos @ 1 ns: in = 1
buf_mod.trigger_val @ 1 ns: in = 1
buf_mod.trigger_neg @ 2 ns: in = 0
buf_mod.trigger_val @ 2 ns: in = 0
sig_mod.trigger_neg @ 2 ns: in = 0
sig_mod.trigger_val @ 2 ns: in = 0
buf_mod.trigger_neg @ 2 ns: in = 0
buf_mod.trigger_val @ 2 ns: in = 0
buf_mod.trigger_neg @ 3 ns: in = 0
buf_mod.trigger_val @ 3 ns: in = 0
sig_mod.trigger_rst @ 4 ns: in = 1
buf_mod.trigger_rst @ 4 ns: in = 1
buf_mod.trigger_pos @ 4 ns: in = 1
buf_mod.trigger_val @ 4 ns: in = 1
sig_mod.trigger_pos @ 4 ns: in = 1
sig_mod.trigger_val @ 4 ns: in = 1
buf_mod.trigger_pos @ 4 ns: in = 1
buf_mod.trigger_val @ 4 ns: in = 1
buf_mod.trigger_rst @ 5 ns: in = 1
buf_mod.trigger_pos @ 5 ns: in = 1
buf_mod.trigger_val @ 5 ns: in = 1
buf_mod.trigger_neg @ 6 ns: in = 0
buf_mod.trigger_val @ 6 ns: in = 0
sig_mod.trigger_neg @ 6 ns: in = 0
sig_mod.trigger_val @ 6 ns: in = 0
buf_mod.trigger_neg @ 6 ns: in = 0
buf_mod.trigger_val @ 6 ns: in = 0
buf_mod.trigger_neg @ 7 ns: in = 0
buf_mod.trigger_val @ 7 ns: in = 0

View File

@@ -26,20 +26,20 @@ SystemC Simulation
20 ns,5: reader: 17
20 ns,5: reader: 18
20 ns,5: reader: 19
20 ns,6: writer: data read event
20 ns,6: writer: waiting
20 ns,6: reader: 20
20 ns,6: reader: 21
20 ns,6: reader: 22
20 ns,6: reader: 23
20 ns,6: reader: 24
20 ns,6: writer: data read event
20 ns,6: writer: waiting
20 ns,7: writer: data read event
20 ns,7: writer: waiting
20 ns,7: reader: 26
20 ns,7: reader: 27
20 ns,7: reader: 28
20 ns,7: reader: 29
20 ns,7: reader: 30
20 ns,7: writer: data read event
20 ns,7: writer: waiting
20 ns,8: writer: data read event
30 ns,9: reader: 10 available samples
30 ns,9: reader: non-blocking read

View File

@@ -26,20 +26,20 @@ SystemC Simulation
20 ns,5: reader: 17
20 ns,5: reader: 18
20 ns,5: reader: 19
20 ns,6: writer: data read event
20 ns,6: writer: waiting
20 ns,6: reader: 20
20 ns,6: reader: 21
20 ns,6: reader: 22
20 ns,6: reader: 23
20 ns,6: reader: 24
20 ns,6: writer: data read event
20 ns,6: writer: waiting
20 ns,7: writer: data read event
20 ns,7: writer: waiting
20 ns,7: reader: 26
20 ns,7: reader: 27
20 ns,7: reader: 28
20 ns,7: reader: 29
20 ns,7: reader: 30
20 ns,7: writer: data read event
20 ns,7: writer: waiting
20 ns,8: writer: data read event
30 ns,9: reader: 10 available samples
30 ns,9: reader: non-blocking read

View File

@@ -3,10 +3,10 @@ simulation time:0 s writing 0 to channel
simulation time:0 s reading 0 from channel
simulation time:10 ns writing 1 to channel
simulation time:10 ns reading 1 from channel
simulation time:20 ns reading 1 from channel
simulation time:20 ns writing 2 to channel
simulation time:30 ns reading 2 from channel
simulation time:20 ns reading 2 from channel
simulation time:30 ns writing 3 to channel
simulation time:30 ns reading 3 from channel
simulation time:40 ns reading 3 from channel
simulation time:40 ns writing 4 to channel
simulation time:50 ns reading 4 from channel

View File

@@ -3,10 +3,10 @@ simulation time:0 s writing 0 to channel
simulation time:0 s reading 0 from channel
simulation time:10 ns writing 1 to channel
simulation time:10 ns reading 1 from channel
simulation time:20 ns reading 1 from channel
simulation time:20 ns writing 2 to channel
simulation time:30 ns reading 2 from channel
simulation time:20 ns reading 2 from channel
simulation time:30 ns writing 3 to channel
simulation time:30 ns reading 3 from channel
simulation time:40 ns reading 3 from channel
simulation time:40 ns writing 4 to channel
simulation time:50 ns reading 4 from channel

View File

@@ -3,16 +3,16 @@ simulation time:10 ns writing 0 to channel
simulation time:10 ns reading 0 from channel
simulation time:20 ns writing 1 to channel
simulation time:20 ns reading 1 from channel
simulation time:30 ns reading 1 from channel
simulation time:30 ns writing 2 to channel
simulation time:40 ns reading 2 from channel
simulation time:30 ns reading 2 from channel
simulation time:40 ns writing 3 to channel
simulation time:40 ns reading 3 from channel
simulation time:50 ns reading 3 from channel
simulation time:50 ns writing 4 to channel
simulation time:50 ns reading 4 from channel
simulation time:60 ns reading 4 from channel
simulation time:60 ns writing 5 to channel
simulation time:70 ns reading 5 from channel
simulation time:70 ns writing 6 to channel
simulation time:70 ns reading 6 from channel
simulation time:75 ns reading 6 from channel
simulation time:80 ns writing 7 to channel
simulation time:85 ns reading 7 from channel

View File

@@ -3,16 +3,16 @@ simulation time:10 ns writting 0 to channel
simulation time:10 ns reading 0 from channel
simulation time:20 ns writting 1 to channel
simulation time:20 ns reading 1 from channel
simulation time:30 ns reading 1 from channel
simulation time:30 ns writting 2 to channel
simulation time:40 ns reading 2 from channel
simulation time:30 ns reading 2 from channel
simulation time:40 ns writting 3 to channel
simulation time:40 ns reading 3 from channel
simulation time:50 ns reading 3 from channel
simulation time:50 ns writting 4 to channel
simulation time:50 ns reading 4 from channel
simulation time:60 ns reading 4 from channel
simulation time:60 ns writting 5 to channel
simulation time:70 ns reading 5 from channel
simulation time:70 ns writting 6 to channel
simulation time:70 ns reading 6 from channel
simulation time:75 ns reading 6 from channel
simulation time:80 ns writting 7 to channel
simulation time:85 ns reading 7 from channel

View File

@@ -1,8 +1,8 @@
SystemC Simulation
top.parent.method_0 triggered (0 s @ 1)
top.parent.thread_0 triggered (0 s @ 1)
top.parent.method_0.thread_0 triggered (0 s @ 1)
top.parent.thread_0.method_0 triggered (0 s @ 1)
top.parent.method_0.thread_0 triggered (0 s @ 1)
top.parent.method_0.thread_0.method_0 triggered (0 s @ 1)
top.parent.thread_0.method_0.thread_0 triggered (0 s @ 1)
top.parent.method_0.thread_0.method_0 triggered (10 ns @ 4)

View File

@@ -14,8 +14,8 @@ SystemC Simulation
dut.parent.child1.local (sc_object)
dut.parent.child1.dyn_obj (sc_object)
----------------------
+++ dut.parent.child1.grandchild starting (150 ns)
+++ dut.parent.child0.grandchild starting (150 ns)
+++ dut.parent.child1.grandchild starting (150 ns)
------ (200 ns) ------
dut (sc_module)
dut.parent (sc_thread_process) (running)
@@ -29,10 +29,10 @@ SystemC Simulation
dut.parent.child1.grandchild (sc_thread_process) (running)
dut.parent.child1.grandchild.local (sc_object)
----------------------
+++ dut.parent.child1 exiting (250 ns)
+++ dut.parent.child1.local deleted
+++ dut.parent.child0 exiting (250 ns)
+++ dut.parent.child0.local deleted
+++ dut.parent.child1 exiting (250 ns)
+++ dut.parent.child1.local deleted
------ (300 ns) ------
dut (sc_module)
dut.parent (sc_thread_process) (running)
@@ -44,10 +44,10 @@ SystemC Simulation
dut.parent.child1.grandchild.local (sc_object)
dut.parent.child1.dyn_obj (sc_object)
----------------------
+++ dut.parent.child1.grandchild exiting (350 ns)
+++ dut.parent.child1.grandchild.local deleted
+++ dut.parent.child0.grandchild exiting (350 ns)
+++ dut.parent.child0.grandchild.local deleted
+++ dut.parent.child1.grandchild exiting (350 ns)
+++ dut.parent.child1.grandchild.local deleted
------ (400 ns) ------
dut (sc_module)
dut.parent (sc_thread_process) (running)

View File

@@ -17,16 +17,16 @@ SystemC Simulation
2500 ps ... static thread event wait
2500 ps ... static thread clocked
2500 ps ... static cthread
3 ns ... dynamic thread clocked
3 ns ... static thread clocked
3 ns ... static cthread
3 ns ... dynamic thread clocked
3500 ps clearing asynchronous reset
5500 ps asserting synchronous reset
6 ns ... dynamic thread clocked
6 ns ... static thread clocked
6 ns ... static cthread
6 ns ... dynamic thread clocked
6500 ps clearing synchronous reset
@@ -38,22 +38,22 @@ SystemC Simulation
13500 ps ... static thread event wait
13500 ps ... static thread clocked
13500 ps ... static cthread
14 ns ... dynamic thread clocked
14 ns ... static thread clocked
14 ns ... static cthread
14 ns ... dynamic thread clocked
15 ns ... dynamic thread clocked
15 ns ... static thread clocked
15 ns ... static cthread
15 ns ... dynamic thread clocked
15500 ps clearing asynchronous reset
17500 ps asserting synchronous reset
18 ns ... dynamic thread clocked
18 ns ... static thread clocked
18 ns ... static cthread
18 ns ... dynamic thread clocked
19 ns ... dynamic thread clocked
19 ns ... static thread clocked
19 ns ... static cthread
19 ns ... dynamic thread clocked
19500 ps clearing synchronous reset

View File

@@ -17,20 +17,20 @@ simulation time:30 ns receiver_1 -e5
simulation time:35 ns receiver_2 -e6
simulation time:35 ns sender_1 -e1 -e2
simulation time:40 ns sender_2 -e3 -e4
simulation time:45 ns sender_1 -e1 -e2
simulation time:45 ns receiver_2 -e6
simulation time:45 ns sender_1 -e1 -e2
simulation time:50 ns receiver_1 -e5
simulation time:55 ns sender_1 -e1 -e2
simulation time:55 ns receiver_2 -e6
simulation time:55 ns sender_1 -e1 -e2
simulation time:60 ns sender_2 -e3 -e4
simulation time:65 ns sender_1 -e1 -e2
simulation time:65 ns receiver_2 -e6
simulation time:65 ns sender_1 -e1 -e2
simulation time:70 ns receiver_1 -e5
simulation time:75 ns sender_1 -e1 -e2
simulation time:75 ns receiver_2 -e6
simulation time:75 ns sender_1 -e1 -e2
simulation time:80 ns sender_2 -e3 -e4
simulation time:85 ns sender_1 -e1 -e2
simulation time:85 ns receiver_2 -e6
simulation time:85 ns sender_1 -e1 -e2
simulation time:90 ns receiver_1 -e5
simulation time:95 ns sender_1 -e1 -e2
simulation time:95 ns receiver_2 -e6
simulation time:95 ns sender_1 -e1 -e2

View File

@@ -1,6 +1,6 @@
SystemC Simulation
Proc2::Done is 1
Done is 1
Proc2::Done is 1
Input is 0
Proc2::Input is 0
Input is 1

View File

@@ -1,20 +1,20 @@
SystemC Simulation
***
Process 1 triggered
Process 2 triggered
Process 3 triggered
Process 2 triggered
***
Process 1 triggered
Process 2 triggered
Process 3 triggered
Process 2 triggered
***
Process 1 triggered
Process 2 triggered
Process 3 triggered
Process 2 triggered
***
Process 1 triggered
Process 2 triggered
Process 3 triggered
Process 2 triggered
***
Process 1 triggered
Process 2 triggered

View File

@@ -1,6 +1,6 @@
SystemC Simulation
c is (a + b)
d is (a * b)
c is (a + b)
a = 1 b = 1 c = 1 d = 1
d is (a / b)
a = 0 b = 1 c = 1 d = 0

View File

@@ -1,19 +1,19 @@
SystemC Simulation
Value sent = 10 Value read = 129
Value sent = 129 Value read = 10
Value sent = 11 Value read = 130
Value sent = 10 Value read = 129
Value sent = 130 Value read = 11
Value sent = 12 Value read = 131
Value sent = 11 Value read = 130
Value sent = 131 Value read = 12
Value sent = 13 Value read = 132
Value sent = 12 Value read = 131
Value sent = 132 Value read = 13
Value sent = 14 Value read = 133
Value sent = 13 Value read = 132
Value sent = 133 Value read = 14
Value sent = 15 Value read = 134
Value sent = 14 Value read = 133
Value sent = 134 Value read = 15
Value sent = 16 Value read = 135
Value sent = 15 Value read = 134
Value sent = 135 Value read = 16
Value sent = 17 Value read = 136
Value sent = 16 Value read = 135
Value sent = 136 Value read = 17
Value sent = 18 Value read = 137
Value sent = 17 Value read = 136
Value sent = 137 Value read = 18
Value sent = 18 Value read = 137

View File

@@ -121,10 +121,10 @@ Current speed displayed = 118.8 km/h @ 5900 ns
Current speedometer angle = 246.738 degrees @ 5900 ns
Current speed displayed = 118.8 km/h @ 6 us
Current speedometer angle = 246.738 degrees @ 6 us
Current speed displayed = 118.8 km/h @ 6100 ns
Current speedometer angle = 246.738 degrees @ 6100 ns
Current total distance displayed = 0.02 km @ 6100 ns
Current partial distance displayed = 0.02 km @ 6100 ns
Current speed displayed = 118.8 km/h @ 6100 ns
Current speedometer angle = 246.738 degrees @ 6100 ns
Current speed displayed = 118.8 km/h @ 6200 ns
Current speedometer angle = 246.738 degrees @ 6200 ns
Current speed displayed = 118.8 km/h @ 6300 ns