P4C
The P4 Compiler
|
#include <power_spec.h>
Public Member Functions | |
double | get_absolute_max_power_threshold () const override |
int | get_concurrent_latency_contribution () const override |
int | get_cycles_to_issue_credit_to_pmarb () const override |
double | get_deferred_ram_read_power () const override |
double | get_deferred_ram_write_power () const override |
int | get_deparser_max_phv_valid () const override |
int | get_deparser_throughput_scaling_starts () const override |
double | get_excess_power_threshold () const override |
double | get_map_ram_read_power () const override |
double | get_map_ram_write_power () const override |
int | get_mau_corner_turn_delay () const override |
double | get_max_power () const override |
int | get_min_required_egress_mau_latency () const override |
int | get_pmarb_cycles_from_receive_credit_to_issue_phv_to_mau () const override |
double | get_ram_read_power () const override |
double | get_ram_scaling_factor () const override |
double | get_ram_write_power () const override |
double | get_tcam_scaling_factor () const override |
double | get_tcam_search_power () const override |
double | get_voltage_scaling_factor () const override |
Public Member Functions inherited from MauPowerSpec | |
virtual int | get_action_latency_contribution () const |
virtual int | get_base_delay () const |
virtual int | get_base_predication_delay () const |
virtual int | get_meter_lpf_delay () const |
virtual int | get_selector_delay () const |
virtual int | get_stateful_delay () const |
virtual int | get_tcam_delay () const |
Most of these numbers are currently based on library models, not measurements. This will be re-visited once more measurements have been procured. When a number was not available, we defaulted to Tofino's unscaled value.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
For computing latency contribution of a MAU stage. There is no concurrent dependency type for for Tofino2. In such cases, use an action dependency.
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
FIXME: Do not currently know these numbers, or whether they will be relevant. Since they are not needed currently for Tofino2, leave them at 0.
Implements MauPowerSpec.
|
inlineoverridevirtual |
For scaling MAU power based on deparser throttling. Currently, deparser scaling does not apply to Tofino2. If it does eventually, update this value. For now, it is given a value that is greater than the maximum possible latency (30 cycles * 20 stages)
Implements MauPowerSpec.
|
inlineoverridevirtual |
The additional power given when –disable-power-check is provided at the command line.
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
There is no imposed corner-turn latency for Tofino2, as there is no corner to turn.
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
There is currently no minimum egress pipeline latency for Tofino2.
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Memory access power consumption (in Watts) Note that these numbers are not to be made available in any user-facing form.
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.
|
inlineoverridevirtual |
Implements MauPowerSpec.