19#ifndef BACKENDS_TOFINO_BF_P4C_MAU_MAU_SPEC_H_
20#define BACKENDS_TOFINO_BF_P4C_MAU_MAU_SPEC_H_
29 virtual int rows()
const = 0;
30 virtual int colors()
const = 0;
31 virtual int color_bits()
const = 0;
32 virtual int address_bits()
const = 0;
33 virtual int map_table_entries()
const = 0;
37 int rows()
const override;
38 int colors()
const override;
39 int color_bits()
const override;
40 int address_bits()
const override;
41 int map_table_entries()
const override;
47 virtual int ternaryBytesPerGroup()
const = 0;
48 virtual int ternaryGroups()
const = 0;
51 virtual int tcam_rows()
const = 0;
52 virtual int tcam_columns()
const = 0;
55 virtual int byteGroups()
const;
56 virtual int exactBytesPerGroup()
const;
57 virtual int exactGroups()
const;
58 virtual int fairModeHashBits()
const;
59 virtual int gatewaySearchBytes()
const;
60 virtual int hashDistBits()
const;
61 virtual int hashDistExpandBits()
const;
62 virtual int hashDistMaxMaskBits()
const;
63 virtual int hashDistSlices()
const;
64 virtual int hashDistUnits()
const;
65 virtual int hashGroups()
const;
66 virtual int hashIndexGroups()
const;
67 virtual int hashMatrixSize()
const;
68 virtual int hashParityBit()
const;
69 virtual int hashSingleBits()
const;
70 virtual int hashTables()
const;
71 virtual int lpfInputBytes()
const;
72 virtual int maxHashBits()
const;
73 virtual int meterAluHashBits()
const;
74 virtual int meterAluHashParityByteStart()
const;
75 virtual int meterPrecolorSize()
const;
76 virtual int ramLineSelectBits()
const;
77 virtual int ramSelectBitStart()
const;
78 virtual int repeatingConstraintSect()
const;
79 virtual int resilientModeHashBits()
const;
80 virtual int ternaryBytesPerBigGroup()
const;
81 virtual int tofinoMeterAluByteOffset()
const;
83 virtual int getExactOrdBase(
int group)
const = 0;
84 virtual int getTernaryOrdBase(
int group)
const = 0;
85 virtual int exactMatchTotalBytes()
const = 0;
86 virtual int ternaryMatchTotalBytes()
const = 0;
87 virtual int xcmpMatchTotalBytes()
const = 0;
92static constexpr int Tofino_tcam_rows = 12;
93static constexpr int Tofino_tcam_columns = 2;
97 virtual const IXBarSpec &getIXBarSpec()
const = 0;
98 virtual const IMemSpec &getIMemSpec()
const = 0;
102 virtual IR::Node *postTransformTables(IR::MAU::Table *
const table)
const;
105 virtual int tcam_rows()
const;
106 virtual int tcam_columns()
const;
107 virtual int tcam_width()
const;
108 virtual int tcam_depth()
const;
115 int byteGroups()
const override;
117 int hashDistMaxMaskBits()
const override;
119 int hashMatrixSize()
const override;
121 int ternaryGroups()
const override;
123 int exactBytesPerGroup()
const override;
124 int exactGroups()
const override;
125 int fairModeHashBits()
const override;
126 int gatewaySearchBytes()
const override;
127 int hashDistBits()
const override;
128 int hashDistExpandBits()
const override;
129 int hashDistSlices()
const override;
130 int hashDistUnits()
const override;
131 int hashGroups()
const override;
133 int hashIndexGroups()
const override;
136 int hashParityBit()
const override;
139 int hashSingleBits()
const override;
142 int hashTables()
const override;
143 int lpfInputBytes()
const override;
144 int maxHashBits()
const override;
145 int meterAluHashBits()
const override;
146 int meterAluHashParityByteStart()
const override;
147 int meterPrecolorSize()
const override;
148 int ramLineSelectBits()
const override;
149 int ramSelectBitStart()
const override;
150 int repeatingConstraintSect()
const override;
151 int resilientModeHashBits()
const override;
152 int ternaryBytesPerBigGroup()
const override;
153 int ternaryBytesPerGroup()
const override;
154 int tofinoMeterAluByteOffset()
const override;
157 int tcam_rows()
const override;
158 int tcam_columns()
const override;
161 int getTernaryOrdBase(
int group)
const override;
163 int exactMatchTotalBytes()
const override;
164 int ternaryMatchTotalBytes()
const override;
165 int xcmpMatchTotalBytes()
const override;
174 const IXBarSpec &getIXBarSpec()
const override;
175 const IMemSpec &getIMemSpec()
const override;
184 const IXBarSpec &getIXBarSpec()
const override;
185 const IMemSpec &getIMemSpec()
const override;
Definition mau_spec.h:178
Definition mau_spec.h:111
int getExactOrdBase(int group) const override
Definition tofino/mau_spec.cpp:23
Definition mau_spec.h:168
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24