19 #include "ace_recorder.h"
20 #include "axi_recorder.h"
34 template <
unsigned int BUSWIDTH,
typename TYPES,
typename BASE>
39 typename BASE::template target_socket_type<BUSWIDTH>
tsckt{
"tsckt"};
41 typename BASE::template initiator_socket_type<BUSWIDTH>
isckt{
"isckt"};
52 SCVNS scv_tr_db* tr_db = SCVNS scv_tr_db::get_default_db())
54 , BASE(this->name(), BUSWIDTH, recording_enabled, tr_db) {
58 add_attribute(BASE::enableBlTracing);
59 add_attribute(BASE::enableNbTracing);
60 add_attribute(BASE::enableTimedTracing);
61 add_attribute(BASE::enableDmiTracing);
62 add_attribute(BASE::enableTrDbgTracing);
63 add_attribute(BASE::enableProtocolChecker);
64 add_attribute(BASE::rd_response_timeout);
65 add_attribute(BASE::wr_response_timeout);
70 typename BASE::template target_socket_type<BUSWIDTH>::base_type::fw_interface_type* get_fw_if()
override {
return isckt.get_base_port().operator->(); }
72 typename BASE::template target_socket_type<BUSWIDTH>::base_type::bw_interface_type* get_bw_if()
override {
return tsckt.get_base_port().operator->(); }
75 void start_of_simulation()
override { BASE::initialize_streams(); }
78 template <
unsigned int BUSWIDTH = 32>
79 using axi_recorder_module =
80 axitlm_recorder_module<BUSWIDTH, axi::axi_protocol_types, axi_recorder<axi::axi_protocol_types>>;
82 template <
unsigned int BUSWIDTH = 32>
83 using ace_recorder_module =
84 axitlm_recorder_module<BUSWIDTH, axi::axi_protocol_types, ace_recorder<axi::axi_protocol_types>>;
The TLM2 transaction recorder.
BASE::template target_socket_type< BUSWIDTH > tsckt
The target socket of the recorder to be bound to the initiator.
BASE::template initiator_socket_type< BUSWIDTH > isckt
The initiator to be bound to the target socket.
axitlm_recorder_module(sc_core::sc_module_name name, bool recording_enabled=true, SCVNS scv_tr_db *tr_db=SCVNS scv_tr_db::get_default_db())
The constructor of the component.
TLM2.0 components modeling AHB.