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.