---
description: Chapter 12
---

# 12. The neural engineering framework

One of the most significant steps in software design was the development of the compiler. The compiler translates and optimizes high-level instructions to machine code. It separates code from the underlying hardware such that high-level descriptions can be compiled to work on various hardware architectures, ideally, with no changes to the code itself. In the neuromorphic world, a neuro-compiler would translate a high-level description of a SNN into low-level neuron specifications. One framework which allows such compilation is Nengo, powered by the NEF. In this chapter, we will learn about the basics of the NEF and see how it can come to life with Nengo. This chapter’s didactic approach was inspired and modified (with permission) from the course notes for SYDE 556: Simulating Neurobiological Systems, offered by Chris Eliasmith at the University of Waterloo.

![Source: Bekolay et al. 2014](https://1487620879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiS7NytljlKs-2Yccqw%2F-Mj4lpzrESol7IVUiGI0%2F-Mj4mjUhz4CRX0C4ZGkH%2FScreen%20Shot%202021-09-08%20at%2017.23.34.png?alt=media\&token=65980d2d-e60c-438e-91cf-a937f0345677)

Introduction to Nengo:

{% embed url="https://www.youtube.com/watch?v=Lg7LJgd6Ra8&list=PLYLu6sY3jnoXTrkfA_WMn0nF_FGz-MaiJ&index=1" %}



