xbar.hh (13809:8a34eb8a6339) xbar.hh (13892:0182a0601f66)
1/*
2 * Copyright (c) 2011-2015, 2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 42 unchanged lines hidden (view full) ---

51#ifndef __MEM_XBAR_HH__
52#define __MEM_XBAR_HH__
53
54#include <deque>
55#include <unordered_map>
56
57#include "base/addr_range_map.hh"
58#include "base/types.hh"
1/*
2 * Copyright (c) 2011-2015, 2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 42 unchanged lines hidden (view full) ---

51#ifndef __MEM_XBAR_HH__
52#define __MEM_XBAR_HH__
53
54#include <deque>
55#include <unordered_map>
56
57#include "base/addr_range_map.hh"
58#include "base/types.hh"
59#include "mem/mem_object.hh"
60#include "mem/qport.hh"
61#include "params/BaseXBar.hh"
59#include "mem/qport.hh"
60#include "params/BaseXBar.hh"
61#include "sim/clocked_object.hh"
62#include "sim/stats.hh"
63
64/**
65 * The base crossbar contains the common elements of the non-coherent
66 * and coherent crossbar. It is an abstract class that does not have
67 * any of the functionality relating to the actual reception and
68 * transmission of packets, as this is left for the subclasses.
69 *
70 * The BaseXBar is responsible for the basic flow control (busy or
71 * not), the administration of retries, and the address decoding.
72 */
62#include "sim/stats.hh"
63
64/**
65 * The base crossbar contains the common elements of the non-coherent
66 * and coherent crossbar. It is an abstract class that does not have
67 * any of the functionality relating to the actual reception and
68 * transmission of packets, as this is left for the subclasses.
69 *
70 * The BaseXBar is responsible for the basic flow control (busy or
71 * not), the administration of retries, and the address decoding.
72 */
73class BaseXBar : public MemObject
73class BaseXBar : public ClockedObject
74{
75
76 protected:
77
78 /**
79 * A layer is an internal crossbar arbitration point with its own
80 * flow control. Each layer is a converging multiplexer tree. By
81 * instantiating one layer per destination port (and per packet

--- 337 unchanged lines hidden ---
74{
75
76 protected:
77
78 /**
79 * A layer is an internal crossbar arbitration point with its own
80 * flow control. Each layer is a converging multiplexer tree. By
81 * instantiating one layer per destination port (and per packet

--- 337 unchanged lines hidden ---