x x+1 x+2 x+3
next
5..v_wxyz
next
wdata
next
400v_wxyz 400v_wxyz
next
next
5..v_wxyz
wdata bfi rdata
wdata bfi rdata
next
rdata
CYCLE RULER
hclk
BME AHB Input Bus
mx_haddr
mx_hattr
mx_hwrite
mx_hwdata
mx_hrdata
mx_hready
BME AHB Output Bus
sx_haddr
sx_hattr
sx_hwrite
sx_hwdata
sx_hrdata
sx_hready
BME States + Datapath
control_state_dp1
control_state_dp2
reg_addr_data_dp
Figure 17-2. Decorated store: bit field insert timing diagram
All the decorated store operations follow the same execution template shown in the figure
above, a 2-cycle read-modify-write operation:
• Cycle x, 1st AHB address phase: Write from input bus (mx_h<signal>) is translated
into a read operation on the output bus (sx_h<signal>) using the actual memory
address (with the decoration removed) and then captured in a register
(reg_addr_data_dp)
• Cycle x+1, 2nd AHB address phase: Write access with the registered (but actual)
memory address is output (sx_h<signal>)
• Cycle x+1, 1st AHB data phase: Memory read data (sx_hrdata) is modified using the
input bus write data (mx_hwdata) and the function defined by the decoration and
captured in a data register (reg_addr_data_dp); the input bus cycle is stalled
(mx_hready = 0)
• Cycle x+2, 2nd AHB data phase: Registered write data is sourced onto the output
write data bus (sx_hwdata)
Chapter 17 Bit Manipulation Engine (BME)
KL25 Sub-Family Reference Manual, Rev. 3, September 2012
Freescale Semiconductor, Inc. 275