Skip to content

chore: Split serializer from PHY - #34

Draft
Lore0599 wants to merge 4 commits into
mainfrom
split-axi-serializer
Draft

chore: Split serializer from PHY#34
Lore0599 wants to merge 4 commits into
mainfrom
split-axi-serializer

Conversation

@Lore0599

@Lore0599 Lore0599 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Split serializer from PHY

This PR introduces an intermediate module, slink_serializer, which handles converting the AXI protocol into AXI-Stream and splitting the payload into packets.

This refactor enables the following:

  • The protocol/control-flow logic can be reused with different PHY implementations (e.g., UCIe).
  • Moving slink_reg out of the serializer allows multiple serializers (and eventually serial links) to be instantiated in the same design, each with its own parametrization. This isn't currently possible: once a downstream project depends on the serial link, IP parameters such as NumChannels, NumLanes, and EnDdr are inherited directly from the generated RDL, tying every instance to the same configuration.

ricted98 and others added 4 commits July 5, 2026 07:40
Extract the Protocol Layer, Data Link Layer, Channel Allocator, and
config-register front-end of the serial link into a new
slink_serializer module, exposing a per-channel phy_data_t packet
stream (+ TX PHY clock-div/shift config) as its port boundary instead
of driving slink_phys_layer directly.

slink.sv becomes a thin wrapper pairing slink_serializer with the
existing slink_phys_layer generate loop, keeping its external port
list and module name unchanged for compatibility with slink_isolate
and downstream integrations (e.g. gwaihir).

This lets slink_serializer be reused standalone with a different
physical/transport backend in another project.

Verified: verible-verilog-lint clean; tb_axi_slink (default 1-channel,
no channel allocator) and tb_ch_calib_slink (regenerated at 4
channels, exercising the channel-allocator branch) both pass with 0
errors in vsim.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Lore0599
Lore0599 requested a review from fischeti as a code owner August 6, 2026 01:05
@Lore0599
Lore0599 requested review from fischeti and micprog and removed request for fischeti August 6, 2026 01:05
@Lore0599
Lore0599 marked this pull request as draft August 6, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants