sim: add pix format for roi

This commit is contained in:
morgan 2025-01-13 16:35:34 +08:00
parent e0986e524d
commit c5d71f269d

View File

@ -230,11 +230,20 @@ def testbench():
def testbench_fake_data(): def testbench_fake_data():
pix_size = 16 # config
pix_size = 10
x_size = 7 x_size = 7
y_size = 3 y_size = 3
l_size = ceil(x_size*pix_size/32)
l_size = ceil(x_size*pix_size/32)
pix_fmt = {
8: 0x0101,
10: 0x0102,
12: 0x0103,
14: 0x0104,
16: 0x0105,
}
# frame header # frame header
paks = [ paks = [
{"data": C(0x7C7C7C7C, word_dw), "k" : Replicate(1, 4)}, {"data": C(0x7C7C7C7C, word_dw), "k" : Replicate(1, 4)},
@ -261,8 +270,8 @@ def testbench_fake_data():
{"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, # DsizeL[23:16] {"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, # DsizeL[23:16]
{"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, # DsizeL[15:8] {"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, # DsizeL[15:8]
{"data": Replicate(C(l_size, char_width), 4), "k" : Replicate(0, 4)}, # DsizeL[7:0] {"data": Replicate(C(l_size, char_width), 4), "k" : Replicate(0, 4)}, # DsizeL[7:0]
{"data": C(0x01010101, word_dw), "k" : Replicate(0, 4)}, {"data": Replicate(C(pix_fmt[pix_size] >> 8, char_width), 4), "k" : Replicate(0, 4)}, # PixelF[15:8]
{"data": C(0x01010101, word_dw), "k" : Replicate(0, 4)}, {"data": Replicate(C(pix_fmt[pix_size] & 0xFF, char_width), 4), "k" : Replicate(0, 4)}, # PixelF[7:0]
{"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, {"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)},
{"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, {"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)},
{"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)}, {"data": C(0x00000000, word_dw), "k" : Replicate(0, 4)},
@ -292,7 +301,8 @@ def testbench_fake_data():
serialized = (packed & (0xFFFF_FFFF << i*word_dw)) >> i*word_dw serialized = (packed & (0xFFFF_FFFF << i*word_dw)) >> i*word_dw
print(f"{serialized:08X}") print(f"{serialized:08X}")
paks.append({"data": C(serialized, word_dw), "k" : Replicate(0, 4)}) paks.append({"data": C(serialized, word_dw), "k" : Replicate(0, 4)})
paks.append({"data": C(0xCB5DCDD6, word_dw), "k" : Replicate(0, 4), "eop": 0}) # fake crc
paks.append({"data": C(0xCB5DCDD6, word_dw), "k" : Replicate(0, 4), "eop": 0}) # fake crc
yield from packet_sim(paks) yield from packet_sim(paks)