smart-pix / asic-testing-fnal-lab-notebooks

Lab notebooks and git issues for testing
0 stars 0 forks source link

07/02/24 #17

Open badeaa3 opened 2 months ago

badeaa3 commented 2 months ago

Goals:

badeaa3 commented 2 months ago

Saw weird behavior on running the startup tests.

This test failed the first time I ran it.

*************************************************************************************************************************
Starting register value sw_write32_0 = 754974719
Write to sw_write32_0: True. Wrote 570425343 and register reads 570425343. hex_list = ["4'h2", "4'h1", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Write to sw_write32_0: True. Wrote 754974719 and register reads 754974719. hex_list = ["4'h2", "4'hC", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Executing test routine for OP_CODE_W_CFG_ARRAY_0 and OP_CODE_R_CFG_ARRAY_0
--------------------------------------------------------------------------
Starting register value sw_write32_0 = 754974719
Write to sw_write32_0: True. Wrote 637534209 and register reads 637534209. hex_list = ["4'h2", "4'h6", "8'h0", "16'h1"]
Write to sw_write32_0: True. Wrote 654311425 and register reads 654311425. hex_list = ["4'h2", "4'h7", "8'h0", "16'h1"]
Expected value and actual read from sw_read32_0: 1 and 1 -> Pass
Expected value and actual read from sw_read32_1: 96 and 96 -> Pass
  UPDATE: User asked to only check 12 bits of sw_read32_1: 96 and 0 -> Fail
Read sw_read32_0 (int, hex, binary):  1 00000001 00000000000000000000000000000001
Read sw_read32_1 (int, hex, binary):  96 00000060 00000000000000000000000001100000
Sending OP_CODE_W_STATUS_FW_CLEAR to clean up.
Starting register value sw_write32_0 = 654311425
Write to sw_write32_0: True. Wrote 754974719 and register reads 754974719. hex_list = ["4'h2", "4'hC", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Expected value and actual read from sw_read32_0: 0 and 0 -> Pass
Expected value and actual read from sw_read32_1: 0 and 0 -> Pass
Read sw_read32_0 (int, hex, binary):  0 00000000 00000000000000000000000000000000
Read sw_read32_1 (int, hex, binary):  0 00000000 00000000000000000000000000000000
----
Executing test routine for OP_CODE_W_CFG_ARRAY_1 and OP_CODE_R_CFG_ARRAY_1
--------------------------------------------------------------------------
Starting register value sw_write32_0 = 754974719
Write to sw_write32_0: True. Wrote 671088641 and register reads 671088641. hex_list = ["4'h2", "4'h8", "8'h0", "16'h1"]
Write to sw_write32_0: True. Wrote 687865857 and register reads 687865857. hex_list = ["4'h2", "4'h9", "8'h0", "16'h1"]
Expected value and actual read from sw_read32_0: 1 and 1 -> Pass
Expected value and actual read from sw_read32_1: 384 and 384 -> Pass
  UPDATE: User asked to only check 12 bits of sw_read32_1: 384 and 0 -> Fail
Read sw_read32_0 (int, hex, binary):  1 00000001 00000000000000000000000000000001
Read sw_read32_1 (int, hex, binary):  384 00000180 00000000000000000000000110000000
Sending OP_CODE_W_STATUS_FW_CLEAR to clean up.
Starting register value sw_write32_0 = 687865857
Write to sw_write32_0: True. Wrote 754974719 and register reads 754974719. hex_list = ["4'h2", "4'hC", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Expected value and actual read from sw_read32_0: 0 and 0 -> Pass
Expected value and actual read from sw_read32_1: 0 and 0 -> Pass
Read sw_read32_0 (int, hex, binary):  0 00000000 00000000000000000000000000000000
Read sw_read32_1 (int, hex, binary):  0 00000000 00000000000000000000000000000000
----
****
Test result: Fail
****

Then it succeeded the second time.

Executing test routine for OP_CODE_W_CFG_ARRAY_0, OP_CODE_R_CFG_ARRAY_0, OP_CODE_W_CFG_ARRAY_1, and OP_CODE_R_CFG_ARRAY_1
*************************************************************************************************************************
Starting register value sw_write32_0 = 754974719
Write to sw_write32_0: True. Wrote 570425343 and register reads 570425343. hex_list = ["4'h2", "4'h1", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Write to sw_write32_0: True. Wrote 754974719 and register reads 754974719. hex_list = ["4'h2", "4'hC", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Executing test routine for OP_CODE_W_CFG_ARRAY_0 and OP_CODE_R_CFG_ARRAY_0
--------------------------------------------------------------------------
Starting register value sw_write32_0 = 754974719
Write to sw_write32_0: True. Wrote 637534209 and register reads 637534209. hex_list = ["4'h2", "4'h6", "8'h0", "16'h1"]
Write to sw_write32_0: True. Wrote 654311425 and register reads 654311425. hex_list = ["4'h2", "4'h7", "8'h0", "16'h1"]
Expected value and actual read from sw_read32_0: 1 and 1 -> Pass
Expected value and actual read from sw_read32_1: 96 and 4192 -> Fail
  UPDATE: User asked to only check 12 bits of sw_read32_1: 96 and 96 -> Pass
Read sw_read32_0 (int, hex, binary):  1 00000001 00000000000000000000000000000001
Read sw_read32_1 (int, hex, binary):  4192 00001060 00000000000000000001000001100000
Sending OP_CODE_W_STATUS_FW_CLEAR to clean up.
Starting register value sw_write32_0 = 654311425
Write to sw_write32_0: True. Wrote 754974719 and register reads 754974719. hex_list = ["4'h2", "4'hC", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Expected value and actual read from sw_read32_0: 0 and 0 -> Pass
Expected value and actual read from sw_read32_1: 0 and 0 -> Pass
Read sw_read32_0 (int, hex, binary):  0 00000000 00000000000000000000000000000000
Read sw_read32_1 (int, hex, binary):  0 00000000 00000000000000000000000000000000
----
Executing test routine for OP_CODE_W_CFG_ARRAY_1 and OP_CODE_R_CFG_ARRAY_1
--------------------------------------------------------------------------
Starting register value sw_write32_0 = 754974719
Write to sw_write32_0: True. Wrote 671088641 and register reads 671088641. hex_list = ["4'h2", "4'h8", "8'h0", "16'h1"]
Write to sw_write32_0: True. Wrote 687865857 and register reads 687865857. hex_list = ["4'h2", "4'h9", "8'h0", "16'h1"]
Expected value and actual read from sw_read32_0: 1 and 1 -> Pass
Expected value and actual read from sw_read32_1: 384 and 4480 -> Fail
  UPDATE: User asked to only check 12 bits of sw_read32_1: 384 and 384 -> Pass
Read sw_read32_0 (int, hex, binary):  1 00000001 00000000000000000000000000000001
Read sw_read32_1 (int, hex, binary):  4480 00001180 00000000000000000001000110000000
Sending OP_CODE_W_STATUS_FW_CLEAR to clean up.
Starting register value sw_write32_0 = 687865857
Write to sw_write32_0: True. Wrote 754974719 and register reads 754974719. hex_list = ["4'h2", "4'hC", "11'h7ff", "1'h1", "1'h1", "5'h1f", "6'h3f"]
Expected value and actual read from sw_read32_0: 0 and 0 -> Pass
Expected value and actual read from sw_read32_1: 0 and 0 -> Pass
Read sw_read32_0 (int, hex, binary):  0 00000000 00000000000000000000000000000000
Read sw_read32_1 (int, hex, binary):  0 00000000 00000000000000000000000000000000
----
****
Test result: Pass
****
badeaa3 commented 2 months ago

Goal 1