In [31]:
import pyNN.neuron as p
p.setup(timestep=0.1, quit_on_end=False)


Out[31]:
0

In [32]:
# presynaptic population(s)
in1 = p.Population(1, cellclass=p.SpikeSourcePoisson)
in1.set('rate', 20.)
in1.record()

in2 = p.Population(1, cellclass=p.SpikeSourcePoisson)
in2.set('rate', 30.)
in2.record()

In [26]:
# postsynaptic population
post1 = p.Population(1, cellclass=p.IF_cond_exp)
post1.record_v()
post1.record()

post2 = p.Population(1, cellclass=p.IF_cond_exp)
post2.record_v()
post2.record()

In [33]:
# connections
prj1 = p.Projection(in1, post1, target="excitatory", method=p.AllToAllConnector())
prj1.setWeights(0.001)

prj2 = p.Projection(in2, post2, target="excitatory", method=p.AllToAllConnector())
prj2.setWeights(0.001)

In [34]:
# run sim
p.reset()
p.run(1000)


Out[34]:
999.9999999996382

In [35]:
# get recordings
vdat1 = post1.get_v()
vdat2 = post2.get_v()

time = vdat1[:,1]
V1 = vdat1[:,2]
V2 = vdat2[:,2]

in1_spikes = in1.getSpikes()
in2_spikes = in2.getSpikes()

post1_spikes = post1.getSpikes()
post2_spikes = post2.getSpikes()

In [36]:
# plot
subplot(2,1,1)
plot(time, V1)
vlines(in1_spikes[:,1], -65.1, -65)
ylabel('post1: V[mV]')

subplot(2,1,2)
plot(time,V2)
vlines(in2_spikes[:,1], -65.1, -65)
xlabel('time [ms]')
ylabel('post2: V[mV]')


Out[36]:
<matplotlib.text.Text at 0x5127e50>

In [ ]: