QDI ASYNCHRONOUS 4-BIT MOLECULAR PROCESSOR — FORMAL VALIDATION REPORT
Date: 2026-09-15

PHYSICAL PARAMETERS
  I_L = 1.89 mA   I_M = 5.01 mA   I_H = 14.27 mA
  Branch-node attenuation per node = 0.95^n

DERIVED METRICS
  I_ON/I_OFF = I_H/I_L = 7.550
  SNM_Low  = I_M - I_L = 3.12 mA
  SNM_High = I_H - I_M = 9.26 mA

HANDSHAKE SUMMARY (each cycle models one completed 4-phase handshake: Req -> Ack)
  Test 1: Req issued = 9, Ack received = 9, HALT at cycle 9
  Test 2: Req issued = 3, Ack received = 3, HALT at cycle 3
  Deadlock: NO

TEST PROGRAM 1 — multiply 3 x 5 by repeated addition
  IMEM = ['0x1c', '0x30', '0xc8', '0xb9', '0xff'] ; Reset: PC=0, R0=1, R1=3, R2=5, R3=0, flags=0
cyc PC instr mnemonic       BusA BusB  ALU R0 R1 R2 R3 C Z N V br next
----------------------------------------------------------------------
  1  0 0x1C ADD R3,R2         5    0    5  1  3  5  5 0 0 0 0  0    1
  2  1 0x30 SUB R1,R0         1    3    2  1  2  5  5 0 0 0 0  0    2
  3  2 0xC8 JNZ R0            1    0 None  1  2  5  5 0 0 0 0  1    1
  4  1 0x30 SUB R1,R0         1    2    1  1  1  5  5 0 0 0 0  0    2
  5  2 0xC8 JNZ R0            1    0 None  1  1  5  5 0 0 0 0  1    1
  6  1 0x30 SUB R1,R0         1    1    0  1  0  5  5 0 1 0 0  0    2
  7  2 0xC8 JNZ R0            1    0 None  1  0  5  5 0 1 0 0  0    3
  8  3 0xB9 ST Mem[R0],R3     1    5    5  1  0  5  5 0 1 0 0  0    4
  9  4 0xFF HALT              0    0 None  1  0  5  5 0 1 0 0  0    5
  Final: R3 = 5, Mem[R0] = 5  =>  3 x 5 = 15  PASS

TEST PROGRAM 2 — addition with carry branch
  IMEM = ['0x4', '0xcc', '0xff', '0xff'] ; Reset: PC=0, R0=3, R1=9, R2=9, R3=0, flags=0
cyc PC instr mnemonic       BusA BusB  ALU R0 R1 R2 R3 C Z N V br next
----------------------------------------------------------------------
  1  0 0x04 ADD R1,R2         9    9    2  3  2  9  0 1 0 0 1  0    1
  2  1 0xCC JC R0             3    0 None  3  2  9  0 1 0 0 1  1    3
  3  3 0xFF HALT              0    0 None  3  2  9  0 1 0 0 1  0    4
  Final: result (R1) = 2, C = 1, Z = 0, N = 0, V = 1
  After 9 + 9: result = 2, C = 1, V = 1, JC taken  =>  PASS

BRANCH-NODE ATTENUATION AND REGENERATION
  n=0:  14.270 mA
  n=1:  13.556 mA
  n=2:  12.879 mA
  n=3:  12.235 mA
  n=4:  11.623 mA
  n=5:  11.042 mA
  n=6:  10.490 mA
  n=7:   9.965 mA
  n=8:   9.467 mA
  After regeneration, level restored to full I_H = 14.27 mA

4-BIT BUS CURRENT MAP (each logic-1 bit contributes I_H * 0.95^2)
  value  0 (0b0000):   0.000 mA
  value  1 (0b0001):  12.879 mA
  value  2 (0b0010):  12.879 mA
  value  3 (0b0011):  25.757 mA
  value  4 (0b0100):  12.879 mA
  value  5 (0b0101):  25.757 mA
  value  6 (0b0110):  25.757 mA
  value  7 (0b0111):  38.636 mA
  value  8 (0b1000):  12.879 mA
  value  9 (0b1001):  25.757 mA
  value 10 (0b1010):  25.757 mA
  value 11 (0b1011):  38.636 mA
  value 12 (0b1100):  25.757 mA
  value 13 (0b1101):  38.636 mA
  value 14 (0b1110):  38.636 mA
  value 15 (0b1111):  51.515 mA

OUTPUT FILES
  /mnt/data/qdi_asm_test_trace.png
  /mnt/data/qdi_fano_current_map.png
