Tutorial: Visual SNN Studio Quickstart¶
This tutorial walks through the complete Studio workflow: browse neuron models, design a network, train it, compile to Verilog, and estimate FPGA resources — all from a browser.
Time: 10 minutes
Prerequisites: pip install sc-neurocore[studio]
1. Launch the Studio¶
Bash
sc-neurocore studio
Your browser opens at http://127.0.0.1:8001/studios/sc-neurocore/. The
interface starts in Models mode with the first of 185 neuron models
selected and a live voltage trace displayed.
2. Explore Neuron Models¶
The left panel lists all models by category. Click any model to load it:
- Click AdExNeuron — an adaptive exponential integrate-and-fire model
- Adjust the current slider (parameter sliders, left panel) to 15.0 nA
- Watch the trace update live — you should see adaptation: initial burst followed by regular tonic spiking
- Click Characterize (Analyse group) to run a one-click characterisation
- The Characterization view shows: firing pattern, f-I curve, top sensitivities
3. Compare Models¶
- Open the Multi-model view (Neuron group of the view switcher)
- Select 2-3 models from the multi-model picker (left panel):
- StochasticLIFNeuron (simple, fast)
- AdExNeuron (adaptive)
- HodgkinHuxleyNeuron (biophysical)
- All traces overlay in one plot for direct comparison
4. Write a Custom ODE¶
- Switch the source to ODE (the Models / ODE switch at the top)
- Select the Hodgkin-Huxley template from the dropdown
- The Monaco editor shows the four coupled ODEs
- Adjust parameters via sliders — tau_m, C, E_L
- Choose a parameter in Sweep X, open the Bifurcation view and click Run async analysis to generate a bifurcation diagram
5. Design a Network¶
- Open the Network canvas view (Network group)
- Click + Exc to add an excitatory population (80 neurons)
- Click + Inh to add an inhibitory population (20 neurons)
- Drag from the excitatory node handle to the inhibitory node to create a projection
- Drag from inhibitory back to excitatory for reciprocal inhibition
- Click Simulate — the status bar shows spike count and firing rates
6. Train with Surrogate Gradients¶
- Open the Training view (Research group)
- Set dataset to Synthetic (fast, for demo)
- Set epochs to 5, surrogate to atan_surrogate
- Click Train in the training panel
- Watch loss and accuracy curves update live as each epoch completes
- Layer spike rate bars show activity per spiking layer
- Click Stop to abort early if needed
7. Compile to Verilog¶
- Switch to ODE mode
- Select the LIF template
- Click Build IR — the Compiler Inspector shows the SC Intermediate Representation with a verification badge
- Click Emit SystemVerilog — SystemVerilog source appears in the right pane
- This Verilog is synthesisable — it maps the ODE to Q8.8 fixed-point hardware
8. Synthesise to FPGA¶
- Open the FPGA synthesis view (Code and hardware group)
- Select target: ice40 (iCE40 UP5K)
- Click Synthesise (requires Yosys installed)
- Resource bars show LUT, FF, BRAM, DSP utilisation
- Click All Targets for a side-by-side comparison across all 4 targets
- If Yosys is not installed, click Estimate for a heuristic from the IR
9. Full Pipeline¶
- Go back to the Network canvas view
- With your network designed, click Pipeline → ICE40
- The pipeline chains: validate → simulate → lower → co-simulate → synthesise, and builds hardware only for a network it can reproduce (LIF and perfect integrator populations with constant drive); anything else is refused with every reason
- The result under the canvas shows the step it ended at and what the co-simulation of the RTL established
10. Save Your Work¶
- In the left sidebar under Projects, click Save
- Enter a project name
- The entire state — equations, parameters, network graph, synthesis target — is saved as JSON on the server
- Click Refresh to see saved projects, click a name to restore
What's Next¶
- Studio Guide — full API reference, all 18+ views, protocols
- Synthesis Dashboard — FPGA targets, multi-target details
- Training Monitor — surrogates, cell types, SSE streaming
- Network Canvas — NIR format, population/projection API
- Integration — pipeline details, project storage format