tlul_sram_byte

Handle TL-UL byte writes with integrity-aware read-modify-write.

When a write with a partial mask arrives and ENABLE_INTG is set, read the full word first, merge the written bytes, regenerate data integrity, and write the full word back. When RMW is not required, mux the incoming transaction straight through. compound_txn_in_progress_o is high while this module drives its own RMW write or readback request downstream.

If error_i is set on an incoming transaction, do not attempt byte-write handling. Feed the transaction through and allow the system to error back, and feed the error indication through on error_o.

ENABLE_READBACK enables readback checks on all transactions while readback_en_i is MuBi4True, and requires ENABLE_INTG == 1. alert_o reports readback mismatches and invalid FSM states. When ENABLE_INTG is clear, every signal passes straight through and alert_o and compound_txn_in_progress_o are 0.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
ENABLE_INTGbit0Handle partial-mask writes with integrity RMW.
OUTSTANDINGint1Maximum outstanding transactions tracked.
ENABLE_READBACKbit0Readback-check transactions; needs ENABLE_INTG.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputSystem clock.
rst_niinputActive-low reset.
tl_iinputtl_h2d_tUpstream TL-UL request.
tl_ooutputtl_d2h_tUpstream TL-UL response.
tl_sram_ooutputtl_h2d_tDownstream request toward the memory.
tl_sram_iinputtl_d2h_tDownstream response from the memory.
error_iinputError detected on the incoming request; it passes through without RMW.
error_ooutputlogicerror_i, masked while the host is stalled.
alert_ooutputlogicReadback mismatch or invalid FSM state.
compound_txn_in_progress_ooutputlogicHigh while an RMW write or readback request is driven downstream.
readback_en_iinputprim_mubi_pkg::mubi4_tMuBi4 readback enable; sampled while the bus is idle.
wr_collision_iinputlogicSRAM write collision; used only by assertions.
write_pending_iinputlogicSRAM write pending; used only by assertions.