Part 6 · Agents & Protocol IP · Intermediate
Protocol Comparison Table: Choosing the Right Agent Architecture
Side-by-side APB, AXI, and streaming pattern comparison across complexity, ordering, buffering, monitor design, and debug surfaces.
Why compare explicitly
Teams often overgeneralize one protocol experience into another. A structured comparison helps pick architecture and qualification strategy before implementation drift begins.
Use this table as a design kickoff aid and as a review artifact for new VIP developments.
[VIP][AGT] high-level comparison
dimension APB AXI STREAM
----------------------------------------------------------------------------------------
channels 1 request path 5 decoupled channels 1 data flow
ordering mostly serialized may be out-of-order sequence by beat/frame
state complexity low high medium
driver architecture simple FSM multi-thread/channel handshake loop + framing
monitor architecture phase merge channel correlator beat-to-packet assembler
primary risk timing phase errors ID/order correlation bugs stall/framing bugs[UVM] decision heuristic
if control register bus:
APB-like pattern
if memory/interconnect data fabric:
AXI-like pattern
if unidirectional throughput pipeline:
streaming patternCompare architecture choices using protocol behavior, not naming similarity.
Primary risk areas differ significantly by protocol family.
Qualification plans should mirror protocol complexity profile.
Comparison dimensions in depth
Beyond channels and ordering, compare reset behavior, checker strategy, coverage model, and debugging observability requirements.
[VIP] detailed dimension table
dimension APB AXI STREAM
----------------------------------------------------------------------------------------------
reset handling transaction abort simple per-channel recovery needed packet flush policy
backpressure focus moderate high (per channel) very high
outstanding tracking minimal mandatory optional (pipeline depth)
item schema size compact large metadata-rich packet/beat arrays
checker complexity low-medium high medium
coverage focus addr/rw/resp bins burst/id/order/interleave size/stall/utilization[DEBUG] instrumentation priority
APB:
setup/access state trace
AXI:
per-channel timeline + ID tracker dumps
STREAM:
stall counters + frame boundary logs[CI] regression profile by protocol
APB:
broad directed + light random stress
AXI:
heavy random + concurrency stress + long runs
STREAM:
throughput/backpressure sweep + framing stressMatch checker and coverage complexity to protocol concurrency level.
Instrument debug based on each protocol's dominant failure surface.
Allocate CI budget proportionally to protocol risk profile.
Choosing reusable abstractions
Not all code should be shared across protocol families. Share wrapper and tooling patterns; keep protocol engines independent.
[AGT] share vs specialize
good to share:
cfg validation utilities
mode switching framework
logging conventions
release/testing scaffolding
must specialize:
driver timing engines
monitor reconstruction logic
transaction schemas
protocol checkers[VIP] layered architecture
layer 1: common infrastructure (factory, cfg base, reporting)
layer 2: protocol-specific item/driver/monitor/checkers
layer 3: env-specific adapters and scoreboards
this keeps reuse high without correctness compromise[SOC] integration planning question set
1) which interfaces map to which protocol family?
2) where is active ownership needed vs passive observation?
3) what checker depth is required per interface criticality?
4) what CI runtime budget exists per protocol class?Share infrastructure patterns, not protocol semantics.
Layer architecture to keep specialization boundaries clear.
Use planning questions early to avoid late integration churn.
Comparison-driven review checklist
Before implementation sign-off, run a comparison-driven review to ensure architecture choices align with target protocol needs.
[REVIEW] pre-implementation checklist
[ ] protocol channel model captured correctly
[ ] ordering assumptions explicitly documented
[ ] item schema includes all mandatory semantics
[ ] driver concurrency model matches protocol needs
[ ] monitor correlation/framing logic defined
[ ] debug instrumentation plan protocol-specific
[ ] qualification suite scope aligned with complexity[VIP][AGT] design review anti-patterns
anti-pattern:
"AXI is just APB with more signals"
anti-pattern:
"One generic item for all protocols"
anti-pattern:
"Single smoke test proves all protocol variants"[DOC] comparison artifact usage
store the comparison table with:
architecture decision records
VIP onboarding docs
release qualification rationale
update when protocol support scope evolvesKey takeaways
Structured comparison prevents protocol-pattern misapplication.
Share reusable scaffolding while specializing protocol engines.
Protocol complexity should drive debug and CI strategy depth.
Comparison checklists improve design review quality and consistency.
Common pitfalls
Forcing one protocol implementation style across all bus families.
Ignoring ordering/correlation demands in complex protocols.
Under-scoping qualification for high-concurrency protocols.
Failing to refresh comparison docs as VIP scope changes.