CN1 is the implementation of Neural models: LIF, ELIF, AELIF
CN2: implementing FullyConnectedPopulation class to build a neural population, then implementing classes FixedCouplingPopulation and GaussianFullyConnected that Inheritance from FullyConnectedPopulation class. after that, the class FullyConnected2Populations has been defined as inheritances from FullyConnectedPopulation to make a connection between two neuron populations. The class FixedCoupling2Populations and GaussianFullyConnected2Populations are defined with inheritance from the latter class. the generate_spike_data method is used to organize the spikes of te neurons.