Bio-inspired Self-Testing and Self-Organizing Bit

Logic Systems Laboratory, INN-Ecublens, CH-1015 Lausanne, Switzerland ..... Three S molecules computing the sum output of a 1-bit adder. • One D molecule ...
299KB taille 4 téléchargements 151 vues
2009 International Conference on Reconfigurable Computing and FPGAs

Bio-Inspired Self-Testing and Self-Organizing Bit Slice Processors Andr´e Stauffer Ecole polytechnique f´ed´erale de Lausanne (EPFL) Logic Systems Laboratory, INN-Ecublens, CH-1015 Lausanne, Switzerland [email protected] Jo¨el Rossier Haute Ecole d’Ing´enierie et de Gestion (HEIG-VD) Route de Cheseaux 1, CH-1401 Yverdon-les-Bains, Switzerland [email protected]

Abstract

on a minimal slice. The simulations of Section 4 apply these mechanisms in the building and maintaining of a multiplier made up of three slices. A brief conclusion (Section 5) summarizes our paper and opens new research avenues.

Inspired by the basic processes of molecular biology, our previous studies resulted in defining self-testing and selforganizing mechanisms made up of simple processes. The goal of our paper is to introduce a configurable molecule able to implement these bio-inspired mechanisms as well as their underlying processes. The hardware description of the molecule leads to the simulation of a multiplier designed as a one-dimensional organism dedicated to bit slice processors.

1

2 2.1

Configuration layer

Our bio-inspired circuits are designed as twodimensional arrays of configurable molecules. Each molecule of these arrays is made up of a configuration layer and an application layer. The configuration layer, which implements the self-testing mechanisms and the self-organizing mechanisms as well as their constituting processes [5], results from the interconnection of the following resources (Fig. 1):

Introduction

Borrowing the structural principles from living organisms, we have already shown how to grow cellular systems thanks to an algorithm for cellular division [3]. These cellular systems are endowed with bio-inspired properties like test, configuration, cicatrization, and regeneration. In a previous work [4], the configuration mechanisms (structural and functional growth), the cicatrization mechanism (cellular self-repair), and the regeneration mechanism (organismic self-repair) were already devised as the result of simple processes like growth, load, repair, reset, and kill. In order to design bit slice processors, the goal of this paper is to define a configurable molecule implementing these processes to perform the self-testing and self-organizing bio-inspired mechanisms. Starting with the detailed architecture of the configurable molecule, Section 2 will point out how bit slice processors represent a perfect example of bio-inspired circuits. We introduce then digital simulations, based on the hardware description of the configurable molecule (Section 3), in order to perform the self-testing and self-organizing mechanisms 978-0-7695-3917-1/09 $26.00 © 2009 IEEE DOI 10.1109/ReConFig.2009.10

Configurable molecule

• An input multiplexer DIMUX, selecting one out of the four northward N DI, eastward EDI, southward SDI or westward W DI configuration input data. • A 2-level stack organized as 18 genotypic registers R1 to R18 (for mobile configuration data), and 18 phenotypic registers R19 to R36 (for fixed configuration data). • An output buffer DOBUF producing the configuration output data DO. • An encoder ENC for the northward N SI, eastward ESI, southward SSI, and westward W SI input signals. • A decoder DEC defining the mode and the type of the molecule. 427

• A register I for the memorization of the input selection.

NAI EAI SAI WAI RO

• A register S for the transmission of the signals. • A register M for the molecular modes (Fig. 4a-e).

AOMUX

NRI ERI SRI WRI AO

• A generator GEN producing the northward N SO, eastward ESO, southward SSO, and westward W SO output signals.

NSI ESI SSI WSI

DI R1:18

DIMUX

R19:36 DOBUF

2.3

DO

Bit slice processors

I ENC

S

DEC

R17 R35 R36 WSI

GEN

Bit slice processors represent a perfect example of application for bio-inspired circuits. They are made up of identical slices and can be seen as multicellular organisms made up of identical cells. Each slice computes at least one data bit and corresponds to a cell made up of configurable molecules. The minimal cell consists of two rows of three molecules with two columns of living molecules dedicated to the slice specifications to the left and one column of spare molecules to the right (Fig. 3a). The minimal multicellular organism is made up of two identical cells and represents a bit slice processor computing at least two data bits (Fig. 3b). Such an organism allows self-repair at the cellular level. The minimal population, made up of a living organism to the left and a spare one to the right (Fig. 3c), allows self-repair at the organismic level. The corresponding modes and types, identifying the state of the molecule and its contribution to the boundaries of the cell, are shown in Fig. 4.

