inp004.tab 17.8 KB
#
#  tc_lod logical verification
#
gclk  			@C
st_span  		@I 
ncyc  			@I 
l[15:0]  		@I
s[15:0]  		@I
t[15:0]  		@I
w[15:0]  		@I
min_level[4:0]  	@I
detail_en  		@I
sharp_en  		@I
lod_en  		@I
persp_en  		@I
copy  			@I
samp_type  		@I
tlut_en  		@I
tlut_type  		@I
max_level[2:0]  	@I
prim_tile[2:0]  	@I
load  			@I
shift_coord  		@I
tile_adrs[2:0]  	@I
tile_data[47:0]  	@I
we_tile_size  		@I
we_tile_attr  		@I
vm_in[7:0]  		@I
vm_dv  			@I
copy_load[63:0]  	@B
load_dv  		@I
dv_0  			@I
exit1  			@I
x[9:0]  		@I
y[9:0]  		@I

0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
#
# clamp
#
# sharp_en = 1, detail_en = 0, lod_index = 3 => l_int = 8, l_mant = 0x1e => l = 0x11e
# min_lev = 0x1f 
# expected output (no clamp, l_frac = 0x1e)
0 0   0x011e 0x0000 0x0000 0x0000   0x1f 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
# l = 0x01e
# expected output (clamp, l_frac = 0x1f8)
0 0   0x001e 0x0000 0x0000 0x0000   0x1f 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
# l = 0xffff (negative)
# min_lev = 0x04 
# expected output (clamp, l_frac = 0x120)
0 0   0xffff 0x0000 0x0000 0x0000   0x04 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
# expected output (clamp, l_frac = 0x0ff)
0 0   0xbfff 0x0000 0x0000 0x0000   0x04 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
#
# lod_index
#
# min_lev = 0x00, set l_mant = 0x1f, walk one across l_int = 0,1,2,4,8,16,32,64,128 => l_index => 0,0,1,2,3,4,5,6,7
0 0   0x001f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x003f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x005f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x009f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x011f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x021f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x041f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x081f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
0 0   0x101f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000 
#
# min
#
# lod = 0x001f; expected outut (l_frac[8] = 1)
0 0   0x001f 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0020; expected outut (l_frac[8] = 0)
0 0   0x0020 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0040; expected outut (l_frac[8] = 0)
0 0   0x0040 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0080; expected outut (l_frac[8] = 0)
0 0   0x0080 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0100; expected outut (l_frac[8] = 0)
0 0   0x0100 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0200; expected outut (l_frac[8] = 0)
0 0   0x0200 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0400; expected outut (l_frac[8] = 0)
0 0   0x0400 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x0800; expected outut (l_frac[8] = 0)
0 0   0x0800 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x1000; expected outut (l_frac[8] = 0)
0 0   0x1000 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x2000; expected outut (l_frac[8] = 0)
0 0   0x2000 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0x4000; expected outut (l_frac[8] = 0)
0 0   0x4000 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
# max, index_clamp
#
# inc=inc2= 0 => cyc0 and detail_en = 0; prim_tile = 4; lod_en = 1; load = 0;
# max_level = 7; set lod[14] and lod[13]; expected output(l_tile = 3)
0 0   0x4000 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x4 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 0   0x2000 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x4 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# max_level = 5; 
# lod_index = 4, 5, 6 expected output(l_tile = 4, 5, 5)
0 0   0x0200 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x5 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 0   0x0400 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x5 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 0   0x0800 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x5 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
# l_tile, load_3d, load_4d, cycle
#
# lod_en = 0; prim_tile = 1; expected output (l_tile = 1,2)
1 1   0x0800 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x5 0x1 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0800 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x5 0x1 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod_en = 1; load = 1; prim_tile = 2; expected output (l_tile = 2,2)
0 1   0x0800 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x5 0x2 1 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0800 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x5 0x2 1 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod_en = 0; load = 1; prim_tile = 3; expected output (l_tile = 3,3)
0 1   0x0800 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x5 0x3 1 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0800 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x5 0x3 1 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod_en = 1; load = 0; prim_tile = 0; 
# 2-cycle mode; shp_en = 0; det_en = 0
# min, max = 00, 01, 10, 11
0 1   0x0030 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0030 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 0 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# 2-cycle mode; shp_en = 0; det_en = 1
# min, max = 00, 01, 10, 11
0 1   0x0030 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0030 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 0 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# 2-cycle mode; shp_en = 1; det_en = 0
# min, max = 00, 01, 10, 11
0 1   0x0030 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0030 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 0 1 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# 2-cycle mode; shp_en = 1; det_en = 1
# min, max = 00, 01, 10, 11
0 1   0x0030 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0030 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x4000 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
0 1   0x0010 0x0000 0x0000 0x0000   0x00 1 1 1 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
# lod_ge_one
#
# lod = 1.0
0 0   0x0020 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0.99
0 0   0x001f 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
# frac_clamp
#
# lod = 0.5; sharp_en = 1; det_en = 0; min = 1; max_level = 7; expected output (l_frac = 0x180) 
0 0   0x0010 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# sharp_en = 0; det_en = 1; expected output (l_frac = 0x80) 
0 0   0x0010 0x0000 0x0000 0x0000   0x00 1 0 0 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0.5; sharp_en = 0; det_en = 0; min = 1; max_level = 7; expected output (l_frac = 0x00) 
0 0   0x0010 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0.5; sharp_en = 0; det_en = 0; min = 1; max_level = 0; expected output (l_frac = 0xff) 
0 0   0x0010 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
# repeat with tlut_en
# lod_ge_one
#
# lod = 1.0
0 0   0x0020 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 1 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0.99
0 0   0x001f 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 1 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
# frac_clamp
#
# lod = 0.5; sharp_en = 1; det_en = 0; min = 1; max_level = 7; expected output (l_frac = 0x180)
0 0   0x0010 0x0000 0x0000 0x0000   0x00 0 1 0 0 0 0 1 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# sharp_en = 0; det_en = 1; expected output (l_frac = 0x80)
0 0   0x0010 0x0000 0x0000 0x0000   0x00 1 0 0 0 0 0 1 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0.5; sharp_en = 0; det_en = 0; min = 1; max_level = 7; expected output (l_frac = 0x00)
0 0   0x0010 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 1 0 0x7 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
# lod = 0.5; sharp_en = 0; det_en = 0; min = 1; max_level = 0; expected output (l_frac = 0xff)
0 0   0x0010 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 1 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   1 0 0x000 0x000
#
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000 
0 0   0x0000 0x0000 0x0000 0x0000   0x00 0 0 0 0 0 0 0 0 0x0 0x0 0 0   0x0 0x000000000000 0 0   0x00 0   0x0000000000000000 0   0 0 0x000 0x000