P4C
The P4 Compiler
|
#include <action_format.h>
Public Member Functions | |
ALUPosition (const ALUOperation *ao, Location_t l, size_t sb) | |
Public Attributes | |
const ALUOperation * | alu_op |
Location_t | loc |
size_t | start_byte |
Friends | |
std::ostream & | operator<< (std::ostream &out, const ALUPosition &pos) |
Information on the position of a single ALUOperation on a RAM line. Due to the constraint, that all of the action data in a single ALU operation has to appear in a single Action Data Bus slot. Due to the direct extraction through the homerow bus, the following constraint must be satisfied:
- slot_bit_lo / container_size == slot_bit_hi / container_size (integer division)
This means that the entirety of a single ALU operation starts a byte and is a particular size. The start can either be in ActionDataTable RAM or Match RAM (Immediate)
Specifically for anything that comes from a Meter ALU, a third location has been provided