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

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

11/11/24 - DNN debug #6 - First functional DNN success | PCB board too capacitive | coupling with scanLoad #40

Open bparpillon opened 2 days ago

bparpillon commented 2 days ago

Goals:

bparpillon commented 2 days ago

Random information to remember later when computing the DNN power: Occupancy is 1 hit per mm2 so we think the DNN will get a hit every 6.4MHz. This would help us determine the DNN power.

bparpillon commented 1 day ago

DNN glitches:

We observe DNN glitches befor, during after the injection pulse. See in yellow _dnnout<0> and in green _vintest We think dnn_output<0> is trying to go low during the injection but can't reach 0V because of the capacitive load. However, the glitches before and after the injection are unexplained:

Screenshot 2024-11-12 at 10 27 16 AM

Adding BxCLK plot in red, disconnecting vin_test in green from the ASIC board and using it to trigger the scope, we see that the before and after glitches are still there.

Screenshot 2024-11-12 at 10 31 12 AM

Replacing BXCLK with scanLoad - we see that dnn_output<0> strongly couples with dnn_output:

Screenshot 2024-11-12 at 10 32 18 AM

Couple of possible reasons:

  1. scanLoad couples directly to dnn_output in the test setup (ASIC board, cardboard, cables)
  2. scanLoad couples to the analog in the ASIC itself

This needs to be investigated

bparpillon commented 23 hours ago

Extract DNN board capacitance and simulate

In yellow we see dnn_output<1>, the ASIC output buffers are struggling to drive the load capacitance

Screenshot 2024-11-12 at 10 35 59 AM

The FW extracts eleven '1' for dnn_output<1> without the 10pF load from the scope, and it extracts 9 "1" with the scope. Meaning 10pF load costs us from 2.5ns to 5ns pulse width.

Screenshot 2024-11-12 at 10 36 55 AM

Simulation

Testbench Setup:

The input pulse is provided with the pwl source with a 100ns width The complete Buffer chain is copied from the chip The Load is based of a parametric PCB capacitance followed by a PAD model :

Screenshot 2024-11-12 at 11 10 47 AM

Here is the PAD model detail: L0 = 1nH C0 = 500fF Cpcb is parametric Cprobe=10pF

Screenshot 2024-11-12 at 11 12 24 AM

This give us the following result:

Screenshot 2024-11-12 at 11 07 01 AM

The time constant of the red plot associated with a PCB capacitance of 600pF matches what we see in the test stand.

We conclude the PCB capacitance is in the order of 600pF

bparpillon commented 22 hours ago

DNN position when there is no HITs:

I added one inference at the end of test 11 where no HITs are being sent to the DNN and we observe dnn_output<1:0> take the value '01', which exactly matches what we see in the test stands!

Screenshot 2024-11-12 at 11 40 32 AM
bparpillon commented 21 hours ago

DNN Patterns findings:

Screenshot 2024-11-12 at 12 52 25 PM