diff --git a/src/systemc/tlm_bridge/TlmBridge.py b/src/systemc/tlm_bridge/TlmBridge.py index 0a2aaa7195..9238535e17 100644 --- a/src/systemc/tlm_bridge/TlmBridge.py +++ b/src/systemc/tlm_bridge/TlmBridge.py @@ -68,6 +68,30 @@ class Gem5ToTlmBridge64(Gem5ToTlmBridgeBase): tlm = TlmInitiatorSocket(64, 'TLM initiator socket') +class Gem5ToTlmBridge128(Gem5ToTlmBridgeBase): + type = 'Gem5ToTlmBridge128' + cxx_template_params = [ 'unsigned int BITWIDTH' ] + cxx_class = 'sc_gem5::Gem5ToTlmBridge<128>' + cxx_header = 'systemc/tlm_bridge/gem5_to_tlm.hh' + + tlm = TlmInitiatorSocket(128, 'TLM initiator socket') + +class Gem5ToTlmBridge256(Gem5ToTlmBridgeBase): + type = 'Gem5ToTlmBridge256' + cxx_template_params = [ 'unsigned int BITWIDTH' ] + cxx_class = 'sc_gem5::Gem5ToTlmBridge<256>' + cxx_header = 'systemc/tlm_bridge/gem5_to_tlm.hh' + + tlm = TlmInitiatorSocket(256, 'TLM initiator socket') + +class Gem5ToTlmBridge512(Gem5ToTlmBridgeBase): + type = 'Gem5ToTlmBridge512' + cxx_template_params = [ 'unsigned int BITWIDTH' ] + cxx_class = 'sc_gem5::Gem5ToTlmBridge<512>' + cxx_header = 'systemc/tlm_bridge/gem5_to_tlm.hh' + + tlm = TlmInitiatorSocket(512, 'TLM initiator socket') + class TlmToGem5Bridge32(TlmToGem5BridgeBase): type = 'TlmToGem5Bridge32' @@ -84,3 +108,27 @@ class TlmToGem5Bridge64(TlmToGem5BridgeBase): cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh' tlm = TlmTargetSocket(64, 'TLM target socket') + +class TlmToGem5Bridge128(TlmToGem5BridgeBase): + type = 'TlmToGem5Bridge128' + cxx_template_params = [ 'unsigned int BITWIDTH' ] + cxx_class = 'sc_gem5::TlmToGem5Bridge<128>' + cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh' + + tlm = TlmTargetSocket(128, 'TLM target socket') + +class TlmToGem5Bridge256(TlmToGem5BridgeBase): + type = 'TlmToGem5Bridge256' + cxx_template_params = [ 'unsigned int BITWIDTH' ] + cxx_class = 'sc_gem5::TlmToGem5Bridge<256>' + cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh' + + tlm = TlmTargetSocket(256, 'TLM target socket') + +class TlmToGem5Bridge512(TlmToGem5BridgeBase): + type = 'TlmToGem5Bridge512' + cxx_template_params = [ 'unsigned int BITWIDTH' ] + cxx_class = 'sc_gem5::TlmToGem5Bridge<512>' + cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh' + + tlm = TlmTargetSocket(512, 'TLM target socket') diff --git a/src/systemc/tlm_bridge/gem5_to_tlm.cc b/src/systemc/tlm_bridge/gem5_to_tlm.cc index e1cc0874f1..c7d1b16509 100644 --- a/src/systemc/tlm_bridge/gem5_to_tlm.cc +++ b/src/systemc/tlm_bridge/gem5_to_tlm.cc @@ -62,6 +62,9 @@ #include "params/Gem5ToTlmBridge32.hh" #include "params/Gem5ToTlmBridge64.hh" +#include "params/Gem5ToTlmBridge128.hh" +#include "params/Gem5ToTlmBridge256.hh" +#include "params/Gem5ToTlmBridge512.hh" #include "sim/eventq.hh" #include "sim/system.hh" #include "systemc/tlm_bridge/sc_ext.hh" @@ -538,3 +541,24 @@ Gem5ToTlmBridge64Params::create() const return new sc_gem5::Gem5ToTlmBridge<64>( *this, sc_core::sc_module_name(name.c_str())); } + +sc_gem5::Gem5ToTlmBridge<128> * +Gem5ToTlmBridge128Params::create() const +{ + return new sc_gem5::Gem5ToTlmBridge<128>( + *this, sc_core::sc_module_name(name.c_str())); +} + +sc_gem5::Gem5ToTlmBridge<256> * +Gem5ToTlmBridge256Params::create() const +{ + return new sc_gem5::Gem5ToTlmBridge<256>( + *this, sc_core::sc_module_name(name.c_str())); +} + +sc_gem5::Gem5ToTlmBridge<512> * +Gem5ToTlmBridge512Params::create() const +{ + return new sc_gem5::Gem5ToTlmBridge<512>( + *this, sc_core::sc_module_name(name.c_str())); +} diff --git a/src/systemc/tlm_bridge/tlm_to_gem5.cc b/src/systemc/tlm_bridge/tlm_to_gem5.cc index 143eeacae1..36809d3ca8 100644 --- a/src/systemc/tlm_bridge/tlm_to_gem5.cc +++ b/src/systemc/tlm_bridge/tlm_to_gem5.cc @@ -61,6 +61,9 @@ #include "params/TlmToGem5Bridge32.hh" #include "params/TlmToGem5Bridge64.hh" +#include "params/TlmToGem5Bridge128.hh" +#include "params/TlmToGem5Bridge256.hh" +#include "params/TlmToGem5Bridge512.hh" #include "sim/system.hh" #include "systemc/ext/core/sc_module_name.hh" #include "systemc/ext/core/sc_time.hh" @@ -558,3 +561,24 @@ TlmToGem5Bridge64Params::create() const return new sc_gem5::TlmToGem5Bridge<64>( *this, sc_core::sc_module_name(name.c_str())); } + +sc_gem5::TlmToGem5Bridge<128> * +TlmToGem5Bridge128Params::create() const +{ + return new sc_gem5::TlmToGem5Bridge<128>( + *this, sc_core::sc_module_name(name.c_str())); +} + +sc_gem5::TlmToGem5Bridge<256> * +TlmToGem5Bridge256Params::create() const +{ + return new sc_gem5::TlmToGem5Bridge<256>( + *this, sc_core::sc_module_name(name.c_str())); +} + +sc_gem5::TlmToGem5Bridge<512> * +TlmToGem5Bridge512Params::create() const +{ + return new sc_gem5::TlmToGem5Bridge<512>( + *this, sc_core::sc_module_name(name.c_str())); +}