NSO ESO SSO WSO

T

Figure 1. Detailed architecture of the configuration layer of the molecule.

2.2

ROMUX

NRO ERO SRO WRO RO

Figure 2. Detailed architecture of the application layer of the molecule.

M

R35

AO

DFF

• A register T for the molecular types (Fig. 4f-n).

NDI EDI SDI WDI

LUT

AIMUX

Application layer

The application layer, which implements the logic design of the application under development as well as its routing connections between neighboring and distant molecules, results from the interconnection of the following resources (Fig. 2): • An input multiplexer AIMUX, selecting four inputs out of the four northward N AI, eastward EAI, southward SAI, westward W AI application data, and the routing data RO.

(a)

• A 16-bit look-up table LUT.

(b)

(c)

Figure 3. Bit slice processor. (a) Minimal cell made up of six molecules. (b) Minimal organism made up of two cells. (c) Minimal population made up of two organisms.

• A D-type flip-flop DFF for the realization of sequential circuits. • An output multiplexer AOMUX selecting the combinational or the sequential data as application output AO.

3

• An output multiplexer ROMUX selecting the five outputs N RO, ERO, SRO, W RO, and RO out of the four northward N RI, eastward ERI, southward SRI, westward W RI routing input data, and the application output data AO.

3.1

Bio-inspired mechanisms Configuration test

Performed on a given array of molecules, the purpose of the configuration test mechanism is to kill all the columns 428

(f)

(g)

(a)

(b)

(c)

(d)

(e)

(h)

(i)

(j)

(k)

(l)

(m)

lower left molecule and propagates reset signals eastward and northward in order to destroy the datapaths built among the healthy molecules (Fig. 5h-k). This tissue, comprising now one column of dead molecules, is ready for being configured.

(n)

Figure 4. Molecular modes. (a) Living. (b) Spare. (c) Faulty. (d) Repair. (e) Dead. Molecular types. (f) Internal. (g) Top. (h) Top-left. (i) Left. (j) Bottom-left. (k) Bottom. (l) Bottomright. (m) Right. (n) Top-right.

3.2

The goal of the structural configuration mechanism is to define the boundaries of the cell as well as the living mode or spare mode of its constituting molecules. This mechanism is made up of a growth process followed by a load process. The growth process starts when an external growth signal is applied to the lower left molecule of the cell. This molecule selects the eastward data input (Fig. 6a) and according to the structural configuration data or structural genome, each molecule of the cell generates then successively an internal growth signal and selects an input in order to create a datapath among the molecules of the cell (Fig. 6a-f). When the connection path between the molecules closes (Fig. 6g), the lower left molecule delivers a close signal to the nearest left neighbor cell. The structural configuration data is now moving around the datapath and ready to be transmitted to neighboring cells.

of molecules having at least a faulty one among them. A molecule is faulty when the shift operation performed by its configuration registers, the genotypic registers R1 to R16 as well as the phenotypic registers R17 to R36 (Fig. 1), presents an incorrect behavior. The configuration test mechanism is made up of a growth process followed by a kill process for each detected error and finally a reset process. Executed using growth signals and according to a predefined test configuration string, the growth process starts the building of tree shaped datapaths all over the array until a faulty molecule is detected (Fig. 5a-b). The building of the datapaths resumes after the death of the second left column of molecules (Fig. 5e-g).

(a)

(e)

(i)

(b)

(f)

(j)

(c)

(g)

Structural configuration

(d)

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

(j)

(h)

(k)

Figure 5. Configuration test mechanism. (ab,e-g) Growth process. (c-d) Kill process. (hk) Reset process.

Figure 6. Structural configuration mechanism. (a-f) Growth process. (g-j) Load process.

As soon as a malfunction of its configuration registers occurs, the molecule enters the dead mode and sends kill signals northward and southward in order to trigger the death of the whole column of molecules. Fig. 5c-d illustrates the kill process involved in the configuration test mechanism by the incorrect behavior of the second lower left molecule. At the end of the growth process, all the molecules of any column having at least a faulty one are dead. Performed on the array resulting from the malfunction of the second lower left molecule, the reset process starts from the

The load process is triggered by the close signal applied to the lower right molecule of the cell. A load signal propagates then westward and northward through the cell (Fig. 6g-j) and each of its molecules acquire a molecular mode and a molecular type (Fig. 4). We finally obtain an homogeneous array of molecules defining both the boundaries of the cell and the position of its living mode and spare mode molecules (Fig. 6j). This array is ready for being configured by the functional configuration data. 429

3.3

