|
unsigned | deparserGroupId (const PHV::Container &c) const override |
|
bool | hasParserExtractGroups () const override |
|
const bitvec & | individuallyAssignedContainers () const override |
|
unsigned | mauGroupId (const PHV::Container &c) const override |
|
bitvec | parserExtractGroup (unsigned id) const override |
|
bitvec | parserGroup (unsigned id) const override |
|
unsigned | parserGroupId (const PHV::Container &c) const override |
|
unsigned | physicalAddress (unsigned container_id, ArchBlockType_t interface) const override |
|
AddressSpec & | physicalAddressSpec (ArchBlockType_t interface) const override |
|
void | applyGlobalPragmas (const std::vector< const IR::Annotation * > &global_pragmas) const |
| apply global pragmas to cached info about available PHV containers
|
|
const std::set< PHV::Kind > & | containerKinds () const |
|
cstring | containerSetToString (const bitvec &set) const |
|
const std::set< PHV::Size > & | containerSizes () const |
|
unsigned | containerToId (PHV::Container container) const |
|
const std::vector< PHV::Type > & | containerTypes () const |
|
unsigned | containerTypeToId (PHV::Type type) const |
|
bitvec | deparserGroup (unsigned id) const |
|
const std::pair< int, int > | deparserGroupNumAndSize (const PHV::Type t) const |
|
const bitvec & | egressOnly () const |
|
bitvec | filterContainerSet (const bitvec &set, PHV::Kind kind) const |
| Filters a set of containers for a single container kind or type.
|
|
bitvec | filterContainerSet (const bitvec &set, PHV::Type type) const |
|
unsigned | getNumPovBits () const |
|
unsigned | getNumTagalongCollections () const |
|
unsigned | getTagalongCollectionId (PHV::Container c) const |
|
const std::map< PHV::Type, unsigned > | getTagalongCollectionSpec () const |
|
const std::map< PHV::Size, std::set< PHV::Type > > | groupsToTypes () const |
|
bool | hasContainerKind (PHV::Kind kind) const |
| Determines whether the device has the given kind of PHV container.
|
|
PHV::Container | idToContainer (unsigned id) const |
|
PHV::Type | idToContainerType (unsigned id) const |
|
const bitvec & | ingressOnly () const |
|
bitvec | ingressOrEgressOnlyContainers (const std::map< PHV::Size, std::vector< unsigned > > &gressOnlyMauGroupIds) const |
|
bitvec | mauGroup (unsigned container_id) const |
|
const std::pair< int, int > | mauGroupNumAndSize (const PHV::Type t) const |
|
const std::map< PHV::Size, std::vector< bitvec > > & | mauGroups () const |
|
const std::vector< bitvec > & | mauGroups (PHV::Size sz) const |
|
unsigned | numContainersInGroup () const |
|
unsigned | numContainerTypes () const |
|
unsigned | physicalAddress (const PHV::Container &c, ArchBlockType_t interface) const |
|
std::optional< PHV::Container > | physicalAddressToContainer (unsigned address, ArchBlockType_t interface) const |
|
const bitvec & | physicalContainers () const |
|
bitvec | range (PHV::Type t, unsigned start, unsigned length) const |
|
bitvec | tagalongCollection (unsigned container_id) const |
|
const std::vector< bitvec > & | tagalongCollections () const |
|
|
using | AddressSpec = std::map<PHV::Type, RangeSpec> |
|
enum | ArchBlockType_t { PARSER
, MAU
, DEPARSER
} |
|
void | addType (PHV::Type t) |
|
unsigned | getContainersPerGroup (const std::map< PHV::Size, unsigned > &numContainersPerGroup) const |
| Return the number of containers in an MAU group.
|
|
unsigned | containersPerGroup = 0 |
|
std::set< PHV::Kind > | definedKinds |
| All kinds of containers supported by the device.
|
|
std::set< PHV::Size > | definedSizes |
| All sizes of containers supported by the device.
|
|
std::vector< PHV::Type > | definedTypes |
| All types of containers supported by the device.
|
|
std::map< PHV::Type, unsigned > | deparserGroupSize |
|
std::map< PHV::Type, std::pair< unsigned, unsigned > > | deparserGroupSpec |
|
bitvec | egress_only_containers_i |
|
std::map< PHV::Size, std::vector< unsigned > > | egressOnlyMauGroupIds |
|
bitvec | individually_assigned_containers_i |
|
bitvec | ingress_only_containers_i |
|
std::map< PHV::Size, std::vector< unsigned > > | ingressOnlyMauGroupIds |
|
std::map< PHV::Size, std::vector< bitvec > > | mau_groups_i |
|
std::map< PHV::Size, MauGroupType > | mauGroupSpec |
|
unsigned | numPovBits = 0 |
|
unsigned | numTagalongCollections = 0 |
|
bitvec | physical_containers_i |
|
std::map< PHV::Size, std::set< PHV::Type > > | sizeToTypeMap |
|
std::vector< bitvec > | tagalong_collections_i |
|
std::map< PHV::Type, unsigned > | tagalongCollectionSpec |
|
ordered_map< PHV::Type, unsigned > | typeIdMap |
|