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 --- |