The point of this circuit is to detect spikes and measure the time interval between them. My code uses delta_t to measure the time. If a pres-synaptic spike happens, if no spike was detected before, my pre_spike_detected signal is set to 1 and delta_t is set to. If there has been a post synaptic spike, and post_spike_detected has been triggered, delta_t decrements to measure the time difference. Delta_t accumulates otherwise.
If pre_spike_detected and post_spike_detected are both high, both spikes have been detected and the sign of delta_t is used to determine if depression or potentiation should occur. I used a trace to model the exponential behavior of STDP. I modified the trace depending on whether it was necessary to depress or potentiate the weight. I also included edge cases to ensure the newly calculated weight doesn't cause overflow.
I am stil working on it.
N/A
# | Input | Output | Bidirectional |
---|---|---|---|
0 | Input Current Bit [0] | State Variable bit[0] | |
1 | Input Current Bit [1] | State Variable bit[1] | |
2 | Input Current Bit [2] | State Variable bit[2] | |
3 | Input Current Bit [3] | State Variable bit[3] | |
4 | Input Current Bit [4] | State Variable bit[4] | |
5 | Input Current Bit [5] | State Variable bit[5] | |
6 | Input Current Bit [6] | State Variable bit[6] | |
7 | Input Current Bit [7] | State Variable bit[7] | Spike bit |