Skip to content

Open-source part of the TENNLab Exploratory Neuromorphic Framework

License

Notifications You must be signed in to change notification settings

TENNLab-UTK/framework-open

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

framework-open

Open-source part of the TENNLab Exploratory Neuromorphic Framework

Points of Contact: James S. Plank, Catherine D. Schuman, Charles P. Rizzo.


What This Repo Contains

This repo contains the following:

  • Simulator for the RISP neuroprocessor.
  • network_tool: A command-line tool for creating and manipulating spiking neural networks, including those for the RISP neuroprocessor.
  • processor_tool_risp: Command-line tool for simulating the RISP neuroprocessor running networks.
  • Spiking neural network format definition.
  • C++ Network class with supporting methods for creating and manipulating networks.
  • C++ Processor interface, for applications (like the processor_tool) that employ spiking neural networks and neuroprocessors. The RISP simulator implements this interface, but the inteface allows for multiple neuroprocessor implementations.

The RISP Neuroprocessor

This is an extremely simple spiking neuroprocessor. It features leaky integrate-and-fire neurons and synapses with integer delays. Its simplicity facilitates efficient implementations, and there are implementations for RISP in CPU simulation, microcontrollers, and FPGA's. Here are some links about RISP:


Getting Started

To get started with this repo, please do one or both of:

  • Go through the Getting Started markdown file. This has a step-by-step walkthrough of using the various tools in this repo.
  • Watch the Getting Started video. This is a video where I go through the Getting Started markdown file. This allows you to go through the steps of learning this software with me explaining as we go.

After that, you should:

  • Go through the Network Tool markdown file (which has its own video).
  • Go through the RISP markdown file (which also has its own video).

By the end of this exercise, you should be equipped with the know-how and tools to start creating and running your own RISP networks, and to start exploring embedded applications with the Open-Source FPGA Implementation of RISP.

Also, you may want to try vrisp, as its simulator is faster than the original RISP simulator.


Additional Examples


Documentation

In addition to the material above, documentation of everything in this repo is in the markdown directory. You can typically find what you want there, including information on C++ support if you want to leverage this software from C++.


"I don't want to touch C++"

You don't have to.

Although all of the code in this repo is written in C++, your two main tools, the network_tool and processor_tool, are command-line tools. You may interact with them as command-line programs, and they fit really well with shell scripts and other programming environments. So please go through "Getting Started" below -- you don't have to touch any C++.

Now, there is C++ support for network manipulation and for the RISP neuroprocessor. I suspect the users for this support are rare, but it is there, and we have it documented.


Support for Python

We would welcome a contribution of python support for this software. With the rest of our software corpus, we use python bindings so that our researchers may do work in either python or C++. Over time, we will provide that here, but we would also very much welcome that contribution from the community.

About

Open-source part of the TENNLab Exploratory Neuromorphic Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •