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 1 week ago

bparpillon commented 1 week ago

Goals:

bparpillon commented 1 week 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 week 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 1 week 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 1 week 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 1 week ago

DNN Patterns findings:

Screenshot 2024-11-12 at 12 52 25 PM