With the neural network ASIC HAGEN closely connected to a programmable high speed FPGA, large amount of DDR memory and a commercial 300 MHz PowerPC CPU running Linux, one NATHAN module builds a complete, highly integrated platform to experiment with hardware neural networks. The software part of the training algorithms runs on the PPC ASIC inside the FPGA, while the Evolution Coprocessor is implemented using FPGA resources. Therefore, the software can directly access the hardware accelerated part of the training algorithms inside the FPGA. This results in a great improvement compared to the first testsystem with the DARKWING PCI board, where the PCI bus is a bottleneck between the software running on a PC and the HAGEN ASIC on a daughtercard. Using a standard Linux system on NATHAN, the HANNEE software framework developed by our group can be used without major modifications.
Simplified schematic showing shared memory and neural network data being routed inside the FPGA and passed through the gigabit transceivers
One fully equipped backplane of the distributed HAGEN setup consists of up to 16 NATHAN modules. To build up larger networks, each module is directly connected to 4 other modules on the same backplane with the 4 high speed 3.125 Gbit/s duplex serial links of the Xilinx FPGAs. The remaining modules of the backplane can be reached by routing the data via a maximum of 4 hops. To increase the amount of NATHAN boards used in the distributed HAGEN setup, several backplanes can be connected together by using FPGAs with 8 transceivers on one or more NATHAN modules. The resulting multi gigabit network transports the neural network data between the HAGEN chips of different NATHAN modules, which will result in a very large high speed artificial neural network. The routing and data forwarding is done by logic inside the FPGA and thus freely programmable which allows to experiment with different logical network topologies.
Neural network topology of a Backplane fully equipped with 16 NATHAN boards
The network is also used to implement a shared memory protocol between the modules leading to a large virtual memory structure which can be accessed from every PowerPC and any Coprocessors inside the FPGA of a NATHAN module. Using the flexibility of Linux, other protocols like TCP could be implemented above the underlying network. This results in a convenient way to connect the parts of the software running on the different boards.
The whole Distributed HAGEN setup leads to a very fast and scalable system, which can be used to do a wide range of experiments with artificial neural networks. Depending on the algorithms, one HANNEE software running on a local PowerPC could train a network of several HAGEN ASICs, but also each software can only train its own chip locally or even more complex training algorithms can be implemented to train only a few neural network chips with lots of CPUs used.
Having daughter card connectors available on each NATHAN module, it can also be equipped with other ASICs for totally different applications which need high connectivity, e.g. the FTPA chip, or future neural network chips. Therefore, the system is already prepared for the research with the next generation of neural network chips using Spiking Neurons.
Schematic routing example of shared memory data (yellow), neural network data (red, blue) and forwarded connections (orange)