<commit_before>#ifndef AC_TLM_BUS_H_
#define AC_TLM_BUS_H_

#include <systemc>
#include "ac_tlm_protocol.H"
#include "ac_tlm_port.H"
#include "ac_memport.H"

// using statements
using tlm::tlm_transport_if;

//#define DEBUG

/// Namespace to isolate bus from ArchC
namespace user
{

/// A TLM bus
class ac_tlm_bus :
  public sc_module,
  public ac_tlm_transport_if // Using ArchC TLM protocol
{
public:
  // Memory communication port
  ac_tlm_port DM_port;

  /// Exposed port with ArchC interface
  sc_export< ac_tlm_transport_if > target_export[4];

  /**
   * Implementation of TLM transport method that
   * handle packets of the protocol doing apropriate actions.
   * This method must be implemented (required by SystemC TLM).
   * @param request is a received request packet
   * @return A response packet to be send
  */
  ac_tlm_rsp transport( const ac_tlm_req &request ) {
    return DM_port->transport(request);
  }
<commit_msg>Make room for 8 processors in the bus.<commit_after>#ifndef AC_TLM_BUS_H_
#define AC_TLM_BUS_H_

#include <systemc>
#include "ac_tlm_protocol.H"
#include "ac_tlm_port.H"
#include "ac_memport.H"

// using statements
using tlm::tlm_transport_if;

//#define DEBUG

/// Namespace to isolate bus from ArchC
namespace user
{

/// A TLM bus
class ac_tlm_bus :
  public sc_module,
  public ac_tlm_transport_if // Using ArchC TLM protocol
{
public:
  // Memory communication port
  ac_tlm_port DM_port;

  /// Exposed port with ArchC interface
  sc_export< ac_tlm_transport_if > target_export[8];

  /**
   * Implementation of TLM transport method that
   * handle packets of the protocol doing apropriate actions.
   * This method must be implemented (required by SystemC TLM).
   * @param request is a received request packet
   * @return A response packet to be send
  */
  ac_tlm_rsp transport( const ac_tlm_req &request ) {
    return DM_port->transport(request);
  }

{'fraction_non_alphanumeric': 0.08250131371518654, 'fraction_numerical': 0.0015764582238570678, 'mean_word_length': 3.9454545454545453, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7289358', 'n_tokens_mistral': 646, 'n_tokens_neox': 637, 'n_words': 201}