|
| 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 |
| |