
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 |