WriteSRAM in libfpgaspikegen

28 views
Skip to first unread message

Joseph Nunn

unread,
Mar 23, 2018, 4:03:48 PM3/23/18
to dynapse-users
Hello,

I'm working on a project in Emre's lab, and we believe we've discovered an interesting property of using WriteSRAM option of libfpgaspikegen.  Clicking this checkbox appears to not write over the SRAM, but instead appends the StimFile to the end of the SRAM contents, truncating what won't fit.  It would appear the only way to truly reset the SRAM is to power down the Dynapse by unplugging the usb cable and power it back up.

We we love to understand how writing to the SRAM works, and is supposed to work.  Can anyone give us some info?

Thanks!

Joseph

carsten.nielsen

unread,
Mar 24, 2018, 7:39:39 AM3/24/18
to dynapse-users
I am not able to reproduce this issue. Could you walk me through exactly how you are using the module controls from cAER? If the base address is set, whatever follows that address will be overwritten when you write to the SRAM. Truncating what does not fit also should not happen, if there is too much data in the stim file, the FPGA will loop around and fill the SRAM from address 0.

Are you using interspike intervals larger than 2^16-1 by any chance? That will cause undefined behaviour.

Cheers,
Carsten

Joseph Nunn

unread,
Mar 24, 2018, 11:59:52 AM3/24/18
to dynapse-users
Hello Carsten,

Thanks for the prompt response!  I am traveling for the next couple of days, but I will return on Tuesday and see if I can put together an example for you.  I will check the base address, and its great to have some insight on what happens when writing the SRAM.

In short I write one2one connections between my virtual input, a rotating bar, and the output neurons on the dynapse.  Then I load a StimFile using libfpgaspikegen, and given a parameter regime that works, you will see the rotating bar on spikeView, or at least you should.  Instead sometimes you would only see the rotation through certain angles, not 360 degrees, which would be consistent with the StimFile being truncated.  Sometimes it would seem the connection mapping table also didn't load properly, not sure if that was causing the error we saw.

I will have to get back to you next week about the rest,

Joseph
Reply all
Reply to author
Forward
0 new messages