SNNL: A Programming Language for SNN Development - Xing, Qinghui; Li, Zirun; Li, Ying; Dustdar, Schahram; Du, Xin; Pan, Gang; Deng, Shuiguang (IEEE intelligent systems, 2025)
Spiking Neural Networks (SNNs) are gaining attention for biological plausibility and energy efficiency. Advances in neuromorphic systems-integrating hardware and software tools-accelerate SNN implementation. Yet, deploying SNNs on such platforms remains challenging due to model complexity and system heterogeneity, requiring flexible frameworks. Existing tools (e.g., PyNN, Brian2) show limited expressiveness for neuromorphic applications or poor cross-platform support. This paper proposes SNNL, a flexible domain-specific language for SNN development and deployment on neuromorphic hardware. SNNL decouples neuronal dynamics modeling from network topology specification: equation-based representations handle diverse neuron/synapse models, while hierarchical constructs define complex connectivity patterns. We present a Darwin3-targeted compiler with efficient code generation. Evaluations confirm SNNL achieves precise neuronal dynamic descriptions and flexible network configurations. This work bridges algorithm-hardware gaps in neuromorphic computing by enhancing programmability. Experimental results have demonstrated the feasibility of SNNL in developing SNNs for neuromorphic systems.