lava icon indicating copy to clipboard operation
lava copied to clipboard

Fixed-point LIF ProcModel not bit-accurate to Loihi after spike

Open mathisrichter opened this issue 3 years ago • 2 comments

Objective of issue: The "bit-accurate" ProcessModel of the LIF Process is not actually bit-accurate with respect to the hardware implementation on Loihi. After a spike, the voltage is reset to 0, whereas on the hardware it is reset to 128.

Lava version:

  • [x] 0.4.0 (current version)

I'm submitting a ...

  • [x] bug report
  • [ ] feature request
  • [ ] documentation request

Current behavior:

  • Voltage is reset to 0 after spike.

Expected behavior:

  • Voltage is reset to 128 after spike.

Steps to reproduce:

Related code:

insert short code snippets here

Other information:

insert the output from lava debug here

mathisrichter avatar Jul 25 '22 16:07 mathisrichter

I believe that this is just a reporting difference. The internal (hidden) states should be the same. You can confirm this by looking at when subsequent spikes occur.

JuliaA369 avatar Sep 09 '22 12:09 JuliaA369

The state of the voltage on Loihi is in fact 128 after a spike. As you are correctly pointing out, that initial voltage does not have an impact on its later evolution.

I think this behavior should still be reflected in the Python ProcessModel to enable easy comparison between results from hardware and simulation.

mathisrichter avatar Sep 15 '22 08:09 mathisrichter