ADE3800
Register Description by Block
Total alpha is calculated as follows:
r_o = (r_i[9:0] + ( ({lut_data[23:16],lut_data[23:22]} - r_i[9:0]) * total_alpha) )
g_o = (g_i[9:0] + ( ({lut_data[15:8] ,lut_data[15:14]} - g_i[9:0]) * total_alpha) )
b_o = (b_i[9:0] + ( ({lut_data[7:0] ,lut_data[7:6]} - b_i[9:0]) * total_alpha) )
total_alpha_selector[7:0] = (glbl_alpha[3:0] * color_alpha[3:0])
The total alpha read from a LUT of 32 entries that are normalized, where the range is total_alpha =
0,1,2,3,4...16; and only the 5 msb’s of total_alpha_selector[7:3] are used as select.
i.e. 16 represents 1.0 "no alpha blending at all". Figure 14 shows how the Alpha Blending is
constructed:
Figure 14: OSD Alpha Blending
79/138