**General theoretical benefits:**

- captures neural representation of arbitrarily complex objects (i.e. scalars, vectors, functions, vector fields, etc.)
- captures linear and nonlinear neural computations
- captures arbitrary neural dynamics (linear, nonlinear, time-varying, adaptive, etc.)
- unifies population and temporal coding
- quantitatively specified

**Neural modelling benefits:**

- analytically determines connection weights for models (this can be reversed; i.e. given weights, high-level transformations can be extracted)
- incorporates any available neural data (e.g., tuning curves, response functions, trasmitter/receptor types, anatomical constraints, etc.)
- appropriate regardless of single cell model (i.e. rate, spiking, full conductance based)
- arbitrary network topologies
- complexity of models is smoothly variable (i.e. single cells, population level, systems level)
- learning is not need to construct informative models, but can be included as desired
- means to test abstract hypotheses about neural function
- relates directly to recorded neural data (e.g. spikes, tuning curves, pooled spikes, fMRI signals (i.e. filtered spiking activity), LFP, EEG, etc.)

**Simulation benefits:**

- easily scales complexity to allow match to available hardware
- no learning is necessary (though allowed), permitting rapid model development
- GUI simulator freely available, with full scripting (Nengo)