Skip to content

prism_ingress_port

Memorysynchronous BRAM frame FIFO

prism_ingress_port turns one external AXI frame stream into a validated PRISM frame stream. Parsing, state lookup, and validation remain separate operations inside the module.

Contracts

  • Ingress AXI stream: accepts 512-bit Ethernet beats with tkeep, tlast, tuser, and ready/valid flow control.
  • Operation lookup: requests the operation descriptor and accumulation status for a parsed operation key.
  • Contributor lookup: resolves the contributor binding associated with the accepted frame.
  • Validated descriptor: publishes prism_frame_desc_t, packet class, status, and prism_ingress_context_t together.
  • Buffered frame stream: replays the exact accepted frame alongside the validated descriptor.

Contract behavior

  • Buffers complete frames in synchronous BRAM and prefetches through a local elastic response queue before exposing them downstream.
  • Starts the operation lookup from the parsed header and registers its response together with the selected port tag.
  • Resolves the contributor from the registered operation group, keeping the two table accesses associated when ports or groups alternate.
  • Splits payload geometry into registered multiplication and range stages; lookup arbitration may add wait cycles.
  • Validates frame length, tkeep, addressing, operation state, contributor binding, and payload geometry.
  • Holds descriptor and stream state until both downstream contracts accept the frame.
  • Uses PORT_INDEX and the local MAC vector to enforce the per-port destination contract.