Constants used throughout the codebase. Some of these constants need to be kept in sync with the hardware.
More...
#include <cstdint>
#include <string>
Go to the source code of this file.
|
enum class | NotifType : uint8_t {
kWrite = 0
, kRead = 1
, kTranslAddr = 2
, kAllocatePipe = 3
,
kAllocateNotifBuf = 4
, kGetNbFallbackQueues = 5
, kSetRrStatus = 6
, kGetRrStatus = 7
,
kFreeNotifBuf = 8
, kFreePipe = 9
} |
|
Constants used throughout the codebase. Some of these constants need to be kept in sync with the hardware.
- Author
- Hugo Sadok sadok.nosp@m.@cmu.nosp@m..edu
Definition in file consts.h.
◆ ENSO_PIPE_SIZE
#define ENSO_PIPE_SIZE 32768 |
◆ MAX_NB_APPS
◆ MAX_NB_FLOWS
#define MAX_NB_FLOWS 8192 |
◆ NOTIFICATION_BUF_SIZE
#define NOTIFICATION_BUF_SIZE 16384 |
◆ NotifType
enum class enso::NotifType : uint8_t |
|
strong |
◆ kAlignedDscBufPairSize
constexpr uint32_t enso::kAlignedDscBufPairSize |
|
constexpr |
Initial value:=
((kNotificationBufSize * 64 * 2 - 1) / kBufPageSize + 1) * kBufPageSize
Sizes aligned to the huge page size, but if both buffers fit in a single page, we may put them in the same page.
Definition at line 103 of file consts.h.
◆ kBatchSize
constexpr uint32_t enso::kBatchSize = 64 |
|
constexpr |
◆ kBufPageSize
constexpr uint32_t enso::kBufPageSize = 1UL << 21 |
|
constexpr |
◆ kCacheLineSize
constexpr uint32_t enso::kCacheLineSize = 64 |
|
constexpr |
◆ kDefaultRttOffset
constexpr uint8_t enso::kDefaultRttOffset = 18 |
|
constexpr |
Default timestamp offset of the RTT when timestamp is enabled (in bytes). Uses bytes 4–7 of IPv4 header.
Definition at line 118 of file consts.h.
◆ kEnsoPipeSize
constexpr uint32_t enso::kEnsoPipeSize = ENSO_PIPE_SIZE |
|
constexpr |
◆ kMaxHardwareFlitRate
constexpr uint32_t enso::kMaxHardwareFlitRate = 200e6 |
|
constexpr |
Maximum number of flits (64 byte chunks) that the hardware can send per second.
This is simply the clock frequency of the rate_limiter
module.
Definition at line 126 of file consts.h.
◆ kMaxNbApps
constexpr uint32_t enso::kMaxNbApps = MAX_NB_APPS |
|
constexpr |
◆ kMaxNbFlows
constexpr uint32_t enso::kMaxNbFlows = MAX_NB_FLOWS |
|
constexpr |
◆ kMaxPendingTxRequests
constexpr uint32_t enso::kMaxPendingTxRequests = kNotificationBufSize - 1 |
|
constexpr |
◆ kMaxTransferLen
constexpr uint32_t enso::kMaxTransferLen = 131072 |
|
constexpr |
◆ kMemorySpacePerQueue
constexpr uint32_t enso::kMemorySpacePerQueue = 1 << 12 |
|
constexpr |
◆ kNotificationBufSize
constexpr uint32_t enso::kNotificationBufSize = NOTIFICATION_BUF_SIZE |
|
constexpr |
◆ kNsPerTimestampCycle
constexpr uint32_t enso::kNsPerTimestampCycle = 5 |
|
constexpr |
The clock period of the timestamp module in nanoseconds.
This assumes that the FPGA clk_datamover
runs at 200MHz. If we change this clock, we must also change this value.
Definition at line 112 of file consts.h.