Functional configuration

The goal of the functional configuration mechanism is to store in the homogeneous array, which already contains structural data (Fig. 6j), the functional data needed by the specifications of the current application. This mechanism is a growth process, performed only on the molecules in the living mode while the molecules in the spare mode are simply bypassed. It starts with an external growth signal applied to the lower left living molecule. According to the functional configuration data or functional genome, the living molecules then successively generate an internal growth signal, select an input, and create a path among the living molecules of the cell (Fig. 7a-e). The functional configuration data is now moving around the datapath and ready to be transmitted to neighboring cells.

(a)

(b)

(c)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

Figure 8. Control test mechanism. (a-c) Reset process. (d-h) Growth process.

3.5

Processing test

The processing test mechanisms are introduced in order to repair a cell having molecules that present an incorrect behavior at the functional application level. Depending on the number of faulty molecules in a same row between two spare columns, the processing test mechanism results respectively in a cicatrization mechanism or in a regeneration mechanism.

(d)

(e)

In order to introduce error detection at the application layer level, the architecture of this level has to be doubled. The detection is then made by comparing the application data AO1 and AO2 of the their two output multiplexers AOMUX (Fig. 2).

Figure 7. Functional configuration mechanism. (a-e) Growth process.

3.4

(a)

Starting with the normal behavior of Fig. 7e, we suppose that the upper left molecule becomes suddenly faulty and triggers a cicatrization mechanism. This mechanism is made up of a repair process involving eastward propagating repair signals (Fig. 9a-c) followed by a reset process, starting from the upper right molecule, performed with westward and southward propagating internal reset signals (Fig. 9d-f). This array, comprising now one molecule in the faulty mode and two molecules in the repair mode, is ready for being reconfigured by the functional configuration data. This implies a growth process bypassing the faulty molecule (Fig. 9g-k).

Control test

In order to correct deterioration that could affect the mobile functional configuration data, the control test mechanism is made up of a reset process followed by a growth process. This mechanism is performed when the data moving around the cell are different of the ones moving around its western and southern neighbors. The comparison is realized by the lower left molecule of the cell. When a difference occur, the lower left molecule starts the reset process and propagates reset signals eastward and northward in order to destroy the datapath build among the healthy molecules of the array. Fig. 8a-c displays the reset process applied to previously configured array. Performed according to the functional configuration data corresponding to the specifications of the current application, the growth process rebuilds the datapath among the living molecules of the cell. This process starting from the lower left molecule is shown in Fig. 8d-h. It renews the mobile data moving around the cell as well as the fixed data of its molecules.

Our cell comprises a single spare molecule per row and tolerates therefore only one faulty molecule in each row. A second faulty molecule in the same row will activate a regeneration mechanism and cause the death of the whole cell. Starting with the normal behavior of the cicatrized cell (Fig. 9k), a new molecule, the upper right one, detects an error. Being previously already in the repair mode, this molecule enters the lethal dead mode and triggers kill signals which propagate northward, westward and southward (Fig. 10a-d). Finally, all the molecules of the array are dead as well as the entire cell. 430

C

C

C

D

S

S

S

R

Xi

(a)

(b)

(c)

(d)

Ri

(e)

(f)

(g)

Y0

(h)

Y1

Y2

Figure 11. Basic cell of the X by Y multiplier. (i)

(j)

(k)

Figure 9. Cicatrization mechanism. (a-c) Repair process. (d-f) Reset process. (g-k) Growth process.

(a)

(b)

(c)

Figure 10. Regeneration mechanism. Kill process.

of seven by six molecules and leads to an entire column of dead molecules. The structural configuration mechanism and the functional configuration mechanism are then applied at the cellular level. Starting with the structural and functional configuration data of the basic cell, these mechanisms generate successively the three identical cells of the minimal organism. In this implementation, each individual cell of the organism presents one column of dead molecules and two columns of spare molecules.

(d)

(a-d)

4 Bit slice multiplier 4.1

Basic cell

Even if the final goal is self-testing and self-organizing of complex bio-inspired circuits, we will use a simplified application example, the multiplier function [1], in order to illustrate their basic mechanisms. The circuit that multiplies a 3-bit signal X by a 3-bit signal Y can be considered as a one-dimensional artificial organism composed of three identical cells. Each cell is made up of six application specific molecules (Figure 11):

Figure 12. One-dimensional organism composed of three cells resulting from the configuration test, structural configuration, and functional configuration mechanisms applied to the basic cell.

• Three C molecules computing the carry output of a 1bit adder.

4.3

