P4C
The P4 Compiler
|
#include <device.h>
Classes | |
struct | GatewaySpec |
struct | StatefulAluSpec |
Public Types | |
enum | Device_t { TOFINO , JBAY } |
Static Public Member Functions | |
static RangeIter< gress_t > | allGresses () |
static int | alwaysRunIMemAddr () |
static const ArchSpec & | archSpec () |
static int | cloneSessionIdWidth () |
static Device_t | currentDevice () |
static unsigned int | egressIntrinsicMetadataMinLen () |
static const GatewaySpec & | gatewaySpec () |
static const Device & | get () |
static bool | hasAlwaysRunInstr () |
static bool | hasCompareInstructions () |
static bool | hasEgressParser () |
static bool | hasGhostThread () |
static bool | hasIngressDeparser () |
static bool | hasLongBranches () |
static bool | hasMetadataPOV () |
static bool | hasMirrorIOSelect () |
static const IMemSpec & | imemSpec () |
static void | init (cstring name) |
static int | isMemoryCoreSplit () |
static const IXBarSpec & | ixbarSpec () |
static const MauPowerSpec & | mauPowerSpec () |
static const MauSpec & | mauSpec () |
static unsigned | maxCloneId (gress_t gress) |
static unsigned | maxDigestId () |
static unsigned | maxDigestSizeInBytes () |
static gress_t | maxGress () |
static int | maxParserMatchBits () |
static unsigned | maxResubmitId () |
static int | metaGlobalTimestampLen () |
static int | metaGlobalTimestampStart () |
static int | metaGlobalVersionLen () |
static int | metaGlobalVersionStart () |
static int | mirrorTypeWidth () |
static cstring | name () |
static int | numClots () |
static int | numLogTablesPerStage () |
static int | numLongBranchTags () |
static int | numMaxChannels () |
static int | numParsersPerPipe () |
static int | numPipes () |
static int | numStages () |
static void | overrideNumStages (int num) |
static const PardeSpec & | pardeSpec () |
static const PhvSpec & | phvSpec () |
static int | portBitWidth () |
static int | queueIdWidth () |
static int | sramColumnAdjust () |
static int | sramMaxPackEntries () |
static int | sramMaxPackEntriesPerRow () |
static int | sramMinPackEntries () |
static const StatefulAluSpec & | statefulAluSpec () |
static bool | threadsSharePipe (gress_t a, gress_t b) |
Protected Member Functions | |
Device (cstring name) | |
virtual Device_t | device_type () const =0 |
virtual cstring | get_name () const =0 |
virtual int | getAlwaysRunIMemAddr () const =0 |
virtual const ArchSpec & | getArchSpec () const =0 |
virtual int | getCloneSessionIdWidth () const =0 |
virtual unsigned int | getEgressIntrinsicMetadataMinLen () const =0 |
virtual const GatewaySpec & | getGatewaySpec () const =0 |
virtual bool | getHasCompareInstructions () const =0 |
virtual bool | getHasEgressParser () const =0 |
virtual bool | getHasGhostThread () const =0 |
virtual bool | getHasIngressDeparser () const =0 |
virtual bool | getHasMetadataPOV () const =0 |
virtual bool | getHasMirrorIOSelect () const =0 |
virtual bool | getIfMemoryCoreSplit () const =0 |
virtual int | getLongBranchTags () const =0 |
virtual const MauPowerSpec & | getMauPowerSpec () const =0 |
virtual const MauSpec & | getMauSpec () const =0 |
virtual unsigned | getMaxCloneId (gress_t) const =0 |
virtual unsigned | getMaxDigestId () const =0 |
virtual unsigned | getMaxDigestSizeInBytes () const =0 |
virtual gress_t | getMaxGress () const =0 |
virtual int | getMaxParserMatchBits () const =0 |
virtual unsigned | getMaxResubmitId () const =0 |
virtual int | getMetaGlobalTimestampLen () const =0 |
virtual int | getMetaGlobalTimestampStart () const =0 |
virtual int | getMetaGlobalVersionLen () const =0 |
virtual int | getMetaGlobalVersionStart () const =0 |
virtual int | getMirrorTypeWidth () const =0 |
virtual int | getNumChannelsPerPort () const =0 |
virtual int | getNumLogTablesPerStage () const =0 |
virtual int | getNumMaxChannels () const =0 |
virtual int | getNumPipes () const =0 |
virtual int | getNumPortsPerPipe () const =0 |
virtual int | getNumStages () const =0 |
virtual const PardeSpec & | getPardeSpec () const =0 |
virtual const PhvSpec & | getPhvSpec () const =0 |
virtual int | getPortBitWidth () const =0 |
virtual int | getQueueIdWidth () const =0 |
virtual int | getSramColumnAdjust () const =0 |
virtual int | getSramMaxPackEntries () const =0 |
virtual int | getSramMaxPackEntriesPerRow () const =0 |
virtual int | getSramMinPackEntries () const =0 |
virtual const StatefulAluSpec & | getStatefulAluSpec () const =0 |
virtual bool | getThreadsSharePipe (gress_t a, gress_t b) const =0 |
Copyright (C) 2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
struct Device::GatewaySpec |
|
protectedpure virtual |
Implemented in TofinoDevice.
|
protectedpure virtual |
Implemented in TofinoDevice.
|
static |
Initialize the global device context for the provided target - e.g. "Tofino" or "JBay".
This should be called as early as possible at startup, since the Device singleton is available everywhere in the compiler.