P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Target::JBay Class Reference
Inheritance diagram for Target::JBay:
[legend]

Classes

struct  parser_regs
 
class  Phv
 
struct  top_level_regs
 

Public Types

enum  : int {
  ARAM_UNITS_PER_STAGE = 0 , PARSER_CHECKSUM_UNITS = 5 , PARSER_EXTRACT_BYTES = true , PARSER_DEPTH_MAX_BYTES_INGRESS = (((1 << 10) - 1) * 16) ,
  PARSER_DEPTH_MAX_BYTES_EGRESS = (32 * 16) , PARSER_DEPTH_MAX_BYTES_MULTITHREADED_EGRESS = (32 * 16) , PARSER_DEPTH_MIN_BYTES_INGRESS = 0 , PARSER_DEPTH_MIN_BYTES_EGRESS = 0 ,
  MATCH_BYTE_16BIT_PAIRS = false , MATCH_REQUIRES_PHYSID = false , MAX_IMMED_ACTION_DATA = 32 , MAX_OVERHEAD_OFFSET = 64 ,
  MAX_OVERHEAD_OFFSET_NEXT = 40 , NUM_MAU_STAGES_PRIVATE = 20 , OUTPUT_STAGE_EXTENSION_PRIVATE = 0 , NUM_EGRESS_STAGES_PRIVATE = NUM_MAU_STAGES_PRIVATE ,
  ACTION_INSTRUCTION_MAP_WIDTH = 8 , DEPARSER_CHECKSUM_UNITS = 8 , DEPARSER_CONSTANTS = 8 , DEPARSER_MAX_POV_BYTES = 16 ,
  DEPARSER_MAX_POV_PER_USE = 1 , DEPARSER_CHUNKS_PER_GROUP = 8 , DEPARSER_CHUNK_SIZE = 8 , DEPARSER_CHUNK_GROUPS = 16 ,
  DEPARSER_CLOTS_PER_GROUP = 4 , DEPARSER_TOTAL_CHUNKS = DEPARSER_CHUNK_GROUPS * DEPARSER_CHUNKS_PER_GROUP , DEPARSER_MAX_FD_ENTRIES = DEPARSER_TOTAL_CHUNKS , DP_UNITS_PER_STAGE = 0 ,
  DYNAMIC_CONFIG = 0 , DYNAMIC_CONFIG_INPUT_BITS = 0 , EGRESS_SEPARATE = false , END_OF_PIPE = 0x1ff ,
  EXACT_HASH_GROUPS = 8 , EXACT_HASH_TABLES = 16 , EXTEND_ALU_8_SLOTS = 0 , EXTEND_ALU_16_SLOTS = 0 ,
  EXTEND_ALU_32_SLOTS = 0 , GATEWAY_INHIBIT_INDEX = false , GATEWAY_MATCH_BITS = 56 , GATEWAY_NEEDS_SEARCH_BUS = true ,
  GATEWAY_PAYLOAD_GROUPS = 5 , GATEWAY_ROWS = 8 , GATEWAY_SINGLE_XBAR_GROUP = true , SUPPORT_TRUE_EOP = 1 ,
  INSTR_SRC2_BITS = 5 , IMEM_COLORS = 2 , IXBAR_HASH_GROUPS = 8 , IXBAR_HASH_INDEX_MAX = 40 ,
  IXBAR_HASH_INDEX_STRIDE = 10 , LOCAL_TIND_UNITS = 0 , LONG_BRANCH_TAGS = 8 , MAU_BASE_DELAY = 23 ,
  MAU_BASE_PREDICATION_DELAY = 13 , MAU_ERROR_DELAY_ADJUST = 3 , METER_ALU_GROUP_DATA_DELAY = 15 , NEXT_TABLE_EXEC_COMBINED = true ,
  NEXT_TABLE_SUCCESSOR_TABLE_DEPTH = 8 , PHASE0_FORMAT_WIDTH = 128 , REQUIRE_TCAM_ID = false , SRAM_EGRESS_ROWS = 8 ,
  SRAM_GLOBAL_ACCESS = false , SRAM_HBUS_SECTIONS_PER_STAGE = 0 , SRAM_HBUSSES_PER_ROW = 0 , SRAM_INGRESS_ROWS = 8 ,
  SRAM_LAMBS_PER_STAGE = 0 , SRAM_LOGICAL_UNITS_PER_ROW = 6 , SRAM_REMOVED_COLUMNS = 2 , SRAM_STRIDE_COLUMN = 1 ,
  SRAM_STRIDE_ROW = 12 , SRAM_STRIDE_STAGE = 0 , SRAM_UNITS_PER_ROW = 12 , STATEFUL_CMP_UNITS = 4 ,
  STATEFUL_CMP_ADDR_WIDTH = 2 , STATEFUL_CMP_CONST_WIDTH = 6 , STATEFUL_CMP_CONST_MASK = 0x3f , STATEFUL_CMP_CONST_MIN = -32 ,
  STATEFUL_CMP_CONST_MAX = 31 , STATEFUL_TMATCH_UNITS = 2 , STATEFUL_OUTPUT_UNITS = 4 , STATEFUL_PRED_MASK = (1U << (1 << STATEFUL_CMP_UNITS)) - 1 ,
  STATEFUL_REGFILE_ROWS = 4 , STATEFUL_REGFILE_CONST_WIDTH = 34 , SUPPORT_ALWAYS_RUN = 1 , HAS_MPR = 1 ,
  SUPPORT_CONCURRENT_STAGE_DEP = 0 , SUPPORT_OVERFLOW_BUS = 0 , SUPPORT_SALU_FAST_CLEAR = 1 , STATEFUL_ALU_ADDR_WIDTH = 2 ,
  STATEFUL_ALU_CONST_WIDTH = 4 , STATEFUL_ALU_CONST_MASK = 0xf , STATEFUL_ALU_CONST_MIN = -8 , STATEFUL_ALU_CONST_MAX = 7 ,
  MINIMUM_INSTR_CONSTANT = -4 , NUM_PARSERS = 36 , NUM_PIPES = 4 , TABLES_REQUIRE_ROW = 1 ,
  SYNTH2PORT_NEED_MAPRAMS = true , TCAM_EXTRA_NIBBLE = true , TCAM_GLOBAL_ACCESS = false , TCAM_MATCH_BUSSES = 2 ,
  TCAM_MEMORY_FULL_WIDTH = 47 , TCAM_ROWS = 12 , TCAM_UNITS_PER_ROW = 2 , TCAM_XBAR_GROUPS = 12
}
 