• Three S molecules computing the sum output of a 1-bit adder. • One D molecule generating a deactivation signal in order to bypass the cells of the neighboring spare organism to the right.

The cicatrization mechanism (or cellular self-repair) results from the introduction of the columns of spare molecule (Fig. 12), defined by the structural configuration of the basic cell, and the detection of faulty molecules. Thanks to this mechanism, the faulty molecule of the lower cell (Fig. 13) is deactivated, isolated from the network, and replaced by the nearest right molecule, which will itself be replaced by the nearest right molecule, and so on until a spare molecule is reached. The functional reconfiguration mechanism takes then place in order to regenerate the organism. As shown in Fig. 13, the regenerated organism presents some graphical distortion.

• One R molecule recovering the multiplication result performed by the living organism.

4.2

Cicatrization and functional reconfiguration

Configuration test, structural configuration, and functional configuration

In order to build the multicellular organism of Fig. 12, the configuration test mechanism is performed on an array 431

The configurable molecule, based on the VHDL descriptions of its layers, will be implemented in the ubichip [6], a programmable circuit that draws inspiration from the multicellular structure of complex biological organisms. Besides, using the VHDL language at the register transfer level, the hardware description of the molecule defines an intellectual property block (IP). Such a block can be synthesized and implemented in any integrated circuit.

Figure 13. Graphical distortion resulting from the cicatrization and reconfiguration mechanisms applied to the lower cell of the organism.

4.4

References [1] J. Andrejas and A. Trost. Reusable DSP functions in FPGAs. In R. Hartenstein and H. Gr¨unbacher, editors, FieldProgrammable Logic and Applications: The Roadmap to Reconfigurable Computing (FPL 2000), Lecture Notes in Computer Science. Springer-Verlag, Heidelberg, 2000. [2] R. Canham and A. M. Tyrrell. An embryonic array with improved efficiency and fault tolerance. In e. J. Lohn et al., editor, Proceedings of the NASA/DoD Conference on Evolvable Hardware (EH’03), pages 265–272. IEEE Computer Society, Los Alamitos, CA, 2003. [3] D. Mange, A. Stauffer, E. Petraglio, and G. Tempesti. Selfreplicating loop with universal construction. Physica D, 191(1-2):178–192, April 2004. [4] A. Stauffer, D. Mange, and J. Rossier. Design of selforganizing bio-inspired systems. In T. Arslan, A. Stoica, M. Suess, D. Keymeulen, T. Higuchi, R. Magness, N. Aydin, and T. Erdogan, editors, Proceedings of the 2007 NASA/ESA Conference on Adaptative Hardware and Systems (AHS 2007), pages 413–419. IEEE Computer Society, Los Alamitos, CA, 2007. [5] A. Stauffer, D. Mange, and J. Rossier. Self-organizing systems based on bio-inspired properties. In F. Almeida, L. Rocha, E. Costa, I. Harvey, and A. Couthino, editors, Advances in Artificial Life. Proceedings of the 9th European Conference (ECAL 2007), volume 4648 of Lecture Notes in Artificial Intelligence, pages 1171–1181. Springer-Verlag, Berlin Heidelberg, 2007. [6] A. Upegui, Y. Thomas, E. Sanchez, A. Perez-Uribe, J.-M. Moreno, and J. Madredas. The Perplexus bio-inspired reconfigurable circuit. In e. a. J. Lohn, editor, Proceedings of the NASA/ESA Conference on Adaptative Hardware and Systems (AHS-2007), pages 600–605. IEEE Computer Society, Los Alamitos, CA, 2007.

Regeneration

Each individual cell of the organism having two spare columns (Fig. 12), this implementation allows at most two faulty molecules per row, that is one faulty molecule per spare column. When two of them are detected in a given row between a pair of spare columns, the regeneration mechanism (or organismic self-repair) takes place and all the cells of the organism are considered faulty and are deactivated. The functions of the faulty cells are thus shifted to the spare cells to the right. Obviously, this process requires at least one spare organism to the right. As shown in Fig. 14, the repair of the faulty organism needs the spare organism to the right and leaves a scar in the implementation.

Figure 14. Scar resulting from the regeneration mechanism applied to the organism.

5

Conclusion

This paper is a contribution to the embryonic project [2] which is dedicated to the building of bio-inspired circuits in silicon. It supplies the detailed architecture of a configurable molecule made up of a configurable layer and an application layer. Using the VHDL description language, we have realized the hardware implementation of the configuration layer and the application layer of the configurable molecule. The hardware simulations of the minimal slice and of the multiplier presented in the paper are performed on arrays of such molecules. 432