## Neural network processor: a vehicle for teaching system design

Introduction

The ECAD Initiatives in the UK and the more extensive EuroChip program have provided new opportunities for higher education establishments throughout Europe to use high quality, sophisticated commercial CAD software for training purposes. Although most participating institutions have exploited these to improve training on VLSI design, the possibilities of using the tools for enhancing system level design teaching is often overlooked. One perspective of IC design is that the resulting chip is merely part of a system. However the sophistication of modern IC CAD software allows students to design a fairly complex system around one or more integrated circuits, fully validate the system using a hardware description language and fast digital simulators, and evaluate their test pattern with fault simulators, all done without having built any actual hardware.

In this paper we describe our experience in teaching system design by means of a six week long full-time project, undertaken by a group of 33 second-year students on the information system engineering (ISE) course. The task undertaken in the project was to design a self learning neural network system based on multilayer perceptrons to solve simple classification problems. In the short duration of six weeks, students acquired the necessary skills to use the design tools, learned some basic theories on neural networks, and tackled a reasonably large project in a group.

The inspiration of the project arose from a previous project of the same kind [l]. The project enabled us to evaluate the following issues:

(i) Because half the students used Cadence’s Edge with ES2’s Solo library, and the other half used Mentor Graphics’ Genesil, we are able to compare directly the two major CAD systems available from the EuroChip program. In particular, we can analyse their suitability for teaching at this level.

(ii) We can evaluate the effectiveness of using CAD tools, not for supporting VLSI teaching directly, but as a vehicle with which to bring together the various aspects of electronics and computing.

(iii) We can assess the value of teaching via technical group projects of reasonable complexities at the second year level. To achieve our goal of bringing together the various subjects that the students had learned in their courses, we

had to choose a project which demanded a knowledge of computer architecture, digital design, algorithms and

software. At the same time we needed to choose a suffciently interesting problem to motivate and enthuse the

students. The project chosen was to design a neuralnetwork processor in a multiprocessor environment to solve a simple classification problem and a simple game. The neural-network architecture chosen was based on multilayer perceptrons [2] as shown in Fig. 1. To simplify the problem, we assume that only three layers are used, that each processor forms one neuron in the network, and that the maximum number of neurons is 255. The learning algorithm chosen is based on backpropagation of errors [3]. Fig. 2 describes the backpropagation training algorithm in the form of a pseudocode. The following general observations can be made about the algorithm:

(i) Normal operation of the neuron after training is identical to the forward propagation section of the training algorithm.

(ii) Multiplications and additions are the only arithmetric operators needed.

(iii) Two nonlinear functions, tanh and sech’ are also required.

All the neurons are controlled by a central host computer via a global bus as shown in Fig. 3. All communications are via this global broadcast bus which contains an 8 bit neuron (or host) address which is referred to as the tag,and a 16 bit data address Bus arbitration is achieved using a-3-wire handshake with daisy chain. The detailed interchip communication protocol was left to the students to design.

Tags :