From 40e4a1c41895219732a610bc463bbe022523ad58 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sun, 30 Sep 2018 22:44:56 -0700 Subject: systemc: Change how the timing of binding ports works. In the Accellera implementation, interfaces are bound to ports immediately if no ports have been bound, and otherwise saves them for later along with the ports. The existing implementation would save all interface and port bindings to finalize at the end of elaboration. This seems like pointless complexity, but it's necessary to get the output to match in the tests. Change-Id: Ib82d324ee2be9e56e6a41561611c7fca4f4f4e72 Reviewed-on: https://gem5-review.googlesource.com/c/13196 Reviewed-by: Gabe Black Maintainer: Gabe Black --- src/systemc/core/port.hh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/systemc/core/port.hh b/src/systemc/core/port.hh index eb8dbfef3..bf3b73a84 100644 --- a/src/systemc/core/port.hh +++ b/src/systemc/core/port.hh @@ -144,7 +144,10 @@ class Port void bind(::sc_core::sc_interface *interface) { - bindings.push_back(new Binding(interface)); + if (bindings.empty()) + addInterface(interface); + else + bindings.push_back(new Binding(interface)); } void -- cgit v1.2.3