SpiNNaker: Design and Implementation of a GALS Multicore System-on-Chip

The design and implementation of globally asynchronous locally synchronous systems-on-chip is a challenging activity. The large size and complexity of the systems require the use of computer-aided design (CAD) tools but, unfortunately, most tools do not work adequately with asynchronous circuits. This article describes the successful design and implementation of SpiNNaker, a GALS multicore system-on-chip. The process was completed using commercial CAD tools from synthesis to layout. A hierarchical methodology was devised to deal with the asynchronous sections of the system, encapsulating and validating timing assumptions at each level. The crossbar topology combined with a pipelined asynchronous fabric implementation allows the on-chip network to meet the stringent requirements of the system. The implementation methodology constrains the design in a way that allows the tools to complete their tasks successfully. A first test chip, with reduced resources and complexity was taped-out using the proposed methodology. Test chips were received in December 2009 and were fully functional. The methodology had to be modified to cope with the increased complexity of the SpiNNaker SoC. SpiNNaker chips were delivered in May 2011 and were also fully operational, and the interconnect requirements were met.

[1]  Stephen B. Furber,et al.  Chain: A Delay-Insensitive Chip Area Interconnect , 2002, IEEE Micro.

[2]  Tobias Bjerregaard,et al.  A survey of research and practices of Network-on-chip , 2006, CSUR.

[3]  Steve Furber,et al.  An On-Chip and Inter-Chip Communications Network for the SpiNNaker Massively-Parallel Neural Net Simulator , 2008 .

[4]  Steve B. Furber,et al.  Modeling Spiking Neural Networks on SpiNNaker , 2010, Computing in Science & Engineering.

[5]  Eby G. Friedman,et al.  System Timing , 2000, The VLSI Handbook.

[6]  Luis A. Plana,et al.  Adaptive admission control on the SpiNNaker MPSoC , 2009, 2009 IEEE International SOC Conference (SOCC).

[7]  Luis A. Plana,et al.  A GALS Infrastructure for a Massively Parallel Multiprocessor , 2007, IEEE Design & Test of Computers.

[8]  Natalie D. Enright Jerger,et al.  Outstanding Research Problems in NoC Design: System, Microarchitecture, and Circuit Perspectives , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Steve B. Furber,et al.  An On-Chip and Inter-Chip Communications Network for the SpiNNaker Massively-Parallel Neural Net Simulator , 2008, Second ACM/IEEE International Symposium on Networks-on-Chip (nocs 2008).

[10]  William B. Toms,et al.  Delay-insensitive, point-to-point interconnect using m-of-n codes , 2003, Ninth International Symposium on Asynchronous Circuits and Systems, 2003. Proceedings..

[11]  Fabien Clermidy,et al.  A fully-asynchronous low-power framework for GALS NoC integration , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[12]  Marly Roncken,et al.  Asynchronous on-Chip Communication: Explorations on the Intel PXA27x Processor Peripheral Bus , 2007, 13th IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC'07).

[13]  Luciano Lavagno,et al.  Design Automation of Real-Life Asynchronous Devices and Systems , 2007, Found. Trends Electron. Des. Autom..

[14]  Tom Verhoeff,et al.  Delay-insensitive codes — an overview , 1988, Distributed Computing.

[15]  Alex Kondratyev,et al.  Design of Asynchronous Circuits Using Synchronous CAD Tools , 2002, IEEE Des. Test Comput..

[16]  Steven M. Nowick,et al.  ACM Journal on Emerging Technologies in Computing Systems , 2010, TODE.

[17]  Christos P. Sotiriou Implementing asynchronous circuits using a conventional EDA tool-flow , 2002, DAC '02.

[18]  Wolfgang Fichtner,et al.  On the GALS design methodology of ETH Zurich , 2003 .

[19]  Andrew Lines,et al.  Asynchronous interconnect for synchronous SoC design , 2004, IEEE Micro.