Skip to main content

set_half_kernel

Function set_half_kernel 

Source
pub fn set_half_kernel(current: b64, value: b32, high: bool) -> b64
Expand description

Replace the low or high half of a 64-bit register.

AXI4-Lite moves 32 bits at a time, so a 64-bit argument (an address, the epoch, the first batch id) arrives as two writes: the low word at offset X and the high word at X + 4.

  • Inputs: current, the register’s present 64-bit value; value, the 32-bit word just written; high, true for the X + 4 half.
  • Output: current with that half replaced and the other half kept.
  • Timing: pure combinational logic (a mask and an OR), no state.