{"title": "Retinal Processing Emulation in a Programmable 2-Layer Analog Array Processor CMOS Chip", "book": "Advances in Neural Information Processing Systems", "page_first": 1123, "page_last": 1130, "abstract": null, "full_text": "Retinal Processing Emulation in a\n\nProgrammable 2-Layer Analog Array\n\nProcessor CMOS Chip\n\nR. Carmona, F. Jim(cid:19)enez-Garrido, R. Dom(cid:19)(cid:16)nguez-Castro,\n\nS. Espejo, A. Rodr(cid:19)(cid:16)guez-V(cid:19)azquez\n\nInstituto de Microelectr(cid:19)onica de Sevilla-CNM-CSIC\nAvda. Reina Mercedes s/n 41012 Sevilla (SPAIN)\n\nrcarmona@imse.cnm.es\n\nAbstract\n\nA bio-inspired model for an analog programmable array processor\n(APAP), based on studies on the vertebrate retina, has permitted\nthe realization of complex programmable spatio-temporal dynam-\nics in VLSI. This model mimics the way in which images are pro-\ncessed in the visual pathway, rendering a feasible alternative for\nthe implementation of early vision applications in standard tech-\nnologies. A prototype chip has been designed and fabricated in a\n0.5(cid:22)m standard CMOS process. Computing power per area and\npower consumption is amongst the highest reported for a single\nchip. Design challenges, trade-o(cid:11)s and some experimental results\nare presented in this paper.\n\n1\n\nIntroduction\n\nThe conventional role of analog circuits in mixed-signal VLSI is providing the I/O\ninterface to the digital core of the chip |which realizes all the signal processing.\nHowever, this approach may not be optimum for the processing of multi-dimensional\nsensory signals, such as those found in vision applications. When massive informa-\ntion (cid:13)ows have to be treated in parallel, it may be advantageous to realize some\npreprocessing in the analog domain, at the plane where signals are captured.\n\nDuring the last years, di(cid:11)erent authors have focused on the realization of parallel\npreprocessing of multi-dimensional signals, using either purely digital techniques [1]\nor mixed-signal techniques, like in [2]. The data in Table 1 can help us to compare\nthese two approaches. Here, the peak computing power (expressed as operations\nper second: XPS) per unit area and power is shown. This estimation is realized\nby considering the number of arithmetic analog operations that take place per unit\ntime, in the analog case, or digital instructions per unit time, in the digital case. It\ncan be seen that the computing power per area featured by chips based in Analog\nProgrammable Array Processors (APAPs) is much higher than that exhibited by\ndigital array processors. It can be argued that digital processors feature a larger\naccuracy, but accuracy requirements for vision applications are not rarely below 6\n\n\fTable 1: Parallel processors comparison\n\nReference\n\nCMOS\nprocess\n\nNo.\n\nCells/ XPS/ XPS/\nof cells mm2 mm2 mW\n\nLi~nan et. al. [2]\nGealow et. al. [1]\nThis chip\n\n0.5(cid:22)m\n0.6(cid:22)m\n0.5(cid:22)m\n\n4096\n4096\n1024\n\n81.0\n66.7\n29.2\n\n7.93G 0.33G\n4.00M 1.00M\n6.01G 1.56G\n\nbits. Also, taking full advantage of the full digital resolution requires highly accurate\nA/D converters, what creates additional area and power overhead.\n\nThe third row in Table 1 corresponds to the chip presented here. This chip out-\nperforms the one in [2] in terms of functionality as it implements a reduced model\nof the biological retina [3]. It is capable of generating complex spatio-temporal dy-\nnamic processes, in a fully programmable way and with the possibility of storing\nintermediate processing results.\n\n2 APAP chip architecture\n\n2.1 Bio-inspired APAP model\n\nThe vertebrate retina has a layered structure [3], consisting, roughly, in a layer of\nphotodetectors at the top, bipolar cells carrying signals across the retina, a(cid:11)ected by\nthe operation of horizontal and amacrine cells, and ganglion cells in the other end.\nThere are, in this description, some interesting aspects that markedly resemble\nthe characteristics of the Cellular Neural Networks (CNNs) [4]: 2D aggregations\nof continuous signals, local connectivity between elementary nonlinear processors,\nanalog weighted interactions between them. Motivated by these coincidences, a\nmodel consisting of 2 layers of processors coupled by some inter-layer weights, and an\nadditional layer incorporating analog arithmetics, has been developed [5]. Complex\ndynamics can be programmed via the intra- and inter-layer coupling strengths and\nthe relation between the time constants of the layers. The evolution of each cell,\nC(i; j), is described by two coupled di(cid:11)erential equations, one for each CNN node:\n\n(cid:28)n\n\ndxn;ij\n\ndt\n\n= (cid:0)g[xn;ij(t)] +\n\nr1\n\nr1\n\nXk=(cid:0)r1\n\nXl=(cid:0)r1\n\nann;kl (cid:1) yn;(i+k)(j+l) +\n\n+bnn;00 (cid:1) unn;ij + zn;ij + ano (cid:1) yno;ij\n\n(1)\n\nwhere n and o stand for the node in question and the other node respectively. The\nnonlinear losses term and the output function in each layer are those described for\nthe full-signal range (FSR) model of the CNN [7], in which the state voltage is also\nlimited and can be identi(cid:12)ed with the output voltage:\n\ng(xn;ij) = lim\n\nm!1( m(xn;ij (cid:0) 1) + 1\n\nxn;ij > 1\njxn;ijj (cid:20) 1\nxn;ij\n(cid:0)m(xn;ij + 1) (cid:0) 1 if xn;ij < (cid:0)1\n\nif\nif\n\n(2)\n\nand:\n\n\fyn;ij = f (xn;ij ) =\n\n1\n2\n\n(jxn;ij + 1j (cid:0) jxn;ij (cid:0) 1j)\n\n(3)\n\nThe proposed chip consists in an APAP of 32 (cid:2) 32 identical 2nd-order CNN cells\n(Fig. 3), surrounded by the circuits implementing the boundary conditions.\n\n            (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)\n\nFigure 1: (a) Conceptual diagram of the basic cell and (b) internal structure of each\nCNN layer node\n\n2.2 Basic processing cell architecture\n\nEach elementary processor includes two coupled continuous-time CNN cores\n(Fig. 1(a)). The synaptic connections between processing elements of the same\nor di(cid:11)erent layer are represented by arrows in the diagram. The basic processor\ncontains also a programmable local logic unit (LLU) and local analog and logic\nmemories (LAMs and LLMs) to store intermediate results. The blocks in the cell\ncommunicate via an intra-cell data bus, multiplexed to the array interface. Control\nbits and switch con(cid:12)guration are passed to the cell from a global programming unit.\n\nThe internal structure of each CNN core is depicted in the diagram of Fig. 1(b).\nEach core receives contributions from the rest of the processing nodes in the neigh-\nbourhood which are summed and integrated in the state capacitor. The two layers\ndi(cid:11)er in that the (cid:12)rst layer has a scalable time constant, controlled by the appro-\npriate binary code, while the second layer has a (cid:12)xed time constant. The evolution\nof the state variable is also driven by self-feedback and by the feedforward action of\nthe stored input and bias patterns. There is a voltage limiter for implementing the\nFSR CNN model. Forcing the state voltage to remain between these limits allows\nfor using it as the output voltage. Then the state variable, which is now the out-\nput, is transmitted in voltage form to the synaptic blocks, in the periphery of the\ncell, where weighted contributions to the neighbours\u2019 are generated. There is also a\ncurrent memory that will be employed for cancellation of the o(cid:11)set of the synaptic\nblocks.\nInitialization of the state, input and/or bias voltages is done through a\nmesh of multiplexing analog switches that connect to the cell\u2019s internal data bus.\n\n\f3 Analog building blocks for the basic cell\n\n3.1 Single-transistor synapse\n\nThe synapse is a four-quadrant analog multiplier. Their inputs will be the cell\nstate, or input, and the weight voltages, while the output will be the cell\u2019s current\ncontribution to a neighbouring cell. It can be realized by a single transistor biased\nin the ohmic region [6]. For a PMOS with gate voltage VX = Vx0 + Vx, and the\np-di(cid:11)usion terminals at VW = Vw0 + Vw and Vw, the drain-to-source current is:\n\nIo (cid:25) (cid:0)(cid:12)pVwVx (cid:0) (cid:12)pVw(cid:18)Vx0 + j ^VTp j (cid:0) Vw0 (cid:0)\n\nVw\n\n2 (cid:19)\n\n(4)\n\nwhich is a four-quadrant multiplier with an o(cid:11)set term that is time-invariant |at\nleast during the evolution of the network| and not depending on the state. This\no(cid:11)set is eliminated in a calibration step, with a current memory.\n\nFor the synapse to operate properly, the input node of the CNN core, L(cid:13) in Fig. 2,\nmust be kept at a constant voltage. This is achieved by a current conveyor. Any\ndi(cid:11)erence between the voltage at node L(cid:13) and the reference Vw0 is ampli(cid:12)ed and\nthe negative feedback corrects the deviation. Notice that a voltage o(cid:11)set in the\nampli(cid:12)er results in an error of the same order. An o(cid:11)set cancellation mechanism is\nprovided (Fig. 2).\n\n3.2 S3I current memory\n\nAs it has been referred, the o(cid:11)set term of the synapse current must be removed\nfor its output current to represent the result of a four-quadrant multiplication. For\nthis purpose all the synapses are reset to VX = Vxo . Then the resulting current,\nwhich is the sum of the o(cid:11)set currents of all the synapses concurrently connected\nto the same node, is memorized. This value will be substracted on-line from the\ninput current when the CNN loop is closed, resulting in a one-step cancellation of\nthe errors of all the synapses. The validity of this method relies in the accuracy of\nthe current memory. For instance, in this chip, the sum of all the contributions will\nrange, for the applications for which it has been designed, from 18(cid:22)A to 46(cid:22)A. On\nthe other side, the maximum signal to be handled is 1(cid:22)A. If a signal resolution of\n8b is pretended, then 0:5LSB = 2nA. Thus, our current memory must be able to\ndistinguish 2nA out of 46(cid:22)A. This represents an equivalent resolution of 14.5b. In\norder to achieve such accuracy level, a S3I current memory is used. It is composed by\nthree stages (Fig. 2), each one consisting in a switch, a capacitor and a transistor. IB\nis the current to be memorized. After memorization the only error left corresponds\nto the last stage.\n\n3.3 Time-constant scaling\n\nThe di(cid:11)erential equation that governs the evolution of the network (1) can be\nwritten as a sum of current contributions injected to the state capacitor. Scal-\ning up/down this sum of currents is equivalent to scaling the capacitor and, thus,\nspeeding up/down the network dynamics. Therefore, scaling the input current with\nthe help of a current mirror, for instance, will have the e(cid:11)ect of scaling the time-\nconstant. A circuit for continuously adjusting the current gain of a mirror can be\ndesigned based on a regulated-Cascode current mirror in the ohmic region. But the\nstrong dependence of the ohmic-region biased transistors on the power rail voltage\ncauses mismatches in (cid:28) between cells in the same layer. An alternative to this is\n\n\fa digitally programmable current mirror. It trades resolution in (cid:28) for robustness,\nhence, the mismatch between the time constants of the di(cid:11)erent cells is now fairly\nattenuated.\n            (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)\n\nFigure 2: Input block with current scaling, S3I memory and o(cid:11)set-corrected OTA\nschematic\n\nA new problem arises, though, because of current scaling.\nIf the input current\ncan be reshaped to a 16-times smaller waveform, then the current memory has to\noperate over a larger dynamic range. But, if designed to operate on large currents,\nthe current memory will not work for the tiny currents of the scaled version of the\ninput. If it is designed to run on small input currents, long transistors will be needed,\nand the operation will be unreliable for the larger currents. One way of avoiding\nthis situation is to make the S3I memory to work on the original unscaled version\nof the input current. Therefore, the adjustable-time-constant CNN core will be a\ncurrent conveyor, followed by the S3I current memory and then the binary weighted\ncurrent mirror. The problem now is that the o(cid:11)sets introduced by the scaling block\nadd up to the signal and the required accuracy levels can be lost. Our proposal is\ndepicted in Fig. 2. It consists in placing the scaling block (programmable mirror)\nbetween the current conveyor and the current memory. In this way, any o(cid:11)set error\nwill be cancelled in the auto-zeroing phase. In the picture, the voltage reference\ngenerated with the current conveyor, the regulated-Cascode current mirrors and\nthe S3I memory can be easily identi(cid:12)ed. The inverter, Ai, driving the gates of the\ntransistors of the current memory is required for stability.\n\n4 Chip data and experimental results\n\nA prototype chip has been designed and fabricated in a 0.5(cid:22)m single-poly triple-\nmetal CMOS technology. Its dimensions are 9:27 (cid:2) 8:45mm2 (microphotograph in\nFig. 3). The cell density achieved is 29.24cells/mm2, once the overhead circuitry is\ndetracted from the total chip area |given that it does not scale linearly with the\nnumber of cells. The power consumption of the whole chip is around 300mW. Data\nI/O rates are nominally 10MS/s. Equivalent resolution for the analog images han-\ndled by the chip is 7.5 bit (measured). The time constant of the fastest layer ((cid:12)xed\ntime constant) is intended to be under 100ns. The peak computing power of this\nchip is, therefore, 470GXPS, what means 6.01GXPS/mm2, and 1.56GXPS/mW.\n\n\f            (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)\n\nFigure 3: Prototype chip photograph\n\nThe programmable dynamics of the chip permit the observation of di(cid:11)erent phe-\nnomena of the type of propagation of active waves, pattern generation, etc. By\ntuning the coe(cid:14)cients that control the interactions between the cells in the array|\ni. e. the weights of the synaptic blocks, which are common to every elementary\nprocessor| di(cid:11)erent dynamics are manifested. Fig. 4 displays the evolution of the\nstate variables of the two coupled layers when it is programmed to show di(cid:11)erent\npropagative behaviors. In picture (a), the chip is programmed to resemble the so-\ncalled wide-(cid:12)eld erasure e(cid:11)ect observed in the retina. Markers in the fastest layer\n(bottom row) trigger wavefronts in this layer and induce slower waves in the other\nlayer (upper row). These induced spots are fedback, inhibiting the waves propagat-\ning in the fast layer, and generating a trailing edge for each wavefront. In picture\n(b), a solitary traveling wave is triggered from each corner of the fast layer. This\nkind of behavior is proper of waves in active media. Finally, in picture (c), edge\ndetection is computed by extraction the low frequency components of the image,\nobtained by a di(cid:11)usion in the slower layer, from theoriginal one. The remaining\ninformation is that of the higher frequency components of the image. These phe-\nnomena have been widely observed in measurements of the vertebrate retina [3].\nThey constitute the patterns of activity generated by the presence of visual stimuli.\n\nControlling the network dynamics and combining the results with the help of the\nbuilt-in local logic and arithmetic operators, rather involved image processing tasks\ncan be programmed like active-contour detection, object-tracking, etc.\n\n5 Conclusions\n\nFrom the (cid:12)gures obtained, we can state that the proposed approach supposes a\npromising alternative to conventional digital image processing for applications re-\n\n\flated with early-vision and low-level focal-plane image processing. Based on a simple\nbut precise model of part of the real biological system, a feasible e(cid:14)cient implemen-\ntation of an arti(cid:12)cial vision device has been designed. The peak operation speed\nof the chip outperforms its digital counterparts due to the fully parallel nature of\nthe processing. This especially so when comparing the computing power per silicon\narea unit and per watt.\n\nAcknowledgments\n\nThis work has been partially supported by ONR/NICOP Project N00014-00-1-0429,\nESPRIT V Project IST-1999-19007, and by the Spanish CICYT Project TIC-1999-\n0826.\n\nReferences\n\n[1] Gealow, J.C. & Sodini, C.G. (1999) A Pixel Parallel Image Processor Using\nLogic Pitch -Matched to Dynamic Memory. IEEE Journal of Solid-State Cir-\ncuits, Vol. 34, No. 6, pp. 831-839.\n\n[2] Li~nan, G., Espejo, S., Dom(cid:19)(cid:16)nguez-Castro, R., Roca, E. and Rodr(cid:19)(cid:16)guez-\nV(cid:19)azquez, A. (1998) A 64 x 64 CNN with Analog and Digital I/O. Proceed-\nings of the IEEE Int. Conf. on Electronics, Circuits and Systems, pp. 203-206,\nLisbon, Portugal.\n\n[3] Werblin, F. (1991) Synaptic Connections, Receptive Fields and Patterns of Ac-\ntivity in the Tiger Salamander Retina. Investigative Ophthalmology and Visual\nScience, Vol. 32, No. 3, pp. 459-483.\n\n[4] Werblin, F., Roska, T. and Chua, L.O. (1995) The Analogic Cellular Neural\nNetwork as a Bionic Eye. International Journal of Circuit Theory and Appli-\ncations, Vol. 23, No. 6, pp. 541-69.\n\n[5] Rekeczky, Cs., Serrano-Gotarredona, T., Roska, T. and Rodr(cid:19)(cid:16)guez-V(cid:19)azquez, A.\n(2000) A Stored Program 2nd Order/3- Layer Complex Cell CNN-UM. Proc.\nof the Sixth IEEE International Workshop on Cellular Neural Networks and\ntheir Applications, pp. 219-224, Catania, Italy.\n\n[6] Dom(cid:19)(cid:16)nguez-Castro, R., Rodr(cid:19)(cid:16)guez-V(cid:19)azquez, A., Espejo, S. and Carmona, R.\n(1998) Four-Quadrant One-Transistor Synapse for High Density CNN Imple-\nmentations. Proc. of the Fifth IEEE International Workshop on Cellular Neural\nNetworks and their Applications, pp. 243-248, London, UK.\n\n[7] Espejo, S., Carmona, R. Carmona, Dom(cid:19)(cid:16)nguez-Castro, R. and Rodr(cid:19)(cid:16)guez-\nV(cid:19)azquez, A. (1996) A VLSI Oriented Continuous- Time CNN Model. Interna-\ntional Journal of Circuits Theory and Applications, Vol. 24, No. 3, pp. 341-356,\nJohn Wiley and Sons Ed.\n\n\f            (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)\n\nFigure 4: Examples of the di(cid:11)erent dynamics that can be programmed on the chip:\n(a) wide-(cid:12)eld erasure e(cid:11)ect, (b) traveling wave accross the layers, and (c) edge\ndetection.\n\n\f", "award": [], "sourceid": 2170, "authors": [{"given_name": "R.", "family_name": "Carmona", "institution": null}, {"given_name": "F.", "family_name": "Jim\u00e9nez-garrido", "institution": null}, {"given_name": "R.", "family_name": "Dominguez-castro", "institution": null}, {"given_name": "S.", "family_name": "Espejo", "institution": null}, {"given_name": "A.", "family_name": "Rodriguez-v\u00e1zquez", "institution": null}]}