typedef ::JBay::regs_deparser deparser_regs
 
typedef ::JBay::regs_match_action_stage_ mau_regs
 
typedef Target::JBay register_type
 
typedef Target::JBay target_type
 

Static Public Member Functions

static int encodeConst (int src)
 
- Static Public Member Functions inherited from Target
static int encodeConst (int src)
 
static int NUM_BUS_OF_TYPE (int bus_type)
 
static int NUM_EGRESS_STAGES ()
 
static int NUM_MAU_STAGES ()
 
static int NUM_STAGES (gress_t gr)
 
static int OUTPUT_STAGE_EXTENSION ()
 
static void OVERRIDE_NUM_MAU_STAGES (int num)
 
static int SRAM_ROWS (gress_t gr)
 

Static Public Attributes

static constexpr const char *const name = "tofino2"
 
static constexpr target_t register_set = JBAY
 
static constexpr target_t tag = JBAY
 

Additional Inherited Members

- Public Member Functions inherited from Target
virtual int NUM_BUS_OF_TYPE_v (int bus_type) const
 

Class Documentation

◆ Target::JBay::top_level_regs

struct Target::JBay::top_level_regs
Class Members
typedef ::memories_pipe _mem_pipe
typedef ::memories_top _mem_top
typedef ::regs_pipe _regs_pipe
typedef ::regs_top _regs_top
Class Members
::memories_pipe mem_pipe
::memories_top mem_top
map< unsigned, ::regs_parser_egress * > parser_egress
map< unsigned, ::regs_parser_ingress * > parser_ingress
map< unsigned, ::regs_parser_main_ * > parser_main[2]
map< unsigned, ::memories_parser_ * > parser_memory[2]
::regs_parse_merge parser_merge
::regs_pipe reg_pipe
::regs_top reg_top