scieee Open visual document viewer

Microchips convolucionadores AER para procesado asíncrono neocortical de información sensorial visual codificada en eventos

Camuñas Mesa, Luis Alejandro

Abstract

En este trabajo, se presentan dos versiones diferentes de microchips convolucionadores completamente digitales basados en el protocolo AER para sistemas de procesamiento visual basados en eventos. Estos chips constituyen la unidad básica para construir sistemas complejos multicapa a partir de la interconexión en serie y en paralelo de diferentes muestras de los mismos. Cada uno de ellos permite re alizar convoluciones con kernel programable de un tamaño máximo de 32*32.La primera versión de chip Conv1 opera sobre un array de píxeles de tamaño 32*32, aunque está diseñado para poder construir sistemas equivalentes de mayor resolución conectando varias muestras en paralelo. La segunda versión Conv2 cuenta con un tamaño 4 veces mayor, 64*64 píxeles, y además implementa la funcionalidad multikernel. Esta funcionalidad permite programar varios kernels diferentes dentro de un mismo chip (hasta 32) para que éste pueda recibir eventos de varios chips diferentes de una capa anterior, y aplicarle a cada uno de ellos un kernel diferente en función de su origen. Esto está especialmente indicado para facilitar la implementación de sistemas multicapa, a imitación de la corteza cerebral, y siguiendo las estructuras típicas del paradigma conocido como “Convolutional Neural Networks”.En el presente documento se describen detalladamente las arquitecturas de cada una de las dos versiones propuestas de chips de convolución, así como algunos resultados experimentales obtenidos. El documento está estructurado de la siguiente forma. En primer lugar, en el Capítulo 2 se presentan las ventajas de los sistemas de procesamiento visual basados en eventos, frente a los tradicionales sistemas basados en fotogramas. Este capítulo incluye también una descripción del protocolo AER, imprescindible para construir sistemas de procesamiento por eventos. El Capítulo 3 hace un repaso sobre las estructuras multicapa bioinspiradas de procesamiento de imagen, justificando el uso de la operación de convolución como unidad básica de este tipo de sistemas, describiendo también la arquitectura propuesta para los chips de convolución basados en AER. En el Capítulo 4 se describe en detalle el píxel de convolución como base de los chips propuestos, analizando las dos versiones diferentes, mientras que en el Capítulo 5 se detallan el resto de circuitos periféricos incluidos en los chips de convolución. El Capítulo 6 muestra exhaustivos resultados experimentales obtenidos a partir de las dos versiones Conv1 y Conv2. Por último, el Capítulo 7 presenta las conclusiones.

Full text

UNIVERSIDAD DE SEVILLA Depa amen o de Elec ónica y Elec omagne ismo Mic ochips con olucionado es AER pa a p ocesado asínc ono neoco ical de in o mación senso ial isual codi icada en e en os Memo ia p esen ada po LUIS ALEJANDRO CAMUÑAS MESA pa a op a al í ulo de doc o . Se illa, Ma zo 2010. Mic ochips con olucionado es AER pa a p ocesado asínc ono neoco ical de in o mación senso ial isual codi icada en e en os Memo ia p esen ada po LUIS ALEJANDRO CAMUÑAS MESA pa a op a al í ulo de doc o . Se illa, Ma zo 2010. Di ec o D . Be nabé Lina es Ba anco Codi ec o es D a. Te esa Se ano Go a edona D . An onio José Acos a Jiménez Tesis ealizada en el Ins i u o de Mic oelec ónica de Se illa, Cen o Nacional de Mic oelec ónica (IMSE-CNM), pe enecien e al Consejo Supe io de In es igaciones Cien í icas (CSIC) UNIVERSIDAD DE SEVILLA Depa amen o de Elec ónica y Elec omagne ismo Mic ochips con olucionado es AER pa a p ocesado asínc ono neoco ical de in o mación senso ial isual codi icada en e en os Memo ia p esen ada po LUIS ALEJANDRO CAMUÑAS MESA Di ec o D . Be nabé Lina es Ba anco Codi ec o es D a. Te esa Se ano Go a edona D . An onio José Acos a Jiménez UNIVERSIDAD DE SEVILLA Depa amen o de Elec ónica y Elec omagne ismo Ag adecimien os Cuando el p esen e documen o empezó a oma o ma, supe que con él cul- minaba una e apa impo an e de mi ida, e inmedia amen e después u e cla o que no había llegado has a aquí solo, sino que había mucha gen e de ás de mí a lo la go de odos es os años. Así comenzó la sección de ag a- decimien os. Al p incipio pensé engloba oda es a sección dando g acias a la ida, que me ha dado an o, pe o pa a aho a me paga de echos de au o a los he ede- os de Viole a Pa a decidí ecu i a mis p opias palab as. Resul a impensable empeza a habla sin menciona en p ime luga a las pe sonas que me han di igido du an e es os años, sin los cuales es a esis no exis i ía. Po eso quie o comenza dando las g acias a Be nabé po habe me guiado pacien emen e has a aquí, po supues o con la ayuda pe manen e de Te esa y An onio, que siemp e han enido un momen o pa a esol e mis dudas y co egi mis e o es. Muchas o as pe sonas han sido impo an es en el desa ollo de es e abajo, an as que es di ícil nomb a las a odas. Po una pa e, odos los compañe os que han o mado pa e de mi g upo de in es igación, especialmen e Ra a, que con su abajo ma có el camino que yo con inué. Y po o a pa e, los compañe os del Depa amen o de A qui ec u a y Tecnología de Compu a- do es, po acili a siemp e mi labo en el labo a o io. Es ine i able eco da ambién a los demás g upos con los que u e la sue e de colabo a en el p oyec o CAVIAR, an o de la Uni e sidad de Oslo como de la Uni e sidad de Zü ich, donde an bien me acogie on du an e mi es an- cia en ie as hel é icas. No puedo deja de menciona a an os compañe os que han pasado po el Ins i u o de Mic oelec ónica de Se illa a lo la go de es e iempo, de los que an o he ap endido, especialmen e a los que han es ado compa iendo despa- cho conmigo cada día, y que han dejado de se solamen e compañe os pa a con e i se en amigos. Todos es os ag adecimien os han es ado e e idos al ámbi o labo al, pe o lógicamen e po encima de odo nunca pod é e mina de da les las g acias a mis pad es, po que odo lo que soy se lo debo a ellos, y ienen el eno me mé i o de habe conseguido da me odas las opo unidades que ellos nunca u ie on. En el ámbi o o ma i o, es a esis supone una me a impo an e as oda una ida es udiando, así que no puedo ol ida que la p ime a pe sona que eje - ció de p o eso a conmigo ue mi he mana. Po eso y po habe es ado siem- p e a mi lado le doy las g acias, sin ol ida me de mi cuñado Ra a, cuyo apoyo en los úl imos años ha sido muy impo an e pa a mí. A la ho a de e e i me a los amigos, ni siquie a es necesa io que los nomb e, po que ellos ya saben pe ec amen e quiénes son y cuán o les ag adezco que hayan es ado conmigo siemp e que lo he necesi ado. Mucho más que ag adecimien o le debo a Ca men, po hace que odo enga sen ido, po se mi única ce eza en un mundo de ince idumb es, po juga odos los días con la luz del Uni e so. Obligado ya po la excesi a ex ensión de es a sección, doy po cumplida la ación de ag adecimien os insis iendo en que odos los aquí nomb ados ie- nen una pa e de “culpa” en la inalización de es e abajo. i Índice CAPÍTULO 1 In oducción.................................................................1 1.1. An eceden es ............................................................................. 1 1.2. Obje i os ................................................................................... 4 1.3. Es uc u a del documen o.......................................................... 5 CAPÍTULO 2 Sis emas de p ocesamien o basados en e en os.......7 2.1. In oducción .............................................................................. 7 2.2. Rep esen ación isual basada en o og amas............................ 8 2.3. Rep esen ación isual basada en e en os................................ 10 2.3.1. Ven ajas del sis ema basado en e en os............................. 12 2.3.2. Tipos de codi icación......................................................... 14 2.4. El p o ocolo Add ess E en Rep esen a ion (AER)................ 15 2.4.1. Ven ajas de AER................................................................ 18 In oducción 4 Al emula el compo amien o del ce eb o median e una es uc u a de sis emas con olucionado es como se mues a en la Fig. 1.1, nos encon a- mos una impo an e limi ación. Cada uno de los con olucionado es incluye una g an can idad de unidades de p ocesamien o (píxeles), cada uno de los cuales necesi a comunica se con odos los píxeles de los con olucionado es de la siguien e capa, pa a así pode imi a la es uc u a del ce eb o. Sin emba go, los sis emas elec ónicos imponen cie as limi aciones ísicas a la ho a de in e conec a poblaciones de píxeles del o den de in eg adas en dis in os chips. Pa a eso u ilizamos el p o ocolo AER (Add ess E en Rep esen a ion). G acias a es e p o ocolo, una g an can idad de neu onas in eg adas en un chip pueden comunica se con las neu onas de o o chip mul iplexando las conexiones en un único bus digi al asínc ono. Así, los e en os gene ados po cada neu ona se p opagan a a és de buses AER en e las dis in as capas de los sis emas de p ocesamien o. 1.2. Obje i os En es e abajo, se p esen an dos e siones di e en es de mic ochips con olucionado es comple amen e digi ales basados en el p o ocolo AER pa a sis emas de p ocesamien o isual basados en e en os. Es os chips cons i uyen la unidad básica pa a cons ui sis emas complejos mul icapa a pa i de la in e conexión en se ie y en pa alelo de di e en es mues as de los mismos. Cada uno de ellos pe mi e ealiza con oluciones con ke nel p o- g amable de un amaño máximo de . La p ime a e sión de chip Con 1 ope a sob e un a ay de píxeles de amaño , aunque es á diseñado pa a pode cons ui sis emas equi- alen es de mayo esolución conec ando a ias mues as en pa alelo. La segunda e sión Con 2 cuen a con un amaño 4 eces mayo , píxe- les, y además implemen a la uncionalidad mul ike nel. Es a uncionalidad pe mi e p og ama a ios ke nels di e en es den o de un mismo chip (has a 32) pa a que és e pueda ecibi e en os de a ios chips di e en es de una capa an e io , y aplica le a cada uno de ellos un ke nel di e en e en unción de su o igen. Es o es á especialmen e indicado pa a acili a la implemen a- ción de sis emas mul icapa, a imi ación de la co eza ce eb al, y siguiendo 103 32 32× 32 32× 64 64× 5 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os las es uc u as ípicas del pa adigma conocido como “Con olu ional Neu al Ne wo ks”. En el p esen e documen o se desc iben de alladamen e las a qui ec u- as de cada una de las dos e siones p opues as de chips de con olución, así como algunos esul ados expe imen ales ob enidos. 1.3. Es uc u a del documen o El documen o es á es uc u ado de la siguien e o ma. En p ime luga , en el Capí ulo 2 se p esen an las en ajas de los sis emas de p ocesamien o isual basados en e en os, en e a los adicionales sis emas basados en o og amas. Es e capí ulo incluye ambién una desc ipción del p o ocolo AER, imp escindible pa a cons ui sis emas de p ocesamien o po e en os. El Capí ulo 3 hace un epaso sob e las es uc u as mul icapa bioinspi adas de p ocesamien o de imagen, jus i icando el uso de la ope ación de con o- lución como unidad básica de es e ipo de sis emas, desc ibiendo ambién la a qui ec u a p opues a pa a los chips de con olución basados en AER. En el Capí ulo 4 se desc ibe en de alle el píxel de con olución como base de los chips p opues os, analizando las dos e siones di e en es, mien as que en el Capí ulo 5 se de allan el es o de ci cui os pe i é icos incluidos en los chips de con olución. El Capí ulo 6 mues a exhaus i os esul ados expe imen a- les ob enidos a pa i de las dos e siones Con 1 y Con 2. Po úl imo, el Capí ulo 7 p esen a las conclusiones. In oducción 6 7 CAPÍTULO 2 Sis emas de p ocesamien o basados en e en os 2.1. In oducción A la ho a de hace p ocesamien o de isión en iempo eal, los sis emas adicionales basados en o og amas ienen impo an es limi aciones. El p incipal mo i o de es as limi aciones es la p opia na u aleza secuencial de sensado y p ocesado o og ama a o og ama. Si compa amos los sis emas a i iciales de p ocesamien o de imagen con la o ma de lle a a cabo las mismas a eas po pa e del ce eb o humano, podemos saca una conclusión in e esan e: la unidad de p ocesamien o básica del ce eb o, la neu ona, es mucho más len a que cualquie o denado a la ho a de hace una ope ación sencilla, pe o aun así, el ce eb o es mucho más e icien e g acias a su modo de uncionamien o basado en el pa alelismo. Mien as que las ep esen aciones clásicas de imágenes po o og amas ienen un ca ác e secuencial (es deci , has a que no se e mina de ejecu a una a ea sob e un o og ama comple o no se puede pasa a la siguien e a ea), los sis emas biológicos se basan en la ejecución en pa alelo de muchas ac i idades di e en es. Pa a implemen a es e pa alelismo, cada neu ona en ía pulsos de in o mación a o as muchas neu onas simul ánea- Sis emas de p ocesamien o basados en e en os 8 men e. De es e modo, la in o mación ya no se p ocesa en o ma de o og a- mas, sino en o ma de pulsos, ambién llamados e en os. Po o a pa e, pa a que el sis ema basado en e en os sea e icien e es necesa io que haya una masi a in e conexión en e neu onas que pe mi a que la in o mación se p ocese en pa alelo. Pa a pe mi i esa g an capacidad de in e conexión en e neu onas se u iliza el p o ocolo AER (Add ess E en Rep esen a ion), que pe mi e que dos g andes poblaciones de neu onas se comuniquen en e sí mul iplexando las conexiones a a és de un único bus común. En es e capí ulo se jus i ica la u ilización de sis emas de p ocesamien o de imagen basados en e en os. Pa a ello, en la Sección 2.2 se desc iben los sis emas adicionales basados en o og amas, mien as que en la Sección 2.3 se de allan los sis emas de p ocesamien o po e en os, poniendo espe- cial én asis en las p incipales en ajas que p esen a sob e el an e io . Po úl imo, en la Sección 2.4 se desa olla el p o ocolo AER. 2.2. Rep esen ación isual basada en o og a- mas Al a a sob e el p ocesamien o de imágenes, una de las p ime as cues iones que enemos que conside a es de qué o ma se ep esen an las imágenes pa a pode abaja con ellas. En el caso más gené ico de imáge- nes en mo imien o, el concep o de o og ama se encuen a an a aigado a los sis emas de isión que con ecuencia se da po supues o, ya que adi- cionalmen e ha sido así. La imagen en el mundo eal es con inua an o en el espacio como en el iempo, así que el p ime paso es mues ea en el iempo, es deci , cap u a imágenes es á icas a in e alos egula es [1]. Cada una de es as imágenes es un o og ama. De es e modo, se cap u an o og amas a in e alos egula es y al ep oduci los odos seguidos p oducen pa a el ojo humano la sensación de mo imien o, como mues a la Fig. 2.1. Pa a ello es undamen al una buena elección del iempo de mues eo . De o ma habi ual se usa la e- cuencia de o og ama , exp esada en o og amas po segundo ( ps) T s s 1T s ⁄= 9 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os o He zios. Las ecuencias de o og ama de algunos de los sis emas más conocidos an desde los 16-18 Hz que se empeza on a u iliza du an e los iempos del cine mudo has a los 24 Hz usados en el cine ac ual. En cuan o a la ele isión, exis en a ios es ánda es de codi icación. Tan o el sis ema PAL (Phase Al e ning Line) [3] como el SECAM (Séquen iel Couleu à Mémoi e), u ilizados en Eu opa, Asia, A ica, Oceanía y pa e de Sudamé- ica, mues ean a 25 Hz, que es la mi ad de la ecuencia de la co ien e eléc ica usada en es os luga es (50 Hz). Sin emba go, el sis ema NTSC (Na ional Tele ision Sys em Commi ee) [4] ex endido en la mayo pa e de Amé ica y Japón iene una ecuencia de mues eo de 29.97 Hz, que es p ác- icamen e la mi ad de la ecuencia de la co ien e eléc ica que en es os paí- ses es de 60 Hz. De es e modo, los sis emas adicionales de p ocesamien o de imagen basados en o og amas se compo an concep ualmen e según se indica en la Fig. 2.2. La cáma a o senso cap u a una imagen es á ica cada , almacenando la in o mación de cada uno de los píxeles. Cuando se a a de FIGURA 2.1. Secuencia de un caballo de ca e as galopando publicada po Eadwea d Muyb idge en 1887 en Philadelphia [2]. Con 16 o og amas ec ea la sensación de mo imien o al ep oduci las odas seguidas. T o og ama Sis emas de p ocesamien o basados en e en os 10 u iliza es os o og amas como en adas de un sis ema de p ocesamien o, nos encon amos una se ie de limi aciones. En p ime luga , se pie de la in o mación de cualquie cambio que ocu a en e dos ins an es de mues eo , haciendo imposible la aplicación a un sis ema que se mue a a una elo- cidad mayo que el p opio iempo de mues eo. Po o a pa e, en el caso de que la mayo pa e de la imagen no cambie en e dos ins an es de mues eo (o incluso la imagen en e a pe manezca in a iable), el sis ema a a cap u a y p ocesa un o og ama comple o, aunque de ello no ob enga ninguna in o mación. Así pues, los sis emas de p ocesamien o basados en o og a- mas no si en pa a aplicaciones de al a elocidad, pe o además son eno me- men e ine icien es pa a aplicaciones de baja elocidad. Una consecuencia de es a ine iciencia es que en cada ins an e de mues eo hay que p ocesa una g an can idad de in o mación (la imagen comple a), lo que puede aca- ea una conside able ca ga compu acional. Sin emba go, pa a una aplica- ción en iempo eal odo el p ocesamien o iene que habe e minado an es de que se cap u e el siguien e o og ama, limi ando ambién las posibilida- des de lle a a cabo una compu ación más compleja sob e la imagen de en ada. 2.3. Rep esen ación isual basada en e en os Los ce eb os biológicos no p ocesan la isión o og ama a o og ama, sino que es án basados en e en os [5]. En una e ina, cada píxel en ía un pulso ( ambién llamado e en o) al có ex ce eb al cuando su ni el de ac i i- dad alcanza un umb al, de modo que la in o mación se ansmi e con o me FIGURA 2.2. Desc ipción concep ual del p ocesamien o de imágenes basado en o og amas. T i 11 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os se p oduce, sin espe a que llegue un ins an e de mues eo a i icial que no gua da ninguna elación con la ealidad. De es e modo, una e ina se enca ga de sensa una de e minada p opiedad (que puede se po ejemplo un cambio en la in ensidad [6] o el con as e espacial [7]), y cuando de ec a un ni el de e minado de esa p opiedad en un píxel cualquie a en ía un e en o (que habi ualmen e incluye la in o mación de qué píxel lo ha gene ado). Así, cada ez que se p oduce un e en o se ac ualiza el es ado de odo el sis- ema, aunque es o sólo a ec a a las pa es de la imagen que apo an alguna in o mación, e i ando la ca ga compu acional innecesa ia. Obse ando la Fig. 2.3 se puede en ende con acilidad cómo se lle a a cabo el p oceso de sensado en un sis ema basado en e en os. Mien as que la cáma a de la pa e supe io de la imagen cap u a un o og ama a in e a- los egula es de , el senso de la pa e in e io gene a e en os de salida de o ma con inua, codi icando de es e modo la in o mación de lo que es á ocu iendo en cada momen o en una zona cualquie a de la imagen. Así, el sis ema de compu ación ac ualiza su es ado después de cada e en o, e ec uando ope aciones de meno ca ga compu acional que en el caso del FIGURA 2.3. Compa ación a ni el concep ual en e el sensado y p ocesamien o de imagen basado en o og amas y basado en e en os. T ame Sis emas de p ocesamien o basados en e en os 12 sis ema basado en o og amas, ya que los e en os sólo a ec an en gene al a una pa e educida de la imagen. Pa a en ende las en ajas de los sis emas de p ocesamien o de imáge- nes basados en e en os, lo mejo es compa a su compo amien o empo al con los sis emas basados en o og amas, al como emos a con inuación. 2.3.1. Ven ajas del sis ema basado en e en os La g an en aja inhe en e a los sis emas de p ocesamien o basados en e en os se encuen a en el hecho de que la in o mación más ele an e se en ía (y po lo an o se p ocesa) en p ime luga . Es o ocu e pa a las dis in- as o mas de codi ica la in o mación en e en os [8], [9]. Una posibilidad es que la in o mación se codi ique en el o den en el que se p oducen los e en os, es deci , la neu ona que en ía un e en o en p ime luga es la más ac i a, lo que signi ica que su en ada es la más in ensa. O as opciones se ían codi ica la in o mación en la asa de e en os p oducidos po una neu ona, o en el e aso de los e en os espec o a un iempo pe iódico de e e encia. En cualquie caso, los p ime os e en os gene ados siemp e se án aquellos pe enecien es a las neu onas cuyas en adas sean más in ensas. De es e modo, los p ime os pulsos en iados codi ican el agmen o más impo - an e de la in o mación, lo que implica que se puede hace un p ocesa- mien o ap oximado en un in e alo de iempo ealmen e pequeño, omando sólo unos pocos e en os iniciales. Es o es algo que el p ocesamien o po o og amas no pe mi e, ya que siemp e p ocesa imágenes comple as. Es a en aja se puede ap ecia mejo obse ando la compa ación en e el compo amien o empo al de un sis ema basado en o og amas y uno basado en e en os, al como mues a la Fig. 2.4. En la pa e supe io de la imagen, obse amos cómo esponde un sis ema de sensado y p ocesamien o basado en o og amas an e un suceso p oducido en el in e alo empo al en e y . Debido a la p opia na u aleza del p ocesamien o basado en o og amas, independien emen e del ins an e en el que se p oduzca el suceso, la in o mación p oducida no llega al sis ema de compu ación has a que el o og ama comple o es á o almen e disponible en el ins an e , con un e aso añadido debido al iempo de ansmisión. Sólo a pa i de ese momen o el sis ema de compu ación comienza a p ocesa la in o mación 0 T1 T1 ∆ 13 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os ecibida, lo cual lle a á un iempo ela i amen e la go debido a la g an can idad de in o mación innecesa ia incluida en el o og ama. Sólo en on- ces se ob iene la in o mación deseada de econocimien o. Sin emba go, obse ando en la pa e in e io el sis ema basado en e en os, emos cómo cada píxel de ec a inmedia amen e un cambio en la ealidad y lo en ía al sis ema de compu ación con un e aso . Cada e en o a da un iempo muy pequeño (del o den de los nanosegundos) en se p ocesado. Además, dado que los p ime os e en os son los que po an la p incipal in o mación, ni siquie a es necesa io p ocesa odos los e en os pa a que el sis ema de compu ación pueda ealiza el econocimien o deseado, ob eniendo un esul ado mucho más ápido que el sis ema an e io , incluso an es del ins- an e de mues eo . FIGURA 2.4. Compa ación de la espues a empo al en e un sis ema basado en o og amas y uno basado en e en os. TFC ∆' Te T1 Sis emas de p ocesamien o basados en e en os 20 añadi una ope ación lógica en e odas las líneas de Acknowledge an es de llega al emiso , pe mi iendo con ello compa i el bus AER, como se mues- a en la Fig. 2.8. Dicha ope ación lógica es á basada en elemen os-C, los cuales asegu an que no se p oduci á ningún cambio de es ado a la salida mien as las en adas engan dis in os alo es. Así, solamen e en el caso de que odas las señales de en ada se pongan de acue do la salida cambia á. En el caso con a io, si que emos que a ios emiso es compa an el bus de salida, la con igu ación no es an inmedia a. Si di ec amen e pe mi ié a- mos a a ios emiso es esc ibi sob e el bus digi al, se ía imposible ges iona los con lic os, así que es necesa io añadi algún ipo de a bi ación. En [44] se p oponen dos posibles al e na i as. La p ime a de ellas, ep esen ada en la Fig. 2.9, consis e en añadi un ci cui o de a bi ación ex e no a los emiso- es AER, el cual se enca ga ía de limi a el acceso de cada uno de dichos FIGURA 2.9. A qui ec u a de un sis ema AER mul i-emiso . 21 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os emiso es al bus común. De es e modo, cuando un chip quie e asmi i un e en o ac i a su señal de Reques ( ), y cuando el a bi a- do es é lib e en onces copia á en el bus común el da o en cues ión, ac i- ando la señal Rqs que llega al ecep o . Una ez que el ecep o esponde, se libe a el a bi ado y se puede ansmi i o o e en o gene ado po cual- quie a de los emiso es. La o a p opues a pa a cons ui sis emas AER mul i-emiso consis e en modi ica lige amen e el p o ocolo de los chips emiso es pa a que se comuniquen en e ellos conec ándose en o ma de á bol. De es e modo, se ía posible que los buses AER de odos ellos se conec a an en e sí di ec- amen e, ya que cada emiso solamen e esc ibi ía en dicho bus cuando ecibe pe miso del sis ema global. Es básicamen e la misma idea que la p o- pues a an e io , con la di e encia de que la a bi ación se lle a a cabo en los p opios emiso es. La en aja es que nos pe mi e compa i el bus di ec a- men e, pe o con el incon enien e de modi ica lige amen e el p o ocolo y añadi una cie a complicación in e na a los emiso es. Con es as ideas básicas, se pueden plan ea pequeñas a iaciones dando luga a di e en es al e na i as. Una de ellas consis e en elimina cual- quie componen e ex e no a los p opios chips AER modi icando el p o o- colo como mues a la Fig. 2.10. De es e modo, cuando uno de los emiso es ac i a la señal de Rqs , aún no ha pues o el da o en el bus común, sino que espe a a que el ecep o ac i e la señal Ack, indicándole que iene pe miso pa a pone lo. Así, en es e esquema mul i-emiso el Ack uel e sólo a uno de Rqs i i1…n,= FIGURA 2.10. Diag ama empo al del p o ocolo AER modi icado pa a sis ema mul i-emiso . Sis emas de p ocesamien o basados en e en os 22 los emiso es, y po an o el ecep o iene que gene a an as señales de Ack como emiso es haya. En [45], [46] se p opone SCX (Silicon Co ex), una in aes uc u a con igu able de comunicación AER que se puede usa pa a p oba la comunicación en e chips en sis emas neu omó icos con di e en- es conec i idades. O a al e na i a es añadi a cada uno de los chips AER una e apa de a bi ación in e na pa a conec a los en cascada. De es a o ma, cuando el p ime o de los chips quie e emi i un e en o, la pe ición iene que pasa po odos los demás chips de la cadena, y sólo cuando odos ellos le den paso se en ia á. El p oblema de es e esquema es que no a a de la misma o ma a odos los emiso es, ya que in luye el o den en el que se conec en en la cas- cada. No obs an e, es a asime ía se pod ía compensa incluyendo algún mecanismo que penalice a cada chip en unción de la posición que ocupe en la cadena, haciendo que en caso de colisión engan que espe a más los que engan una posición “p e e en e”. En la p esen e esis se ha op ado po u iliza placas auxilia es pa a implemen a sis emas mul i-emiso o mul i- ecep o . Es as placas, en de ini- i a, siguen los esquemas desc i os en Fig. 2.8 y Fig. 2.9, y desde el pun o de is a de nues os chips hacen que cada enlace se ges ione siemp e pun o a pun o [47], [48]. 23 CAPÍTULO 3 Sis emas de con olución mul icapa 3.1. In oducción Los sis emas biológicos de isión no solamen e es án basados en el p ocesamien o po e en os como se desc ibe en el capí ulo an e io , sino que quizás una de sus p incipales ca ac e ís icas que lo hacen posible es la es uc u a mul icapa del ce eb o. La in o mación óp ica (in o mación senso ial, en gene al) cap u ada po la e ina y ans o mada en pulsos eléc icos es p ocesada po una se ie de capas que o man el có ex isual. Cada una de es as capas es á o mada po g andes can idades de neu onas in e conec adas de o ma masi a. De o ma gene al, una neu ona de una capa es á conec ada con muchas neu o- nas de la siguien e capa, de modo que los e en os emi idos po ella son eci- bidos po lo que llamamos un campo p oyec i o de la capa que se encuen a a con inuación. Así, la in o mación cap u ada po una zona conc e a de la e ina se p o- paga con g an elocidad po cada una de las capas del có ex, que se enca - gan de de ec a la o ma de los obje os obse ados po la e ina. Cada in e conexión en e una neu ona y su campo p oyec i o co espondien e Sis emas de con olución mul icapa 24 cuen a con unos pesos especí icos, en p incipio di e en es pa a cada neu- ona. No obs an e, en las p ime as capas del có ex los pesos son bas an e ap oximados pa a las dis in as neu onas de una misma capa, de o ma que es a in e conexión en e capas se puede desc ibi como una con olución. Así pues, el sis ema comple o se puede ap oxima como un sis ema de con- oluciones mul icapa. Po eso, el obje i o de es a esis es el desa ollo de bloques con olucionado es que se puedan conec a o mando un sis ema mul icapa, y emula el compo amien o de los sis emas de p ocesamien o de isión. Las Con olu ional Neu al Ne wo ks (Redes Neu onales de Con olu- ciones) u ilizan es a idea de capas de neu onas in e conec adas con pesos compa idos pa a lle a a cabo di e sas aplicaciones [49], como econoci- mien o de ca ac e es [50], [51] (sis emas de isión), o de onemas [52], [53] o palab as habladas [54] (en sis emas acús icos). Todos es os sis emas se basan en capas de con oluciones in e conec adas en e sí con pesos con i- gu ables. A con inuación, en la Sección 3.2 se desc iben los concep os básicos de la ope ación de con olución, así como la o ma de implemen a la median e un sis ema AER. Después, en la Sección 3.3 se p o undiza sob e los sis emas bioinspi ados de p ocesamien o mul icapa de isión, des a- cando una he amien a so wa e de simulación de es as es uc u as. Po úl imo, en la Sección 3.4 se desc ibe en un p ime ni el la a qui ec u a de chip de con olución p opues a, así como la capacidad de in e conexión en sis emas mul icapa que p esen a. 3.2. Con olución 2-D 3.2.1. Ope ación ma emá ica Pa a un sis ema lineal e in a ian e en el iempo como el de la Fig. 3.1 (LTI, en sus siglas inglesas) con espues a al impulso , siendo la señal de en ada dependien e del iempo, se puede calcula la señal de salida como: h ( ) x ( ) y ( ) 25 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os (EQ 3.1) Dicha ope ación se denomina con olución en e y , y se exp esa median e la no ación . Si en luga de a a con señales con inuas en el iempo, nues o sis- ema unciona en iempo disc e o, la in eg al se con ie e en un suma o io y la exp esión de la con olución pasa a se [55]: (EQ 3.2) Conside ando que no sólo es emos abajando con señales disc e as en el iempo, sino ambién ini as, el esul ado de la con olución se á ambién una señal ini a, exp esada median e la ecuación (3.3): (EQ 3.3) De es e modo, si enemos una señal de en ada con alo es (es deci , que es dis in a de pa a ), y una espues a al impulso con alo es (es dis in a de pa a ), la con- FIGURA 3.1. Rep esen ación de un sis ema lineal e in a ian e en el iempo (LTI). y ( ) hτ( )x τ–( ) τd ∞– ∞ ∫ = x ( ) h ( ) y ( ) x ( ) h ( )⊗= y n( ) x n( ) h n( )⊗ h m( )x n m–( ) m∞–= ∞ ∑ = = x n( ) h n( )⊗ h m( )x n m–( ) m0= n ∑ = x n( ) Nx 0 0n Nx1–≤ ≤ h n( ) Nh 0 0n Nh1–≤ ≤ Sis emas de con olución mul icapa 26 olución end á alo es no nulos. Es o se puede obse a en el ejemplo de la Fig. 3.2. Una ez desc i a la ope ación de la con olución unidimensional, es sencillo ex ende la pa a el caso de dos dimensiones, simplemen e conside- ando que las señales dependen de dos a iables [56]. El caso de con- y n( ) NyNxNh1–+= FIGURA 3.2. Ejemplo de con olución unidimensional en e una secuencia con y una espues a al impulso con , ob eniéndose una señal con x n( ) Nx7= h n( ) Nh4= y n( ) NyNxNh1–+ 10= = x y( , ) 27 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os oluciones 2-D es el que nos in e esa, ya que se aplica a las imágenes. De es e modo, conside amos que las a iables e se co esponden con las coo denadas ho izon al y e ical, y aplicamos la ope ación de con olución a una imagen de en ada pa a ob ene una imagen de salida . A la espues a al impulso la denominamos ke nel de la con olución , y ob enemos la exp esión: (EQ 3.4) Es a exp esión mues a una in e sión ho izon al en las posiciones del ke nel en e a la imagen de en ada al calcula la con olución. Sin emba go, a la ho a de implemen a es e cálculo habi ualmen e p escindimos de dicha in e sión, ya que se puede elimina de iniendo el ke nel adecuada- men e. Además, en g an pa e de los casos, las sime ías que p esen an los ke nels hacen que la exp esión (3.4) sea equi alen e. El signi icado de es a exp esión se puede comp ende mejo con ayuda de la Fig. 3.3. En ella emos una imagen de en ada de píxeles, y un ke nel de amaño . La imagen de salida, esul ado de calcula la con- olución en e ambos, se ob iene aplicando el ke nel cen ado sob e cada x y I x y( , ) O x y( , ) K x y( , ) O x y,( ) I x y,( ) K x y,( )⊗ K m n,( )I x m–y n–,( ) n ∑ m ∑ = = FIGURA 3.3. Desc ipción de una con olución bidimensional en e una imagen de en ada de amaño y un ke nel de amaño X Y( , ) M N( , ) X Y× M N× Sis emas de con olución mul icapa 28 uno de los píxeles de la imagen de en ada, y e ec uando la suma del alo de odos los píxeles del ecinda io pesados po los alo es co espondien es del ke nel. En el ejemplo de la Fig. 3.4 enemos una imagen de en ada de píxeles y un ke nel de amaño . En la imagen de salida se mues- a el esul ado de la con olución pa a un solo píxel, conc e amen e el . Vemos cómo el ke nel se aplica sob e el ecinda io de dicho píxel, y se calcula la ope ación: De es e modo, el alo de cada píxel de salida se calcula desplazando el ke nel sob e la imagen de en ada y e ec uando la misma ope ación. FIGURA 3.4. Ejemplo de cómo se calcula el esul ado de una con olución pa a un píxel. El es o de los píxeles se calcula ían del mismo modo. 5 5× 3 3× 4 2,( ) O4 2,( ) 1 0⋅2 2⋅3 1–⋅1 1⋅2 3⋅3 0⋅1 2–⋅2 0⋅3 1 9=⋅+ + + + + + + += 29 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os 3.2.2. Con olución basada en AER Una ez desc i a la ope ación ma emá ica de la con olución bidimen- sional, aho a se a a de implemen a dicha ope ación median e un sis ema basado en AER. Pa a ello, en p ime luga es necesa io ol e a la idea de p ocesamien o de imágenes basado en e en os del capí ulo an e io . Si es u ié amos a ando con sis emas adicionales de p ocesamien o po o og amas, se pod ía a a cada imagen como una ma iz con sus co espondien es alo es numé icos y se pod ía e ec ua la ope ación ma e- má ica al cual ha sido de inida. Sin emba go, en los sis emas de p ocesa- mien o po e en os no con amos con una imagen comple a, sino que se an p oduciendo e en os que de algún modo codi ican el es ado de los píxeles de la imagen en iempo eal. De es e modo, la con olución se lle a a cabo de la o ma indicada en la Fig. 3.5. En ella emos cómo cada ez que se ecibe un e en o con una di ección cualquie a , la ope ación no se limi a al píxel con dicha di ección, sino que le a ec a a un cie o ecinda io al ededo de dicho píxel. Así, el e en o le llega a cada píxel del ecinda io con un cie o peso en unción de su posición a a és de la aplicación del ke nel. Cada píxel del a ay almacena el alo , y con o me an llegando más e en os el ke nel se sigue sumando sob e el ecinda io co espondien e a la di ección de dichos e en os. De es a mane a se consigue que en cada momen o el a ay de píxeles con enga el esul ado de calcula la con olu- ción sob e la imagen de en ada. Sin emba go, pa a que se a e e dade amen e de una con olución basada en AER el esul ado de la ope ación debe es a ambién codi icado en e en os. Po ello, cada píxel de con olución consis i á en una neu ona In eg a e&Fi e, que cuando alcance un alo umb al es ablecido gene a á un e en o de salida, ob eniéndose un lujo de e en os que se co esponde con el esul ado de la ope ación de con olución. Es o nos pe mi i á encade- na con olucionado es AER en cascada, haciendo que la salida de uno sea la en ada del siguien e, o bien en pa alelo, c eando sis emas complejos mul icapa. x y,( ) Sis emas de con olución mul icapa 36 Con el obje i o de aslada oda es a expe iencia en sis emas de p oce- samien o mul icapa basados en o og amas al más e icien e p ocesamien o po e en os, se lle ó a cabo el p oyec o eu opeo CAVIAR, donde se desa- olló una a qui ec u a AER compues a po una se ie de bloques (en e ellos, con olucionado es [32]) que pe mi e con una g an e sa ilidad la implemen ación de aplicaciones pa a p ocesamien o de imagen y econoci- mien o y seguimien o de obje os [72], como la mos ada en la Fig. 3.9 que desc ibimos a con inuación. Un sis ema mecánico o a o io (1 en la Fig. 3.9) hace gi a un ozo de papel blanco con dos cí culos de di e en e adio y algunas o as o mas geomé icas usadas como dis acción. El sis ema de isión se enca ga de segui a ambos cí culos y disc imina en e ellos. Un pa de espejos con o- lados po se omo o es (2) cambia el pun o de is a de la e ina AER (3), la cual en ía sus e en os de salida a una placa de moni o ización (4) y a un mappe (5) an es de alcanza la placa de con olucionado es (6) con 4 chips en su in e io . Las salidas de es os chips de con olución se en ían, a a és de o a placa de moni o ización (7) y o a de mapeo (8), al chip de obje o WTA (Winne Takes All) (9), que a su ez en ía su salida a un moni o (10) que po una pa e la en ía a un mic ocon olado (11) que se enca ga de line chip lea ning chip moni o USB 98 11 1514131210 mappe USB mappe USB mappe USB mappe Mic ocon olle 1 2 345 6 7 USB Con olu ion chip Con olu ion chip Spli e Me ge e ina chip USB moni o Con olu ion chip Con olu ion chip mi o s mo ing s imulus objec chip delay USB moni o FIGURA 3.9. Diag ama de bloques del mon aje expe imen al desa ollado po el p oyec o eu opeo CAVIAR pa a un sis ema de isión AER de seguimien o de obje os. 37 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os ajus a los espejos (2) pa a cen a el cí culo de ec ado, y po o a pa e la en ía al sis ema de ap endizaje, que consis e en un mappe (12), un chip de línea de e aso (13), o o mappe (14) y un chip clasi icado de ap endizaje (15), que se enca ga de clasi ica las ayec o ias del cí culo en e dis in os ipos. La e ina de con as e empo al gene a e en os AER con un espacio de di ecciones de píxeles, mien as que cada chip de con olución iene una esolución de . Sin emba go, la placa de 4 chips de con o- luciones conec ados en modo mosaico se ía capaz de p ocesa el espacio de di ecciones comple o, aunque sólo puede gene a salidas pa a los píxeles cen ales. Pa a esol e es e p oblema se añade la e apa de mapeo (5) que se enca ga de submues ea la imagen desde los píxeles has a . De es e modo, la placa de con olución gene a salidas pa a odo el espacio isual de la e ina. Los chips de con olución u ilizan ke nels ci cula es de un de e minado diáme o, los cuales de ec an la posición del cen o de o mas ci cula es de en ada de dicho diáme o. El mappe (8) uel e a submues ea el espacio de di ecciones has a los píxeles de en ada del chip de obje o WTA, el cual se enca ga de p opo ciona las coo denadas del cen o del cí culo de ec ado de o ma limpia. Es as coo denadas, al se en iadas al subsis ema de con ol, hacen que el mic ocon olado ac úe sob e dos se omo o es que sos ienen dos espejos. Un espejo es á en posición e ical y es con olado po la coo de- nada-y de la salida del chip de obje o, mien as que el o o es á en posición ho izon al y es con olado po la coo denada-x. Así, la coo denada p opo - cionada po el chip de obje o indica la des iación de la posición del cí culo de ec ado sob e el cen o del espacio isual, de modo que el mic ocon ola- do es á p og amado pa a hace ce o dicha des iación, man eniendo cen- ado el cí culo co espondien e. Po o a pa e, el chip de línea de e aso con ie e la in o mación em- po al de los e en os gene ados po el chip de obje o WTA en in o mación espacial, ob eniendo un cie o pa ón espacial. Es e pa ón espacial es clasi- icado po el chip de ap endizaje según pa ones de e en os, o mados po e en os coinciden es en dis in as localizaciones espaciales, o según pa o- nes de ac i idad, o mados po ac i idades medias de e en os coinciden es en di e en es localizaciones. 128 128× 32 32× 64 64× 128 128× 64 64× 32 32× Sis emas de con olución mul icapa 38 3.3.2. Implemen ación so wa e basada en AER: aplicacio- nes Siendo el obje i o de es a esis el desa ollo de chips de con olución que nos pe mi an la implemen ación de sis emas modula es a g an escala, es undamen al con a ambién con la capacidad de es udia desde un pun o de is a eó ico la o ma de ensambla , con igu a , p og ama y en ena es os sis emas. Es deci , a pa i de los chips de con olución AER desa ollados en el p esen e abajo, pa a lle a a cabo una aplicación conc e a se á nece- sa io en p ime luga encon a la es uc u a je á quica óp ima, así como los ke nels de con olución más indicados, o qué o os pa áme os debe ían se ajus ados. Pa a ello, es de g an ayuda el simulado de compo amien o AER desa ollado po J. A. Pé ez-Ca asco en Visual C++ [73], el cual nos pe - mi e hace una desc ipción de compo amien o de cualquie módulo AER eal (en nues o caso, los con olucionado es), y ensambla sis emas com- plejos con g an can idad de módulos. Así podemos ob ene una es imación ealis a del esul ado de es e ipo de sis emas mul icapa an es de lle a a cabo la implemen ación ha dwa e. Con es e simulado de compo amien o se han podido comp oba las eno mes posibilidades que ienen es e ipo de a qui ec u as pa a emula el compo amien o del ce eb o. Po ejemplo, en [74] se p esen a la simulación de compo amien o de un sis ema de econocimien o de ca ac e es, que con- segui ía disc imina en e dis in as le as en iempos in e io es a , a pesa de inclui en dicho p ocesamien o has a 52 con oluciones. Es o nos da una idea de la apidez de es os sis emas mul icapa AER. En la Fig. 3.10 se puede e el esquema mul icapa implemen ado po el simulado . Como se indica en la p opia igu a, el sis ema es á diseñado pa a disc imina en e 7 ca ac e es di e en es esc i os a mano, p oduciendo e en os solamen e po una de las 7 salidas de la cua a y úl ima capa, en unción de la le a que se co esponda con los e en os de en ada del sis ema. También se han ob enido esul ados sa is ac o ios u ilizando es e simu- lado pa a en ena sis emas de econocimien o de ex u as, como se mues- a en [75], [76]. En la Fig. 3.11 se puede e la a qui ec u a p opues a en dicho ejemplo, donde la p ime a capa incluye 24 módulos de con olución 10µs 39 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os en pa alelo, implemen ando un banco de il os de Gabo con 4 escalas y 6 o ien aciones di e en es. FIGURA 3.10. Esquema del sis ema AER implemen ado con el simulado pa a econocimien o de le as. FIGURA 3.11. Esquema del sis ema AER implemen ado con el simulado pa a econocimien o de ex u as. Sis emas de con olución mul icapa 40 3.4. El chip de con olución AER Una ez desc i a la mo i ación de es e abajo, así como el ma co donde se encuad a, es el momen o de pasa a desc ibi el obje i o básico de es a esis: el diseño del chip de con olución AER. Den o del obje i o de diseña una a qui ec u a mul ichip compleja, con igu able y e sá il que nos pe mi a implemen a sis emas neu onales, el elemen o undamen al pa a pode cons ui es e ipo de sis emas es el chip de con olución. En [77] se p opone una a qui ec u a pa a la ealización de con oluciones bidimensionales en iempo eal basada en sis emas de isión AER, con algunas es icciones sob e los ke nels pe mi idos, debiendo se és os descomponibles en sus coo denadas (un ke nel de la o ma ). En [78] se desc ibe un chip de con olución basado en in eg ado es analógicos. Las p incipales limi aciones que p esen a es e chip son: 1. la necesidad de calib ación pa a compensa el misma ch en e ansis o- es, 2. una educida esolución de sólo 3 bi s (incluso después de la calib a- ción), debido a la ope ación en baja co ien e de los ansis o es, 3. un iempo de la encia de e en os al o (de al ededo de ) debido a los e asos de los componen es analógicos en los píxeles pola izados pa a bajo consumo. Es as limi aciones se han esuel o en los chips desa ollados en la p e- sen e esis. Al usa píxeles comple amen e digi ales, desapa ece la necesi- dad de calib ación (con su co espondien e cos e en é minos de á ea y de consumo) y la p ecisión iene dada po el amaño de los egis os imple- men ados en dichos píxeles. Además, al p escindi de componen es analógi- cos de bajo consumo la ope ación es mucho más ápida, alcanzando la encias de e en os an bajas como [79]. En es a esis se p oponen dos chips de con olución di e en es, aunque ambos es án basados en píxeles comple amen e digi ales, y pe mi en el uso x y,( ) F x y,( ) H x( )V y( )= 1ms 150ns 41 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os de ke nels de amaño y o ma a bi a ios. El amaño es á limi ado po la memo ia del ke nel, que en nues o caso has sido de . 3.4.1. A qui ec u a Desde el pun o de is a de la desc ipción de diag ama de bloques, los dos chips de con olución diseñados pa a la p esen e esis (que llama emos Con 1 y Con 2) compa en la a qui ec u a de la Fig. 3.12. En ambos casos, el chip ecibe e en os AER de en ada (el bus Add ess_in, más las señales del p o ocolo asínc ono Rqs _in y Ack_in), que ep esen an in o mación isual p oceden e de la e apa an e io , y gene a e en os AER de salida (el bus Add ess_ou , más las señales del p o ocolo asínc ono Rqs _ou y Ack_ou ) que ep esen an el esul ado de la ope ación de con olución. Los bloques que se mues an en la Fig. 3.12, que es án desc i os en de alle en los siguien es capí ulos, son los siguien es: 1. A ay de píxeles, de amaño en el caso de Con 1, siendo ampliado has a en Con 2, cuad uplicando su esolución espa- cial. 2. Memo ia RAM es á ica in eg ada en el p opio chip, donde se almacena el ke nel codi icado en complemen o a 2. En ambos chips el amaño de la RAM es de da os, aunque Con 1 sólo pe mi e p og ama un único ke nel mien as que Con 2 pe mi e p og ama en un p opio chip has a 32 ke nels di e en es, implemen ando así el sis ema mul ike nel, desc i o más adelan e. 3. Con olado sínc ono, que se enca ga de secuencia odas las ope acio- nes necesa ias pa a cada e en o de en ada, así como del mecanismo de ol ido, que es independien e de la llegada de e en os. 4. Gene ado de eloj de al a elocidad, de ecuencia con olable, que se u iliza pa a el con olado sínc ono. 5. Regis os de con igu ación, que almacenan una se ie de pa áme os ca - gados a a és de un pue o se ie. 6. In e so de complemen o a 2, es un bloque que cambia el signo del ke - nel an es de aplica lo sob e los píxeles si el e en o de en ada es nega- i o. 32 32× 32 32× 64 64× 32 32× Sis emas de con olución mul icapa 42 7. Bloque de desplazamien o ho izon al, pa a alinea adecuadamen e el ke nel almacenado en la RAM con las coo denadas del e en o de en ada. 8. Gene ado AER, bloque asínc ono enca gado de a bi a en e los e en- os gene ados po los píxeles y en ia los a la siguien e e apa del sis ema mul ichip. FIGURA 3.12. A qui ec u a común de los chips Con 1 y Con 2 43 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os El uncionamien o del chip es el siguien e: cuando el con olado sín- c ono de ec a un lanco de bajada en la señal de en ada Rqs _in, las coo de- nadas del e en o que apa ecen en el bus Add ess_in se cap u an y se comple a el handshaking asínc ono. En onces, el con olado u iliza la in o mación ela i a al amaño del ke nel (que ha sido almacenada p e ia- men e en los egis os de con igu ación) pa a calcula los lími es del campo p oyec i o asociados a la di ección del e en o. Es e cálculo puede implica es si uaciones dis in as: 1. que el campo p oyec i o caiga comple amen e den o del a ay de píxe- les, 2. que caiga pa cialmen e den o del a ay, 3. o que es é comple amen e ue a del a ay. Si es amos en el caso 3, el con olado di ec amen e desca a el e en o y se queda espe ando que llegue el siguien e. Sin emba go, en cualquie a de las o as dos posibles si uaciones, el con olado calcula el desplazamien o ho izon al izquie da/de echa en e las columnas de la RAM donde se alma- cena el ke nel y las columnas del campo p oyec i o en el a ay de píxeles. A con inuación, habili a la suma ila po ila de los alo es del ke nel sob e los píxeles co espondien es. De es e modo, después de ecibi un e en o de en ada, los píxeles que se encuen an den o del campo p oyec i o ac uali- zan su es ado. En el caso de que alguno de ellos alcance el umb al p og a- mado, és e ese ea su p opio es ado y gene a un e en o que, as se a bi ado po el bloque asínc ono gene ado AER, es en iado al ex e io con sus co espondien es señales de handshaking. Pa alelamen e a es e p ocesa- mien o po e en o, hay un mecanismo de ol ido global que es común pa a odos los píxeles. El bloque asínc ono gene ado de AER sigue la écnica de lec u a de e en os en pa alelo po ilas [41]. De es e modo, los e en os se a bi an po ilas (pa a una misma ila, odas las señales de pe ición de e en o imple- men an una OR cableada). Una ez que el a bi ado po ilas esponde, odos los e en os gene ados po es a ila se almacenan en la pe i e ia supe- io , libe ando el a bi ado po ilas. Así, és e puede a ende la pe ición de o a ila mien as odos los e en os de la ila an e io son emi idos al ex e- io en modo á aga. x y,( ) Sis emas de con olución mul icapa 44 En gene al, ya que los ke nels de con olución pueden ene an o alo- es posi i os como nega i os, los e en os de salida gene ados po un chip de con olución ambién end án signo. En un sis ema mul icapa, las ope a- ciones de con olución se pueden ejecu a en cascada, lo que implica que un chip de con olución gené ico debe se capaz de maneja e en os de en ada con signo, y de p oduci e en os de salida con signo. Po es e mo i o, los chips de con olución desa ollados en el p esen e abajo incluyen un bi de signo an o en el bus AER de en ada como en el de salida, así como pa a los alo es almacenados en la RAM (codi icados en complemen o a 2). Los píxeles deben se capaces ambién de ejecu a sumas con signo y p oduci e en os posi i os o nega i os. Cuando es á p ocesando un e en o nega i o, el con olado habili a el bloque in e so de complemen o a 2 pa a cambia el signo de los alo es del ke nel an es de se sumado sob e los píxeles. En cuan o al mecanismo de ol ido, és e ambién es manejado po el con olado sínc ono. El obje i o de dicho mecanismo es que los alo es absolu os almacenados en los píxeles se dec emen en a un i mo p og ama- ble, pa a que és os puedan “ol ida ” su es ado as un iempo con olado. 3.4.2. Es uc u a mul ichip p opues a Como se ha enido comen ando a lo la go de odo el capí ulo, el obje- i o de es e abajo no se limi a al diseño de las dos e siones de chip de con olución Con 1 y Con 2, sino que ambos ci cui os es án ideados pa a o ma es uc u as mul ichip complejas. Pa a ello, en un p ime ni el desc i- bimos la con igu ación en mosaico y el sis ema mul ike nel, pa a después comen a la idea gene al de es uc u a mul ichip p opues a. 1. Con igu ación en mosaico. Ambos chips de con olución ienen 14 bi s de di ecciones en el bus de en ada AER, 7 pa a cada coo denada. Así pues, son capaces de e un espacio de di ecciones de . Sin emba go, las dimensiones del a ay de píxeles son de en el caso de Con 1 y de en el caso de Con 2. De es e modo, ambos chips o ecen la posibilidad de con i- gu a la di ección base del a ay, pe mi iendo así conec a a ios chips en pa alelo pa a emula el compo amien o de un único chip de mayo es dimensiones. En el caso de Con 1, pod íamos c ea un mosaico de 128 128× 32 32× 64 64× 4 4× 45 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os chips pa a ene un a ay equi alen e de , mien as que con Con 2 se ía su icien e con un mosaico de chips. Un ejemplo de con igu ación en mosaico se mues a en la Fig. 3.13. En ella podemos e un a ay de chips de con olución, cada uno de ellos de , o mando en o al un único a ay de píxeles. En el sis ema de la igu a puede ocu i que llegue un e en o de en ada al que al aplica el ke nel de con olución el campo p oyec i o caiga epa ido en e 4 chips di e en es. Así pues, cada uno de los 16 chips del a ay ecibi ía dicho e en o, y eniendo en cuen a sus p opias coo denadas calcula ía si alguna pa e del campo p oyec i o le co esponde a él. Si la espues a es nega i a, lo igno a ía, y si es a i ma i a p ocede ía a suma el ke nel sob e los píxeles co espondien es. De es e modo, el sis ema se compo a e dade amen e como un único a ay de amaño o al. Pa a que es o uncione co ec amen e 128 128× 2 2× FIGURA 3.13. Con igu ación en mosaico con a ios chips pa a p ocesa imágenes mayo es. 4 4× 32 32× 128 128× El píxel de con olución 52 pe mi iendo que los iones la a a iesen (el sodio en e y el po asio salga). De es e modo, la pola idad de la memb ana se in ie e, y como consecuen- cia se p oduce un impulso eléc ico. El po encial de in e sión causa que la pe meabilidad de la memb ana uel a a cambia , y la neu ona uel a a su es ado de eposo. El po encial de in e sión se p opaga a lo la go del axón, y p oduce la emisión de neu on ansmiso es en las dend i as. Como consecuencia, las neu onas p oducen enes de pulsos cuya ecuencia es p opo cional a la can idad de neu o ansmiso es ecibidos a su en ada. Una ca ac e ís ica de es e mecanismo es que las neu onas más ac i as emi i án pulsos más ápido que las demás. De es e modo, la in o mación más impo an e se p opaga mucho más ápido po las di e en es capas de neu onas a lo la go del ce e- b o pa a p oduci espues as muy ápidas con sólo una pequeña can idad de pulsos. En cuan o a las sinapsis, hay dos ipos de ellas: las inhibi o ias, cuyos neu o ansmiso es ienden a es abiliza el po encial de la memb ana, y las exci a o ias, cuyos neu o ansmiso es ienden a dec emen a dicho po en- cial, y como consecuencia a a o ece la p oducción de pulsos. Cada neu- ona iene como en adas sinapsis de los dos ipos. Es as sinapsis ienen unos pesos que po encian más o menos la in luencia de los neu o ansmiso- es, y se egulan pe mi iendo el ap endizaje a a és del cambio de dichos pesos. Cuando una neu ona no ecibe ningún es ímulo, la memb ana pe mi e el paso de una pequeña can idad de iones de den o hacia ue a, haciendo que el po encial de la memb ana ienda hacia el po encial de eposo. De es e modo, los e en os de en ada más an iguos ienen menos ele ancia en el es ado ac ual de la neu ona. Es lo que pod íamos llama mecanismo de ol ido. Es e mecanismo es undamen al pa a de ec a co elaciones espacio- empo ales, que es una o ma en la que se codi ica la in o mación en el ce eb o [81]. Sin es e mecanismo de ol ido, se ía imposible dis ingui la in o mación nue a de la an igua. 53 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os 4.3. P ime a p opues a: el píxel analógico A la ho a de diseña modelos que ep oduzcan el compo amien o de la neu ona biológica, hay di e en es al e na i as. Una de las más u ilizadas es el modelo p opues o po Hodgkin y Huxley [84], que consis e en un modelo basado en conduc ancias ex aído del es udio del compo amien o de las neu onas de los calama es. La idea básica de es e modelo es ep oduci el lujo de iones a a és de la memb ana median e conduc ancias. El modelo apa ece ep esen ado en la Fig. 4.3. Como se puede e , es á basado en es conduc ancias: Na modela el ánsi o de iones de sodio a a és de la mem- b ana, K ep esen a el lujo de po asio desde el in e io has a el ex e io de la célula, y R modela las pé didas que implemen an el mecanismo de ol ido. Como se e en la igu a, los alo es de las conduc ancias ela i as al lujo de iones ( an o de sodio como de po asio) son a iables, ya que dependen del po encial de la memb ana; sin emba go, el e ec o de las pé didas es cons an e. Asimismo, la co ien e que apa ece en la igu a modela las en a- das ecibidas po la neu ona p oducidas po conexiones con o as neu onas. Es e modelo desc ibe con g an p ecisión el compo amien o de la memb ana de po encial, pe o es bas an e complicado compu acionalmen e. Po es e mo i o se p opuso el modelo SRM (Spike Response Model) como una simpli icación del modelo an e io [85]. Es e modelo es á ep esen ado en la Fig. 4.4. Cada ez que llega un pulso po un axón de en ada, se FIGURA 4.3. Esquema del modelo neu onal p opues o po Hodgkin y Huxley. El píxel de con olución 54 inyec a una cie a can idad de ca ga al soma de la neu ona de acue do con el peso de la sinapsis co espondien e, que es á modelado a a és de la un- ción . Es a ca ga se in eg a en una capacidad C, de modo que cuando la ensión de es a capacidad alcanza un cie o umb al , la neu ona p oduce un pulso po el axón de salida y ese ea su es ado a un cie o alo de eposo. El e ec o de es e pulso de ese sob e el po encial de la neu ona es á modelado a a és de la unción . El e ec o de cualquie en ada ex e na sob e el po encial de la memb ana se encuen a modelado po la unción . Todas es as in e acciones en e dis in os elemen os del modelo siguen unas cie as unciones empo ales que en gene al dependen an o del ins an e ac ual como de los ins an es de llegada de los úl imos e en os, pa a ace ca se al compo amien o de la neu ona biológica odo lo posible. La neu ona analógica In eg a e&Fi e u ilizada po Se ano [78] es á basada en es e modelo SRM, aunque de o ma simpli icada, educiendo la complejidad de las unciones in e nas de dicho modelo , y has a con e i las en pulsos cuad ados. En la Fig. 4.5 se mues a una e - sión educida de dicha neu ona. En ella, cada ez que llega un pulso de en ada se cie a el swi ch inyec ando co ien e en la capacidad, inc emen- FIGURA 4.4. Esquema del modelo neu onal SRM. ε ( ) υ η ( ) κ ( ) ε ( ) η ( ) κ ( ) 55 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os ando el alo de ensión de dicha capacidad una can idad , siendo el alo de la co ien e de en ada, la du ación del pulso y el alo de la capacidad. Cuando la ensión del condensado alcanza el alo umb al , el compa ado p oduci á un pulso de salida que ese ea á el condensado desca gándolo has a un alo de ensión . De o ma gene al, los pulsos de en ada pueden se an o posi i os como nega i os, luego según el signo se p oduci á una inyección o una sus- acción de ca ga en el condensado , en ambos casos a pa i de una co ien e p opo cional al peso p opo cionado po el ke nel co espondien e. Es o se puede e en la Fig. 4.6, donde se mues a el esquemá ico comple o del píxel analógico. Cuando el píxel ecibe un pulso de en ada po Pulse+ o Pulse-, el bloque Logic se enca ga de ac i a o desac i a los ansis o es y en unción del alo del ke nel p e iamen e alma- cenado en el p opio bloque y del signo del e en o. De es e modo, las es uc- u as o madas po es os ansis o es gene an un pulso de co ien e a pa i de la co ien e de calib ación co espondien e o . Asimismo, en luga de un único compa ado , son necesa ios dos de ellos pa a pode de ec- a un umb al nega i o o posi i o en la ensión de la capacidad, y pode gene a pulsos de salida con signo. Es os compa ado es son llamados en la Fig. 4.6 Posi i e E en Block y Nega i e E en Block. Todo es o incluye una FIGURA 4.5. Esquema simpli icado de la neu ona analógica In eg a e&Fi e u ilizada po Se ano [78]. h ese Synapse V∆IwT∆⋅ C ---------------- = Iw T∆ C V h V ese Mn1Mn3 – Mp1Mp3 – IcalN IcalP El píxel de con olución 56 cie a complejidad en el píxel analógico, ya que además es necesa io alma- cena en el p opio píxel el alo del peso que iene que aplica pa a cada e en o. Po es e mo i o incluye una memo ia dinámica den o del bloque Logic. Po o a pa e, pa a ob ene un co ec o uncionamien o es necesa io inclui ci cui e ía de calib ación en el in e io del píxel. Es a necesidad de calib ación es debida al misma ch en e ansis o es pola izados en egión subumb al. Pa a compensa es as a iaciones, se incluye en cada píxel unas celdas de memo ia en las que almacena una palab a digi al de 5 bi s que con ola un espejo de co ien e que se usa pa a calib a una co ien e de e e encia común pa a odos los píxeles, p oduciendo pa a cada píxel sus p opias co ien es ya calib adas e . Además de complica el píxel ( an o en é minos de á ea como de consumo), es o implica un p oceso ini- cial de calib ación que se iene que lle a a cabo una ez ab icado, calcu- lando la palab a digi al de calib ación óp ima pa a cada píxel. En la Fig. 4.7 se mues a una ep esen ación de las a iaciones de la ensión del condensado con o me a ecibiendo pulsos de en ada ( an o posi i os como nega i os). Dicha ensión a inc emen ándose y dec emen- ándose en unción del signo de los e en os de en ada, has a que alcanza un x4 IcalN Posi i e E en Block Nega i e E en Block Mn0 Mn1 Mn2 Mn3 Mp0 Mp3 Mp1 Mp2 IcalP x1 x4 x1 E ese Vc VddA VgndA Vo p VgndB VddB Vo n bp<0> bp<1> bp<2> bn<0> bn<1> bn<2> Logic Pulse+ Pulse− PulseF CapSign x2 ow Ack ow Rqs x2 p+ p− FIGURA 4.6. Esquemá ico comple o del píxel de con olución analógico. IcalN IcalP 57 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os alo umb al y se ese ea gene ando un pulso de salida del signo co espon- dien e. Resumiendo, las p incipales limi aciones que p esen aba es e píxel analógico e an las siguien es: 1. Complejidad incluida a ni el de píxel a causa de la necesidad de calib a- ción pa a compensa el misma ch en e ansis o es. 2. Reducida p ecisión conseguida po el píxel, debido a la ope ación en subumb al de los ansis o es analógicos. 3. Al o alo de la encia conseguido (al ededo de de e aso en e un e en o de en ada y su co espondien e salida), p oducido po la len i ud en los compa ado es in e nos del píxel pola izados en baja co ien e. Con la inalidad de esol e los p incipales p oblemas del píxel analó- gico, se p opone el píxel digi al obje o de la p esen e esis, desc i o en la siguien e sección. FIGURA 4.7. Rep esen ación de la ensión del condensado y pulsos de salida p oducidos po el píxel. 1ms El píxel de con olución 58 4.4. El píxel digi al En las dos e siones de chip de con olución p opues as (Con 1 y Con 2), la ope ación de con olución se lle a a cabo a ni el de píxel median e la in eg ación de e en os de en ada pesados con enien emen e po los alo es del ke nel. El esquema gené ico del píxel digi al se mues a en la Fig. 4.8. Como se puede e , el píxel consis e de o ma gené ica en un acumulado y un sumado , el cual ecibe como en adas el alo del ke nel y el p opio acumulado , además de un compa ado que gene a un pulso cuando el alo del acumulado alcanza un lími e seleccionado y un bloque que se enca ga de ges iona la comunicación del píxel con la pe i e ia AER pa a gene a e en os. Pa a cada una de las dos e siones de chip de con o- lución, se ha diseñado un píxel di e en e, aunque los dos se basan en es e esquema gené ico. A con inuación amos a desc ibi de o ma de allada cada una de las dos e siones del píxel digi al, comenzando po la e sión inicial pa a segui después con la e sión a anzada. FIGURA 4.8. Esquema básico del píxel digi al de con olución p opues o. 59 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os 4.4.1. Ve sión inicial Con 1 La pa e p incipal del píxel es un sumado de 18 bi s y un acumulado de la misma esolución. En la Fig. 4.9 se mues a el diag ama de bloques de dicho píxel. En es a p ime a e sión se implemen ó un amaño de sumado sob edimensionado de o ma in encionada con el obje i o de pe mi i la máxima p ecisión posible. El c i e io u ilizado ue pe mi i la acumulación de un ke nel de amaño con odos sus pesos al máximo alo posi- ble pa a sus 6 bi s (los alo es del ke nel se codi ican en 6 bi s), pe mi iendo a su ez que el bi menos signi ica i o de dicho ke nel ambién u ie a la posibilidad de con ibui al alo del acumulado . De es e modo, se selec- cionó un ango dinámico de 18 bi s. Si enemos en cuen a los modelos analógicos desc i os p e iamen e donde el es ado de la neu ona se almacenaba en la ensión de un condensa- do , en nues o caso el es ado del píxel se almacena en el acumulado , ep e- sen ado en un núme o con signo codi icado en complemen o a 2 con 18 bi s (17 más el signo). Es o implica que el es ado del píxel puede a ia en e y . A su ez, los alo es del ke nel se codi ican ambién en complemen o a 2, pe o con 6 bi s solamen e (5 más el signo), luego pueden a ia en e y . FIGURA 4.9. Diag ama de bloques del píxel digi al de con olución, en su e sión inicial. 32 32× 217 – 131072–= 217 1– 131071= 2532–=– 251– 31= El píxel de con olución 60 El compo amien o del píxel es el siguien e. Cada ez que ecibe un e en o de en ada, la señal enable (que es común pa a odos los píxeles de una misma ila) se ac i a, p oduciendo que el acumulado se ac ualice sumando a su alo an e io el co espondien e peso del ke nel . Si el nue o alo del acumulado alcanza el umb al, se gene a un e en o de salida y se ese ea el acumulado , ol iendo a su alo en eposo, que es 0. En es a p ime a e sión del píxel se buscaba la mayo p og amabilidad posible, así que se incluyó un mul iplexo de 8 en adas pa a pode seleccio- na en e 8 dis in os lími es del acumulado , con la idea de pode adap a el amaño del mismo pa a di e en es aplicaciones. Pa a ello, usamos un pa á- me o de con ol de 3 bi s (Sel_lim), con el cual se elige uno de los bi s del acumulado . Es e bi se compa a de o ma con inua con el bi de signo (que es el más signi ica i o). De es e modo, pa a da os posi i os (es deci , que ienen el ) el compa ado dispa a á cuando el bi seleccionado se ponga a ‘1’, mien as que pa a da os nega i os ( ), dispa a á cuando el bi seleccionado alga ‘0’. Los 8 posibles umb ales selecciona- bles se mues an en la Tabla 4.1. Es impo an e ene en cuen a que, como se mues a en la Fig. 4.9, u ilizamos una pue a XOR como compa ado pa a de ec a el umb al. Po es e mo i o, hay que ene p ecaución a la ho a de selecciona el máximo alo posible del ke nel en unción del bi selec- cionado pa a lle a a cabo la compa ación. Así pues, debemos asegu a nos que los alo es máximos u ilizados en el ke nel se án meno es o iguales que el lími e seleccionado pa a el acumulado , an o en lo e e en e a los alo es posi i os como a los nega i os. Si el alo del ke nel ue a mayo que el umb al p og amado, cab ía la posibilidad de que no se p oduje a el e en o co espondien e. Po ejemplo, si seleccionamos como umb al el bi 2 (es deci , que dispa e cuando el acumulado alcance el alo 4) se p oduci ía un e o si sumá amos un alo 8 ( ), ya que no a ec a ía al bi elegido pa a el compa ado . Es e p oblema se esuel e limi ando los alo es del ke - nel a los p opios umb ales del acumulado . En cuan o a la implemen ación del mecanismo de ol ido a ni el de píxel, és e ecibe un pulso de ol ido de o ma pe iódica que es gene ado po el con olado sínc ono. Dicho pulso de ol ido p oduce un pulso en la señal enable que llega a odos los píxeles del a ay, p o ocando un cambio en el alo del acumulado . De es e modo, cuando el píxel ecibe un pulso en la wij msb 0= msb 1= wij 001000 2 61 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os señal de enable, en unción del alo de la señal Sel_ o ge ing ac ua á de un modo u o o. Si es a señal indica que se a a de un pulso de ol ido, en luga de oma como en ada del sumado el alo del ke nel almacenado en la TABLA 4.1. Posibles lími es p og amables pa a el acumulado . Sel_lim Maximum Minimum 000 001 010 011 100 101 110 111 2 16 65536= 2 16 – 1– 65537–= 2 0 1= 2 0 – 1– 2–= 2 4 16= 2 4 – 1– 17–= 2 5 32= 2 5 – 1– 33–= 2 1 2= 2 1 – 1– 3–= 2 7 128= 2 7 – 1– 129–= 2 3 8= 2 3 – 1– 9–= 2 2 4= 2 2 – 1– 5–= FIGURA 4.10. Esquema del bloque de ol ido. El píxel de con olución 68 i o). En cuan o a las señales de handshaking, an o Rqs como Ack son comunes po ilas, mien as que las señales que indican el signo del e en o gene ado (Pulse+ y Pulse-), son comunes po columnas. De es e modo, la con igu ación en a ay sigue el esquema de la Fig. 4.17. En cuan o al layou del píxel, lo podemos e en la Fig. 4.18. El á ea o al que ocupa es . La mayo pa e del á ea es ocupada po los 18 bi s del sumado y el acumulado , mien as que el es o de los bloques ocupan un á ea meno . Hemos incluido en el píxel una capacidad en e alimen ación y ie a pa a il a gli ches de po encia. Es a capacidad, de , es á si uada bajo las líneas de alimen ación y ie a pa a e i a un consumo ex a de á ea. FIGURA 4.18. Layou de la e sión inicial del píxel digi al. 95 6,101 3µm2 ,× 240 F 69 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os El u ado de las líneas den o del píxel es un ema bas an e delicado, con algunas capacidades pa ási as de acoplo bas an e c í icas, ya que algu- nas de ellas son compa idas po odos los píxeles en una misma ila o columna, y pueden alcanza longi udes de has a . Algunas de es as líneas se usan pa a pa áme os de con igu ación, pa a los cuales ijamos un alo al conec a el chip y pe manecen en eposo du an e el uncionamien o no mal. Así pues, hemos ap o echado es as líneas “es á icas” pa a si ua las en e las ápidas líneas dinámicas, e i ando acoplos en e dichas líneas dinámicas. 4.4.1.1. Resul ados de simulación Una ez desc i a la e sión inicial del píxel digi al de con olución, amos a expone algunos esul ados de simulación eléc ica con Spec e (Cadence) que ilus en el compo amien o de dicho píxel. Pa a comp oba su uncionamien o, en los ejemplos que amos a mos a ijamos un alo del da o co espondien e del ke nel y seleccionamos un lími e pa a el acu- mulado . Con esos pa áme os ijos, en iamos una se ie de e en os de en ada y comp obamos que el píxel gene a un e en o de salida cuando ha alcanzado el lími e es ablecido pa a el acumulado . Un p ime esul ado de simulación que ilus a el compo amien o del bloque In e az AER podemos e lo en la Fig. 4.19. En ella se mues a un caso en el que el píxel ha alcanzado el umb al posi i o del acumulado , y as ac i a la señal Rqs _ ow, espe a la espues a del a bi ado . Una ez que ecibe dicha espues a a a és de la señal Ack_ ow, desac i a la señal Rqs _ ow y ac i a la señal Pulse+, man eniéndola has a que el a bi ado desac i a la señal Ack_ ow. El mo i o po el cual la pendien e de subida de la señal Pulse+ es más len a que la de bajada es que no iene ijada po el píxel, que se limi a a o za la a ni el bajo cuando co esponde, sino que la pendien e de subida iene dada po un pull-up de la pe i e ia. Veamos aho a algunos ejemplos del uncionamien o del píxel. 1. En un p ime ejemplo, pa a comp oba con p ecisión el uncionamien o del sumado , ijamos el da o del ke nel a 1. En cada una de las 4 g á icas mos adas en la Fig. 4.20 podemos e lo que ocu e cuando en iamos e en os al píxel con un alo umb al del acumulado di e en e, que ale 3mm El píxel de con olución 70 en cada caso 1, 2, 4 y 8, espec i amen e. En cada g á ica podemos e la señal Enable (en ada) en la pa e in e io , y las señales Rqs _ ow y Pulse+ gene adas po el píxel en la pa e cen al y supe io , espec i a- men e. Encima de cada señal Enable podemos e el es ado del acumula- do después de p ocesa cada uno de los e en os, lo cual nos pe mi e comp oba cómo odos los pulsos de Rqs _ ow se p oducen con el alo adecuado. 2. En un segundo ejemplo, amos a juga ambién con la posibilidad de a ia el da o del ke nel que el píxel es á ecibiendo. Las di e en es g á i- cas co espondien es a es e ejemplo las podemos e en la Fig. 4.21. En p ime luga , ijamos el da o a 2, y seleccionamos el lími e del acumula- do 16, esul ando que as acumula 8 e en os de en ada el píxel alcanza el lími e y ac i a la señal Rqs _ ow, como emos en la g á ica a). En la g á ica b) man enemos el mismo alo del da o, pe o modi icamos el umb al a 32, obse ando que en es e caso son 16 pulsos de en ada los que el sumado ha con ado, ya que cada uno añade un ke nel de alo 2. Po úl imo, en la g á ica c) le damos al da o del ke nel el alo 7, mien- as que el umb al lo es ablecemos en 128. Una ez más, los núme os sob e los pulsos de Enable nos indican el alo del acumulado as suma cada uno de los pulsos. Como podemos e , as suma 18 e en os FIGURA 4.19. Señales de handshaking ob enidas en simulación. Pulse+ Ack_ ow Rqs _ ow 71 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os el alo del acumulado es de , lo cual implica que aún no se ha alcanzado el lími e. Sin emba go, al suma el e en o núme o 19, ob enemos , luego ya ha supe ado el lími e, p o o- cando el pulso de salida. En es e caso, podemos comp oba cómo el píxel de ec a que se ha sob epasado el lími e, aunque la cuen a no p o- duzca el alo exac o, ya que solamen e comp ueba el cambio en el bi co espondien e (en el caso del lími e 128, comp ueba el alo del bi 7, ya que ). 3. En es e o o ejemplo, amos a obse a cómo el píxel suma igualmen e un da o nega i o, y además iene en cuen a los pulsos de ol ido, como se FIGURA 4.20. Resul ados de simulación co espondien es al ejemplo 1, con el da o del ke nel igual a 1, y el lími e del acumulado a iando en e 1, 2, 4 y 8. a) Lími e del acumulado = 1 b) Lími e del acumulado = 2 c) Lími e del acumulado = 4 d) Lími e del acumulado = 8 Pulse+ Rqs _ ow Enable Pulse+ Rqs _ ow Enable Pulse+ Rqs _ ow Enable Pulse+ Rqs _ ow Enable 1111111 222 1234123412345 6 7 8 1234567 8 7 18×126= 126 7+ 133 128>= 27128= El píxel de con olución 72 mues a en la Fig. 4.22. Conc e amen e, en es a p ueba u ilizamos como da o del ke nel -1, mien as que el lími e del acumulado es -2. De es e modo, cuando el píxel ecibe un p ime pulso de Enable, el acumulado almacena el alo -1, pe o cuando jus o a con inuación ecibe un pulso de ol ido, el píxel suma +1 (ya que el es ado ac ual es nega i o) y el acu- mulado se pone a 0 de nue o. A con inuación, cuando llegan dos pulsos de Enable consecu i os sin que haya ningún ol ido, en onces sí alcanza el acumulado el alo , y gene a un e en o de salida. En es a igu a se puede obse a ambién como la señal que se ac i a es Pulse-, y no FIGURA 4.21. Resul ados de simulación co espondien es al ejemplo 2, con el da o del ke nel igual a 2 en a) y b) e igual a 7 en c), y el lími e del acumulado a iando en e 16, 32 y 128, espec i amen e. a) Lími e del acumulado = 16, Da o=2 b) Lími e del acumulado = 32, Da o=2 c) Lími e del acumulado = 128, Da o=7 246810 12 14 16 246810 12 14 16 2 46810 12 14 16 18 20 22 24 26 28 30 32 714 2129 3542 49 56 6370 77 84 9198105112 119 126 133 Enable Rqs _low Pulse+ Enable Rqs _low Pulse+ Enable Rqs _low Pulse+ 2– 73 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os Pulse+ como en los ejemplos p e ios, indicando co ec amen e el signo del e en o p oducido. 4.4.2. Ve sión a anzada Con 2 Una ez ab icado y es ado el chip de con olución Con 1, basado en la e sión inicial del píxel digi al desc i a en el apa ado an e io , comp oba- mos que pa a cie as aplicaciones en las que que emos ob ene ápidamen e e en os de salida como esul ado de la ope ación de con olución no necesi- amos acumulado es con g an can idad de bi s. Asimismo, obse amos que se ía in e esan e pode alcanza en un único chip una mayo esolución espacial, es deci , mayo can idad de píxeles in eg ados. Po es e mo i o, plan eamos es a e sión a anzada del píxel de con olución, con el obje i o de inc emen a el núme o de píxeles in eg ados en un mismo chip sin que ello suponga un cos e de á ea. Las dimensiones u ilizadas pa a es a nue a e sión del píxel digi al son 6 bi s pa a el acumulado (5 más el signo), y 4 bi s pa a los da os del ke nel FIGURA 4.22. Resul ados de simulación co espondien e al ejemplo 3, con el da o del ke nel igual a -1, el lími e del acumulado igual a -2, y con el e ec o del ol ido. Pulse+ Rqs _ ow Ol ido Enable -1 0-1 -2 El píxel de con olución 74 (3 más el signo). De es e modo, el acumulado puede ep esen a alo es codi icados en complemen o a 2 en e y , mien as que el ke nel puede p esen a alo es en e y . En la Fig. 4.23 se mues a el diag ama de bloques del nue o píxel de con olución. Como se puede obse a , además de los nue os amaños del sumado , del acumulado y del da o del ke nel, hay una se ie de di e encias sob e la e sión an e io que hay que desc ibi : el bloque de swi ches a la en ada del da o, la nue a selección del lími e del acumulado con el ci - cui o “Logic =” y el bloque de inhibición. 1. Bloque de swi ches. Es e bloque se añadió pa a educi el consumo de po encia innecesa io en la e sión inicial del píxel. Como se desc ibió en el apa ado an e io , los da os del ke nel almacenados en la RAM se seleccionan po ilas pa a suma los sob e una ila de píxeles, con el des- plazamien o ho izon al adecuado. Así, una ez que se ac i a la lec u a de una ila de la RAM, cada da o apa ece a la en ada del sumado de odos los píxeles de una misma columna. En la e sión an e io del píxel, es o implicaba que odos los píxeles del a ay calculaban la suma co espon- dien e, aunque sólo los píxeles de la ila seleccionada ecibían un pulso de Enable, po lo cual solamen e és os almacenaban el esul ado de dicha suma. Es e modo de ope ación p oducía un esul ado co ec o, aunque enía el incon enien e de hace que odos los píxeles e ec ua an la suma de o ma innecesa ia, p oduciendo un consumo de po encia excesi o. Pa a soluciona es e p oblema, en la e sión a anzada del píxel se añadió 2– 532–= 251– 31= 23 – 8–= 231– 7= FIGURA 4.23. Diag ama de bloques de la e sión a anzada del píxel digi al de con olución. 75 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os el bloque de swi ches a la en ada. En la Fig. 4.24 se puede e un esquema de la uncionalidad de es e bloque, así como un diag ama em- po al que mues a su compo amien o. De es e modo conseguimos e i a que el píxel haga cualquie ipo de ope ación a menos que eciba un pulso de Enable del con olado , y además sin necesidad de habe aña- dido ninguna señal ex a, ya que hemos u ilizado la p opia señal de Ena- ble. Así pues, el lanco de subida de dicha señal pe mi e el paso del da o, y el lanco de bajada hace que se almacene el esul ado de la suma en el acumulado . Es o a a impone una limi ación sob e la máxima ecuen- cia de eloj posible, ya que la du ación de la señal de Enable iene dada po la du ación de un ciclo de eloj. De es e modo, una ecuencia de eloj muy ele ada p o oca á que el sumado no enga iempo de ealiza la ope ación en la du ación del pulso de Enable. En la Fig. 4.25 se puede e el esquemá ico del bloque de swi ches a ni el de ansis o es. FIGURA 4.24. Esquema del bloque de swi ches y diag ama empo al de su uncionamien o. El píxel de con olución 76 2. Selección del lími e del acumulado . En la e sión inicial exis ía la posi- bilidad de elegi en e 8 posibles umb ales, ya que eníamos un acumula- do sob edimensionado de 18 bi s, y así conseguíamos ene un mayo con ol sob e el píxel, y ealiza p uebas con dis in os amaños. Sin emba go, con el acumulado ac ual de 6 bi s no iene sen ido man ene an al a p og amabilidad. Así pues, nues o obje i o es man ene la posi- bilidad de escoge en e dos posibles umb ales, con lo cual además edu- cimos el amaño del mul iplexo , lo que se aduce en un aho o de á ea (que es uno de nues os g andes obje i os pa a es e píxel). Sin emba go, siguiendo con la misma es a egia de compa a un bi del acumulado con su p opio bi de signo no conseguíamos los alo es que nos in e e- san. Es deci , en nues o nue o acumulado de 5 bi s más el signo pod ía- mos es ablece un umb al máximo de y un umb al mínimo de , a pesa de pode ep esen a alo es en e -32 y 31. Es a limi ación es debida a la o ma de de ec a el umb al a a és de la obse ación de un único bi . Pa a pode ap o echa comple amen e la esolución que nos da nues o acumulado se ía necesa io inclui un blo- que compa ado más complejo, en el que se obse e el alo de odos los bi s. Sin emba go, es o añadi ía una complicación ex a a nues o píxel, lo que se aduce en un inc emen o de á ea, algo que que emos e i a . FIGURA 4.25. Esquemá ico del bloque de swi ches. 2416= 24 – 1– 17–= 77 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os Po es e mo i o p oponemos una solución in e media, compa ando sola- men e los dos bi s más signi ica i os de la magni ud con el bi de signo. De es e modo, de ec a emos el umb al pa a el alo en los posi i os, y . Es a ope ación la ealiza la pue a lógica que podemos e en la Fig. 4.26, ya que se a a de compa- a el alo de es os dos bi s con el bi de signo in e ido. Po ese mo i o, las en adas de es e bloque A, B y C se conec an a los bi s 3 y 4, y al bi de signo in e ido, espec i amen e. No obs an e, incluimos en el píxel ambién un mul iplexo de 2 en adas pa a pode selecciona en e los umb ales de -25 y 24, o bien y , simplemen e seleccionando el bi 3 del acumulado del mismo modo que lo hacíamos en la e sión an e io del píxel. Así pues, los posibles umb ales quedan al y como se mues a en la Tabla 4.2. 3. El bloque de inhibición es una nue a u ilidad añadida a ni el de píxel pa a pode selecciona el signo de los e en os que nos in e esan en una 011000 224 10 = 100111 225 10 –= FIGURA 4.26. Pue a lógica que indica si 3 señales de en ada son iguales en e sí. 23 – 1– 9–= 238= El píxel de con olución 84 obse a cómo son necesa ios has a 15 e en os de en ada pa a alcanza el alo umb al de 8, debido a los pulsos de ol ido in e calados. Con es o, damos po concluido el capí ulo dedicado a la desc ipción del píxel de con olución. En el siguien e capí ulo pasamos a desc ibi el es o de bloques pe i é icos u ilizados en los chips de con olución Con 1 y Con 2. FIGURA 4.33. Resul ados de simulación co espondien es al ejemplo 3. En la g á ica de la izquie da se u iliza un da o igual a -1 con un umb al del acumulado de -25, mien as que en la g á ica de la de echa se usa un da o igual a 1 con un umb al de 8, pe o con el e ec o del ol ido ac i ado. Enable Rq_ ow Pulse- Enable Rq_ ow Pulse+ Fo ge ing 123456 7 8910111213141516171819202122232425 11223 3 4 45566778 0123 4 5 6 85 CAPÍTULO 5 Bloques pe i é icos en los chips de con olución 5.1. In oducción La o ma de lle a a cabo con oluciones bidimensionales median e un sis ema AER ha sido desc i a en capí ulos p e ios. Resumiendo, nues o chip de con olución iene que ecibi e en os de en ada, y pa a cada uno de ellos ha de suma el ke nel (que p e iamen e ha sido ca gado en la RAM del ke nel) sob e un ecinda io de píxeles de e minado po la di ección del e en o de en ada. Además cuando cada uno de es os píxeles alcance un umb al, iene que gene a un e en o de salida y ansmi i lo al pue o AER de salida. La pa e cen al de es e p ocesamien o, el píxel de con olución, ya ha sido desc i o en el capí ulo an e io , y es el enca gado de compu a de o ma local la ope ación de con olución, pe o son necesa ios una se ie de bloques pa a ges iona el p ocesamien o comple o. En gene al, apa e del a ay de píxeles, podemos dis ingui dos pa es undamen ales en nues os chips de con olución: la que se enca ga de eci- bi los e en os de en ada y suma el ke nel sob e los píxeles, y la que se enca ga de ecibi los e en os gene ados po los píxeles y en ia los al ex e- io . Todo ello se mues a en la Fig. 5.1. Bloques pe i é icos en los chips de con olución 86 La que pod íamos llama e apa de en ada cons a de los siguien es blo- ques: 1. El con olado sínc ono, que cap u a el e en o de en ada y ealiza los cálculos opo unos pa a decidi qué acciones iene que lle a a cabo pa a p ocesa dicho e en o. Además se enca ga de en ia al es o de bloques las señales opo unas pa a lle a a cabo dicho p ocesamien o. Es e blo- que es á de allado en la Sección 5.2. 2. La memo ia RAM, donde se almacena el ke nel de con olución an es de que el chip en e en modo de uncionamien o, y de donde se leen los FIGURA 5.1. A qui ec u a del chip de con olución (* Bloque incluido solamen e en la e sión Con 2) 87 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os da os que ienen que se sumados po los píxeles. Es e bloque apa ece desc i o en la Sección 5.3. 3. El in e so de complemen o a 2, que se enca ga de in e i los da os del ke nel an es de suma los en los píxeles en el caso de que el e en o de en ada enga signo nega i o. En la Sección 5.4 se encuen a la desc ip- ción de es e bloque. 4. El bloque de desplazamien o ho izon al. Según la di ección del e en o de en ada, el ke nel almacenado en la RAM debe á suma se sob e unos píxeles conc e os den o del a ay. Es e bloque se enca ga de desplaza ho izon almen e el ke nel de la RAM pa a que coincida jus o con los píxeles deseados. Es á desc i o en la Sección 5.5. Po o a pa e, la e apa de salida es la que llamamos gene ado AER, y apa ece de allada en la Sección 5.6. En gene al, hay que eco da que en la p esen e esis es amos desc i- biendo dos e siones di e en es de chip de con olución, a las que nos e e i- mos como Con 1 y Con 2, y ya en el Capí ulo an e io desc ibimos los píxeles de con olución co espondien es a las dos e siones. Del mismo modo, a lo la go del p esen e capí ulo, pa a cada bloque i emos comen ando las di e encias exis en es en e ambas e siones de dicho bloque si las hubie a. 5.2. El con olado sínc ono El esquema del con olado sínc ono podemos e lo en la Fig. 5.2. Aunque la pa e undamen al del con olado es la máquina de es ados, que es la enca gada de ealiza odo el p ocesamien o y habili a las ope aciones que ienen que ealiza el es o de bloques, dicha máquina de es ados nece- si a una se ie de bloques pa a su uncionamien o. Si analizamos es e diag ama de bloques desde el pun o de is a de la en ada de e en os, en p i- me luga nos encon amos un bloque de sinc onizado es. Es e bloque es necesa io po la na u aleza asínc ona del p o ocolo AER, pa a p ocesa un e en o asínc ono po una máquina de es ados sínc ona (es o se explica á más adelan e, con esul ados expe imen ales, en la Sección 5.2.4). A con i- nuación, apa ece la cola de en ada, que se u iliza pa a almacena en ella los Bloques pe i é icos en los chips de con olución 88 e en os de en ada mien as espe an pa a se p ocesados. Es o e i a el iesgo de pe de e en os que lleguen en un pe iodo de iempo meno del necesa io pa a p ocesa los. A con inuación, los e en os cap u ados po la cola son p ocesados po la máquina de es ados, que se enca ga de habili a las señales opo unas pa a la lec u a de las ilas del ke nel p og amadas en la RAM, in e i los da os si el e en o que es á p ocesando es nega i o, indica el desplazamien o ho izon al necesa io pa a que el ke nel quede cen- ado sob e los píxeles adecuados, y po úl imo gene a los pulsos de Enable pa a que cada ila de píxeles sume los da os opo unos del ke nel. También se enca ga, en el caso de Con 2, de gene a unas señales pa a bloquea columnas, como pa e del sis ema mul ike nel. El sis ema mul ike nel (u ilidad incluida en Con 2) pe mi e p og ama a ios ke nels di e en es (has a un máximo de 32) en la memo ia RAM, de o ma que cada e en o de en ada incluye, apa e de la di ección, in o ma- ción sob e qué ke nel debe usa se pa a p ocesa lo. Así, el con olado iene que ac i a las ilas co espondien es de la RAM en unción del ke nel indi- FIGURA 5.2. Diag ama de bloques del con olado sínc ono. 89 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os cado po cada e en o, y ambién iene que bloquea las columnas que no o man pa e del ke nel (que en gene al, o ma án pa e de o o ke nel di e- en e) pa a que sólo se sumen las posiciones adecuadas sob e el a ay de píxeles. En las siguien es secciones se desc ibi á cómo a ec a es a u ilidad a los di e en es bloques del chip. Además de es os bloques, emos en la Fig. 5.2 que ambién enemos un gene ado de eloj, que pe mi e que el con olado sínc ono uncione sin necesidad de una señal de eloj ex e na (que ambién se le puede suminis a si lo deseamos). Y po úl imo, aunque no necesa iamen e debe es a in e- g ado den o del con olado , ep esen amos en la igu a el egis o de con i- gu ación. En es e egis o, an es de que nues o chip en e en modo de ope ación, ca gamos una se ie de pa áme os en se ie con los cuales es able- cemos el modo de uncionamien o. Algunos de es os pa áme os son u iliza- dos po la máquina de es ados pa a ealiza su come ido (como la di ección base de los píxeles del a ay), y o os se usan pa a con igu a los p opios píxeles (como el alo del umb al del acumulado ). El con olado ha sido desc i o median e código VHDL [93] y sin e i- zado de o ma au omá ica, con la pa icula idad del egis o de con igu a- ción, que en la e sión de Con 1 se diseñó apa e del con olado mien as que en Con 2 se incluyó den o del bloque global. 5.2.1. El gene ado de eloj de al a ecuencia El gene ado de eloj u ilizado es un oscilado en anillo de 5 in e so- es, al y como se mues a en la Fig. 5.3. El ealidad, el quin o in e so del anillo es á in eg ado en la pue a NAND que se u iliza pa a habili a lo o deshabili a lo. Como podemos e , hay un mul iplexo que, median e la señal Sel_clk, pe mi e conmu a en e la señal de eloj gene ada in e na- men e u o a in oducida desde ue a del chip. La pue a NAND se enca ga de que el anillo deje de oscila cuando es á seleccionado el eloj ex e no, pa a e i a consumo y uido innecesa io. Además, como se indica en la igu a, uno de los in e so es del anillo iene limi ada la co ien e máxima median e una señal de con ol Vbias_clk, la cual es accesible desde el ex e io del chip y nos pe mi e p og ama la Bloques pe i é icos en los chips de con olución 90 ecuencia de eloj. La señal de eloj gene ada po es e bloque (Clk_ou ) es á conec ada a un di iso de ecuencia que nos pe mi e accede a su salida desde ue a del chip. G acias a eso, podemos medi ex e namen e la ecuencia de eloj (di idida po 32, pa a acili a su isualización en labo- a o io) y ajus a la ensión de con ol pa a consegui la ecuencia que que- amos. En la Fig. 5.4 podemos e la elación ob enida po simulación del ex aído con Spec e en e es a ensión de con ol y la ecuencia de oscila- ción. El con olado puede abaja con ecuencias de eloj de has a 200MHz, aunque la ecuencia máxima de uncionamien o del chip iene limi ada po o os bloques. 5.2.2. La cola de en ada Al habla de la cola de en ada nos e e imos al bloque enca gado de cap u a los e en os (p e iamen e sinc onizados con el eloj del sis ema) y pasá selos a la máquina de es ados pa a que és a ealice las ope aciones opo unas. Además, incluye una cola ci cula de 4 posiciones que ac úa como un bu e , es deci , pe mi e almacena has a 5 e en os mien as la máquina de es ados es á ocupada (los 4 de la cola más la posición de alma- cenamien o en el bloque Ex e nal In e ace). En ealidad el obje i o de es a cola no es se capaz de ges iona un al o p omedio de á ico de en ada, ya que la cola se sa u a ía al hace lo la máquina de es ados, sino que es á dise- ñada pa a esponde an e pequeños picos de á ico pun uales. Si llegan FIGURA 5.3. Esquema del gene ado de eloj. 91 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os e en os mien as odas las posiciones es án ocupadas, el ecep o de iene al emiso no espondiendo a la señal de Rqs . El uncionamien o de la cola es el que se explica a con inuación, y es á ilus ado en la Fig. 5.5. En es ado de eposo pe manece mien as espe a que se ac i e la señal Rqs . Una ez que se ac i a dicha señal, comp ueba si hay FIGURA 5.4. Ca ac e ización del gene ado de eloj ( ecuencia de oscilación en e a la ensión de con ol). FIGURA 5.5. Diag ama que ilus a el uncionamien o de la cola de en ada. Bloques pe i é icos en los chips de con olución 92 alguna posición lib e de la cola (mi ando una señal in e na Full/Emp y), y si la espues a es a i ma i a en onces almacena la di ección del e en o y ac i a la señal Ack. Es e p oceso se lle a a cabo po el bloque llamado Ex e nal In e ace, que a su ez se enca ga de en ia el e en o almacenado al bloque llamado Do W i e, que se enca ga de la esc i u a en la cola. Así pues, a con inuación es e bloque se enca ga de copia la di ección del e en o en la p ime a posición disponible de la cola, y de inc emen a el alo del egis o llamado Las , que apun a al úl imo elemen o de la cola. En onces e i ica si el alo de (Las +1)MOD4 coincide con el de Fi s MOD4, lo cual signi ica ía que la cola es á comple a, ac i ando en ese caso la señal Full/Emp y. En cuan o al p oceso de lec u a, cuando la máquina de es ados es é en espe a, comp oba á si hay algún e en o en la cola p egun ándole al bloque Do Read, el cual se enca ga de mi a los alo es de Fi s , Las y Full/Emp y. Si se da el caso de que (Las +1)MOD4 no coincide con Fi s MOD4, o bien Full/Emp y es á ac i o, eso signi ica que hay al menos un e en o en la cola espe ando a se p ocesado. En ese caso, en ía a la máquina de es ados el e en o almacenado en la posición Fi s de la cola, inc emen ando el alo de Fi s y desac i ando Full/Emp y si es aba ac i o. 5.2.3. La máquina de es ados La máquina de es ados es la esponsable de lle a a cabo la ope ación de con olución paso po paso, habili ando la suma del ke nel sob e los píxe- les opo unos ila po ila. Pa a ello, necesi a conoce las coo denadas del a ay de píxeles y del e en o de en ada, así como el amaño del ke nel, pa a así pode calcula la posición exac a sob e la que aplica dicho ke nel. Puede ocu i que el campo p oyec i o co espondien e a un e en o de en ada caiga comple amen e ue a del espacio de di ecciones del chip, o bien que caiga den o pa cialmen e. En unción del caso conc e o en el que se encuen e, el con olado e ec ua á unas ope aciones u o as. El diag ama de es ados se mues a en la Fig. 5.6, y lo desc ibimos a con inuación: 1. Es ado de eposo. El con olado se encuen a espe ando has a la llegada de algún e en o de en ada. Mien as la cola no ac i e la señal de da o disponible, la máquina pe manece inde inidamen e en es e es ado. Una ez que de ec a dicha señal, pasa al es ado de cálculo. Es e es ado se 93 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os enca ga ambién de la gene ación de la señal de ol ido global de o ma pe iódica. El con olado , apa e de es a máquina de es ados, incluye ambién un con ado p og amable de 20 bi s que ac i a una señal de in de cuen a cada ez que alcanza el lími e, quedándose a la espe a. Sin emba go, pa a e i a colisiones en e la señal de ol ido y las señales Enable, es el es ado de eposo de la máquina de es ados el que com- p ueba el alo de la señal de in de cuen a, gene ando en onces el pulso global de ol ido y einiciando el con ado . 2. Es ado de cálculo. Es en es e es ado donde la máquina iene que ealiza los cálculos y decidi las ope aciones necesa ias. En p ime luga , com- pu a la posición ho izon al del ke nel den o del a ay de píxeles, de FIGURA 5.6. Diag ama de es ados del con olado sínc ono. Bloques pe i é icos en los chips de con olución 100 los pulsos de ol ido. Tan o los bi s de selección de sinc onizado como el de selección de eloj se usan pa a con ola sus bloques co espondien es. En cuan o a los 64 bi s de con igu ación de los pull-downs de la a bi ación po ilas, su uncionamien o apa ece desc i o en la Sección 5.6, al desc ibi el gene ado AER. En cuan o a la o a e sión de chip de con olución Con 2, la e apa de con igu ación p esen a una se ie de no edades, undamen almen e debidas al sis ema mul ike nel. Como ya se ha comen ado an e io men e, es e sis- ema se basa en la posibilidad de p og ama has a 32 ke nels di e en es en la RAM, así que pa a que la máquina de es ados pueda accede al ke nel co espondien e en unción del e en o de en ada necesi a in o mación ace ca de la posición de cada uno de ellos. Po ese mo i o se ha diseñado una abla de memo ia o mada po 34 ilas de 32 bi s cada una. En cada ila de las 32 p ime as se almacena la in o mación e e en e a cada ke nel, mien as que en las dos úl imas ilas se almacenan el es o de pa áme os del sis ema. TABLA 5.2. Lis a de pa áme os de con igu ación Pa áme o Núme o de bi s Signi icado 14 Coo denada del píxel supe io izquie do den- o del espacio de en ada de 128x128 14 Coo denada del píxel in e io de echo den o del espacio de en ada de 128x128 10 Dimensiones del ke nel den o de la RAM 20 Ciclos de eloj en e dos pulsos de ol ido globales 1 Selección del eloj in e no o ex e no 3 Selección del lími e del acumulado 64 Con igu ación de los ansis o es pull-down en la a bi ación po ilas 2 Selección de sinc onizado x y,( ) min x y,( ) max p q,( ) n ol sel clk sel acc sel pd sel syn 101 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os Pa a desc ibi la in o mación e e en e a cada ke nel se necesi an 6 pa áme os, los cuales apa ecen ep esen ados en la Fig. 5.9. Como pode- mos e , 4 de es os pa áme os indican la posición del ke nel den o de la memo ia RAM a a és de las coo denadas de la esquina supe io izquie da y de la esquina in e io de echa . Cada uno de es os 4 pa áme os iene 5 bi s. En cuan o a los dos pa áme os es an es, indican las coo denadas del cen o de aplicación del ke nel. En la e sión an e io Con 1 es e pa áme o no exis ía, ya que se conside aba que odos los ke - nels se aplicaban sob e su p opio cen o. Sin emba go, pa a algunas aplica- ciones se ha comp obado que no siemp e iene que se así. Po ejemplo, en las aplicaciones de econocimien o de le as se usan con oluciones que a- an de de ec a ca ac e ís icas de un ca ác e que se encuen an en un ex emo del mismo, luego el ke nel se iene que aplica desplazado sob e su p opio cen o [74]. Po es e mo i o se incluyen dos pa áme os que indican la posición ela i a a la di ección del e en o que debe ocupa el ke - nel. Es os pa áme os pueden se posi i os o nega i os, ya que es a posición puede supone un desplazamien o hacia la de echa o hacia la izquie da, y FIGURA 5.9. De inición de los pa áme os ela i os a cada ke nel. xmin ymin ,( ) xmax ymax ,( ) cxcy ,( ) Bloques pe i é icos en los chips de con olución 102 hacia a iba o hacia abajo. Po ello, se codi ican en complemen o a 2 con 6 bi s (5 más el signo), con o mando un o al de 32 bi s pa a de ini las ca ac- e ís icas de cada ke nel, que es la longi ud de una ila de la abla de memo- ia. Así, cada ez que llega un e en o de en ada, en unción del núme o de ke nel que indique se selecciona la ila co espondien e de es a abla de memo ia, de o ma que la máquina de es ados solamen e e á esa ila, a pa - i de la cual ob iene los da os necesa ios pa a calcula el desplazamien o ho izon al que debe aplica pa a cen a el ke nel sob e el a ay de píxeles, así como las posiciones de la RAM que iene que lee . También u iliza es os pa áme os pa a ac i a las señales Block_col pa a odos los alo es meno- es que y mayo es que . En las dos ilas es an es de la abla de memo ia se almacena la in o - mación ela i a a la con igu ación del chip de con olución. En la ila 33 se incluyen las coo denadas del espacio de di ecciones del chip , , 4 pa áme os de 8 bi s cada uno. La úl ima ila, la 34, almacena 1 bi de selección pa a el lími e del acumulado de los píxeles, 2 bi s pa a la selección de inhibición de e en os posi i os o nega i os, 1 bi pa a la ac i- ación del mecanismo de ol ido y 20 bi s pa a es ablece la ecuencia de dicho mecanismo. 5.3. La memo ia RAM es á ica La memo ia RAM es el bloque que se enca ga de almacena el alo del ke nel (ya sea un único ke nel en Con 1 o múl iples de ellos en Con 2), así que ambién se á el que limi e el amaño del ke nel de con olución. En el caso de Con 1 podemos u iliza ke nels de un amaño máximo de , mien as que en el caso de Con 2 end emos la misma limi ación si p og amamos un único ke nel, mien as que cuando p og amemos a ios de ellos se á obliga o io que es os sean más pequeños. En de ini i a, en ambos casos la memo ia RAM cuen a con posiciones. La di e en- cia en e ambos chips es que, como se desc ibió en el capí ulo an e io , Con 1 u iliza da os de 6 bi s mien as que Con 2 los usa de 4 bi s. Po lo demás, desde un pun o de is a de es uc u a, ambas memo ias son iguales. xmin xmax imin jmin ,( ) imax jmax ,( ) 32 32× 32 32× 103 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os En la Fig. 5.10 podemos e el esquema del bloque comple o de memo ia RAM, incluyendo la ci cui e ía de esc i u a y lec u a. En la pa e in e io emos el egis o de desplazamien o de bi s, siendo n el núme o de bi s de cada da o (6 pa a Con 1 y 4 pa a Con 2). Es e egis o de desplazamien o en ealidad cuen a con 5 bi s más que se usan pa a indica la ila co espondien e. De es e modo, cuando que emos esc ibi la RAM desde ue a del chip, en iamos cadenas de bi s, y el decodi i- cado se enca ga de ac i a la ila co espondien e y almacena los da os en ella. El p oceso de lec u a es muy pa ecido, sal o que los 5 bi s que selec- cionan la ila no los oma del egis o de desplazamien o, sino del p opio con olado , que ac i a el modo de lec u a y le indica la ila co espon- dien e. De es e modo, el decodi icado habili a la lec u a de la ila co es- pondien e. Pa a implemen a el sis ema mul ike nel, en el chip Con 2 se añade un bloque ex a a la salida de los da os de la RAM, ya que enemos que asegu- a nos de que odas las posiciones de la memo ia que no se co esponden con el ke nel que es emos p ocesando en cada momen o no a ec en al a ay de píxeles. Pa a ello la máquina de es ados gene a una señal de Block_col FIGURA 5.10. Esquema del bloque comple o de memo ia RAM. 32 n× 32 n×( ) 5+ Bloques pe i é icos en los chips de con olución 104 pa a cada una de las 32 posiciones de la RAM (po columnas) que se enca ga de bloquea odas las palab as que no pe enecen al ke nel. El ci - cui o que se enca ga de implemen a es e bloqueo apa ece ep esen ado en la Fig. 5.11. En es a igu a se mues a el subci cui o co espondien e a cada uno de los 32 da os de la RAM ( o mados po 4 bi s cada uno en el caso de Con 2). Así pues, el ci cui o comple o inclui á 32 celdas como la de la igu a. El ci cui o ecibe del con olado 32 señales de Block_col_i, las cua- les ald án 1 pa a y 0 pa a los alo es es an es ( y se co esponden con la posición del ke nel en la RAM según se indica en la Fig. 5.9). Así las señales Da a_i<0:3> ald án 0 pa a odas las columnas que no pe enezcan al ke nel. En la Fig. 5.12 podemos e la es uc u a de una celda básica de la memo ia RAM, diseñada de o ma que iene un iempo de lec u a in e io a 2ns, ya que necesi amos que el iempo de esc i u a del ke nel sea lo más ápido posible. Cualquie e aso ex a que añadie a la RAM incidi ía en el iempo que se a da en p ocesa cada ila, y como consecuencia limi a ía la máxima ecuencia de eloj que puede se p og amada. La Fig. 5.13 mues a el layou de una celda básica como la de la Fig. 5.12. FIGURA 5.11. Ci cui o enca gado de bloquea las columnas de la RAM pa a implemen a el sis ema mul ike nel. xmin i xmax ≤ ≤ xmin xmax 105 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os 5.4. El in e so de complemen o a 2 Como ya se explicó al desc ibi el uncionamien o global del chip de con olución, és e ecibe e en os AER con su co espondien e bi de signo, al igual que cada e en o de salida debe se gene ado ambién con su p opio signo indicando si el píxel en cues ión ha sa u ado po el lími e posi i o o po el nega i o. Así pues, cuando un chip ecibe un e en o de en ada nega- FIGURA 5.12. Celda básica de la memo ia RAM. FIGURA 5.13. Layou de una celda de memo ia RAM. Bloques pe i é icos en los chips de con olución 106 i o iene que p ocesa lo como al, es deci , sumando el ke nel sob e el ecinda io co espondien e pe o cambiado de signo. Po es e mo i o necesi- amos un bloque que in ie a el signo del ke nel. Pa a desempeña es a unción se con empla on 2 al e na i as. La p i- me a de ellas consis ía en almacena en nues a memo ia RAM el ke nel na u al y con el signo in e ido. Es o simpli ica ía la ope ación del chip, ya que simplemen e end ía que accede a una zona di e en e de la memo ia en unción del signo del e en o. Sin emba go, la des en aja que enía es que limi aba el amaño del ke nel, ya que és e necesi aba el doble de su amaño pa a almacena lo. La segunda al e na i a consis ía en añadi un bloque que calcula a el in e so de cada da o de la RAM en el momen o de se leído. Es a al e na i a nos pe mi e man ene el amaño máximo del ke nel, y sola- men e iene la pequeña des en aja de añadi un lige o e aso sob e el p o- ceso de lec u a, así que hemos diseñado el bloque in e so pa a minimiza dicho e aso, que en la p ác ica esul a desp eciable den o del p oceso de lec u a. El e aso añadido po el bloque in e so ha sido es imado en unos median e simulación con Spec e, mien as que el cos e de á ea adi- cional consumida po es e ci cui o es de unas (siendo el á ea consumida po la RAM de mucho mayo ). De es e modo, se necesi an 32 bloques, uno pa a cada posición de la RAM. Pa a Con 1, la es uc u a del bloque p opues o cons a de 6 ci cui os combinacionales, uno po cada salida. Pa a Con 2 sólo necesi amos 4 ci - cui os. Po es e mo i o amos a desc ibi el u ilizado en Con 1. La en ada a cada bloque se a a de una palab a digi al de 6 bi s siendo el bi más signi ica i o, el que indica el signo. Además, ecibi án una en ada sel que indica que se habili a la ope ación de in e sión, y se ob iene o a palab a digi al de 6 bi s de salida donde es el bi más signi ica i o. A pa i de las ablas de e dad que exp esan los esul ados pa a odas las posibles combinaciones, las exp esiones lógicas ob enidas pa a las 6 señales de salida se pueden e en las ecuaciones (5.1)-(5.6). (EQ 5.1) (EQ 5.2) 400ps 3750 40µm2 × 3750 480µm2 × i0…i5 , ,( ) i5 o0…o5 , ,( ) o5 o0i0 = o1i1sel∨( ) i0i1 ∨( ) i1i0sel∨ ∨( )∧ ∧= 107 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os (EQ 5.3) (EQ 5.4) (EQ 5.5) (EQ 5.6) A pa i de es as exp esiones se ob ienen las pue as lógicas co espon- dien es. En las igu as Fig. 5.14-Fig. 5.18 apa ecen ep esen ados los esque- má icos esul an es (en la pa e izquie da) y los layou s (en la pa e de echa) de las celdas que calculan los bi s - ( eniendo en cuen a la ecuación (5.1), no hace al a una pue a lógica pa a calcula ). 5.5. El bloque de desplazamien o ho izon al Una ez que los da os del ke nel son leído de la RAM, an es de llega a los píxeles co espondien es del a ay ienen que desplaza se hacia la izquie da o hacia la de echa pa a cen a se sob e las di ecciones adecuadas. Es a ope ación la lle a a cabo el bloque de desplazamien o ho izon al. Es e bloque consis e en un a ay bidimensional de bu e s i-es ado con olados po las señales de desplazamien o y igh /le . Es as señales son gene adas po la máquina de es ados, que a a és de dos decodi icado- es incluidos en el p opio con olado habili a la señal de desplazamien o ap opiada. En la Fig. 5.19 podemos e la es uc u a de es e bloque. Como o2i2sel∨( ) i2i0sel∨ ∨( ) i2i1sel∨ ∨( ) i2i1i0 ∨ ∨( )∧ ∧ ∧= o3i3sel∨( ) i3i0sel∨ ∨( ) i3i1sel∨ ∨( )∧ ∧ ∧= i3i2sel∨ ∨( ) i3i2i1i0 ∨ ∨ ∨( )∧ ∧ o4i4sel∨( ) i4i0sel∨ ∨( ) i4i1sel∨ ∨( ) i4i2sel∨ ∨( )∧ ∧ ∧ ∧= i4i3sel∨ ∨( ) i4i3i2i1i0 ∨ ∨ ∨ ∨( )∧ ∧ o5i5sel∨( ) i5i0sel∨ ∨( ) i5i1sel∨ ∨( ) i5i2sel∨ ∨( )∧ ∧ ∧ ∧= i5i3sel∨ ∨( ) i5i4sel∨ ∨( ) i5i4i3i2i1i0 ∨ ∨ ∨ ∨ ∨( )∧ ∧ ∧ o1 o5 o0 x∆ Bloques pe i é icos en los chips de con olución 108 ya se ha desc i o al habla de la máquina de es ados, cada ez que és a es á p ocesando un e en o ealiza los cálculos opo unos en e la di ección de FIGURA 5.14. Esquemá ico y layou del ci cui o combinacional que calcula el bi en el bloque in e so de complemen o a 2. o1 FIGURA 5.15. Esquemá ico y layou del ci cui o combinacional que calcula el bi en el bloque in e so de complemen o a 2. o2 109 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os FIGURA 5.16. Esquemá ico y layou del ci cui o combinacional que calcula el bi en el bloque in e so de complemen o a 2. o3 FIGURA 5.17. Esquemá ico y layou del ci cui o combinacional que calcula el bi en el bloque in e so de complemen o a 2. o4 Bloques pe i é icos en los chips de con olución 116 so ue e, sino con el débil. Así conseguimos que la comunicación po ilas sea más obus a y más ápida. 117 CAPÍTULO 6 Resul ados expe imen ales 6.1. In oducción En es e capí ulo p esen amos los esul ados expe imen ales ob enidos con los chips de con olución ab icados, que han sido desc i os en los capí- ulos an e io es. En p ime luga , la Sección 6.2 mues a algunas p uebas a ni el de píxel e ec uadas sob e un p ime p o o ipo o mado po un a ay de píxeles de la e sión inicial. Es as p uebas si ie on undamen almen e pa a alida dicho píxel como paso p e io al diseño del chip de con olución comple o con el es o de bloques. A con inuación, la Sección 6.3 desc ibe las he amien as básicas u ili- zadas pa a los es s ealizados sob e el chip de con olución, conc e amen e las di e sas placas pa a ges iona los e en os AER y el en o no so wa e que jun o con dichas placas nos pe mi e con ola los chips y ealiza sob e ellos las p uebas opo unas. Po úl imo, en las Secciones 6.4 y 6.5 se de allan las p uebas ealizadas sob e el chip de con olución Con 1 y Con 2, espec i amen e, mos ando 2 2× Resul ados expe imen ales 118 los p incipales esul ados ob enidos. Pa a el chip Con 2 no se han podido comple a odos los es s debido a un e o en la implemen ación del con o- lado sínc ono, que ha sido de ec ado y co egido en una nue a e sión que en el momen o de la elabo ación de es e documen o se encuen a en ab ica- ción. Así pues, se incluyen solamen e los esul ados ela i os a la ca ac e i- zación del chip, ya que es os no es án a ec ados po el e o del con olado . 6.2. P o o ipo de 2x2 píxeles Como un p ime paso an es de diseña odos los bloques del chip de con olución desc i os en los capí ulos p e ios, se plan eó la necesidad de comp oba el co ec o uncionamien o del píxel digi al, como elemen o base del sis ema comple o. Pa a ello, se ab icó en la ecnología de AMS un pequeño ci cui o con un a ay de píxeles. En la Fig. 6.1 podemos e una o og a ía de dicho ci cui o. El p o o ipo almacena un único alo de ke nel que se compa e po los 4 píxeles. Pa a e i a ene un núme o ele ado de pads en es e ci cui o, se 0.35µm 2 2× FIGURA 6.1. Fo og a ía del p o o ipo de 2x2 píxeles de con olución. 119 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os u ilizó po una pa e un egis o de desplazamien o a a és del cual pode- mos p og ama el alo de la palab a del ke nel y del lími e del acumulado (ambos da os comunes pa a los 4 píxeles), y po o a pa e una señal Sel_ ow enca gada de selecciona cuál de las dos ilas debe ecibi las seña- les Enable y Ack, que ex e namen e son comunes. Es a con igu ación se puede en ende mejo con la ayuda del esquema mos ado en la Fig. 6.2. Se es ó con el Agilen 82000, dada la simpleza de los es s. Más adelan e, pa a es con es ímulos asínc onos se emplea á una in aes uc u a AER especí- ica. 6.2.1. Ca ac e ización del píxel Pa a ealiza p uebas sob e es e p o o ipo, seguimos el siguien e mé odo: p ime o se p og ama el egis o de desplazamien o seleccionando un lími e del acumulado y es ableciendo el alo del da o del ke nel, y a con inuación se habili a una de las ilas a a és de la señal Sel_ ow. Una ez con igu ado de es e modo, podemos en ia le señales de Enable y obse - a que los píxeles ac i an la señal Rqs _ ow cuando el acumulado alcanza el lími e p og amado. Ex e namen e p og amamos la señal Ack pa a que FIGURA 6.2. Esquema de la con igu ación de es u ilizada pa a con ola el p o o ipo de 2x2 píxeles de con olución. Resul ados expe imen ales 120 esponda y así podemos comp oba que el signo de los e en os es el co ec o obse ando las señales p1+, p1-, p2+ y p2-. En la Fig. 6.3 podemos obse a los esul ados ob enidos de una p i- me a p ueba. En es e caso se es ableció el lími e del acumulado en pa a alo es posi i os y pa a alo es nega i os En es e p ime p o o ipo los alo es seleccionables no e an los mismos que en la e sión in eg ada en el chip de con olución Con 1 desc i a en el capí- ulo co espondien e. Po o a pa e, se p og amó un da o del ke nel de 31 (el máximo alo posi i o posible con 6 bi s en complemen o a 2) en p ime FIGURA 6.3. Resul ados del es del p o o ipo 2x2 con un lími e del acumulado de 512 pa a alo es posi i os y -513 pa a los nega i os. 29512= 29 – 1– 513–= 121 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os luga . Con es a con igu ación, seleccionando la ila 2, se le en ia on pulsos de Enable al ci cui o, obse ando cómo la señal Rq_ ow2 p oducía un e en o después de acumula 17 pulsos de en ada ( , y ). También podemos comp oba cómo al ecibi la señal de Ack ambos píxeles ac i an la señal p1+ y p2+, indicando el signo del e en o. Todo es o apa ece e lejado en la g á ica supe io de la Fig. 6.3. En gene al, en los esul ados del es se ap ecia que los pulsos de Rqs ienen di e en es du aciones. Es o es debido a que, si bien la ac i ación de dicha señal depende del ins an e en el cual se alcanza el lími e del acumulado , la desac i ación se p oduce cuando ex e namen e se ac i a la señal Ack. Así, en unción del ins an e en el que p og amemos la ac i ación del Ack, el pulso de Rqs du a á más o menos. En cuan o a la g á ica in e io de la Fig. 6.3, en ella simplemen e se modi ica el alo del da o del ke nel, siendo en es e caso -31. De es e modo, comp obamos que el lími e del acumulado se alcanza igualmen e as eci- bi 17 pulsos de en ada ( , y ). La di e encia que podemos obse a es que al ecibi la espues a de la señal Ack, los píxeles ac i an en es a ocasión la señal p1- y p2-, indicando que han alcanzado el lími e nega i o del acumu- lado . Pa a comp oba qué ocu e cuando ijamos un lími e di e en e del acu- mulado , hacemos una segunda p ueba, seleccionando en es e caso como umb al pa a alo es nega i os y pa a alo- es nega i os. Al epe i con es os pa áme os las mismas p uebas que hici- mos con la con igu ación an e io , ob enemos los esul ados mos ados en la Fig. 6.4. Así, en la g á ica supe io de la Fig. 6.4 emos lo que ocu e con un da o p og amado de 31. Si con amos el núme o de e en os de en ada eci- bidos an es de gene a un e en o de salida, emos que son 34, lo cual esul a cohe en e al se . De es e modo, una ez que ecibe el e en o núme o 34 los píxeles de la ila 2 (que son los que ene- mos seleccionados en es a p ueba) gene an un pulso de Rqs , y al ecibi la señal Ack ac i an p1+ y p2+ indicando que el e en o es posi i o. En la g á- ica in e io de la Fig. 6.4 p og amamos como da o del ke nel -31, de modo que los píxeles igualmen e ac i an el Rqs después de ecibi 34 pulsos de 16 31×496 512<= 17 31×527 512≥= 16 31–( )× 493 513–>–= 17 31–( )× 527 513–≤–= 210 1024= 210 – 1– 1025–= 33 31×1023 1024<= Resul ados expe imen ales 122 Enable ( ). También se comp ueba cómo ac i- an las señales p1- y p2- pa a indica que ambos píxeles han alcanzado el lími e nega i o del acumulado . En cuan o a los da os de empo ización medidos den o del bloque de in e az del p o ocolo de los píxeles, podemos e los esul ados ep esen a- dos en la Fig. 6.5. Po una pa e, podemos e el e aso desde el lanco de bajada de la señal Enable que se enca ga de que se almacene el esul ado de la suma y el lanco de subida de la señal Rqs _ ow en el caso de que al alma- FIGURA 6.4. Resul ados del es del p o o ipo 2x2 con un lími e del acumulado de 1024 pa a alo es posi i os y -1025 pa a los nega i os. 33 31–( )× 1023 1025–>–= 123 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os cena dicho esul ado se haya supe ado el umb al p og amado. Del mismo modo, se mues a el iempo que a da el píxel en desac i a la señal Rqs _ ow después de ecibi la espues a de la pe i e ia. Y po úl imo, los e asos que añade el píxel al ac i a y desac i a las señales e icales Pulse+ cuando ecibe el pe miso pa a hace lo a a és de la señal Ack. 6.3. In aes uc u a AER pa a es s asínc onos Pa a la ealización de los di e sos es s que se han lle ado a cabo con los chips de con olución diseñados pa a el p esen e abajo, se han u ilizado una se ie de placas con igu ables [48], [96], [97], [98] que, jun o con el en o no so wa e adecuado, han acili ado mucho el desa ollo de las p ue- bas. En la Fig. 6.6 se mues a un ejemplo de in aes uc u a AER pa a es . En ella podemos e una placa AER con un chip de con olución (3) con su co espondien e placa de con igu ación (4). Además, enemos dos placas USB-AER, una de ellas con igu ada como da a-playe (1), y la o a como da a-logge (6). Po úl imo, se pueden e dos placas Spli e -Me ge , una con igu ada en modo Spli e (2) y la o a como Me ge (5). A con inuación incluimos una b e e desc ipción de dichas placas, así como del en o no so wa e. FIGURA 6.5. Da os de empo ización ob enidos con el p o o ipo de 2x2. Resul ados expe imen ales 124 FIGURA 6.6. Ejemplo de in aes uc u a AER pa a es . Fo og a ía de las dis in as placas en la pa e supe io , y esquema co espondien e en la pa e in e io . 125 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os 6.3.1. Placa AER És a es una placa sob e la cual se inse a el p opio chip de con olución (encapsulado sob e un PGA-100). Como se puede e en la Fig. 6.7, es a placa incluye una se ie de po encióme os pa a con ola las ensiones de pola ización del chip (pa a es ablece la ecuencia de eloj y pa a con ola los pull-ups y pull-downs del gene ado AER). Además, la placa ecibe como en ada un bus de con igu ación a a és del cual se p og aman los egis os de pa áme os y el alo del ke nel. Po úl imo, cuen a con dos buses AER, uno de en ada y o o de salida, que se conec an al chip de con- olución. En la Fig. 6.6, se a a de la placa 3. 6.3.2. Placa USB-AER Es a placa se enca ga de ges iona el á ico AER, y se puede u iliza en dos modos de uncionamien o di e en es: como da a-playe y como da a-logge . El modo de uncionamien o se selecciona p og amando el i - mwa e co espondien e desde el PC [48]. En la pa e supe io de la Fig. 6.8 se puede e el esquema del uncio- namien o en modo da a-playe (placa 1 de la Fig. 6.6). En él, la placa ecibe desde un PC una lis a de e en os AER a a és del pue o USB. Es a lis a de e en os incluye la di ección y la ma ca empo al ( imes amp) de cada uno de ellos, has a un máximo de 500k-e en os. Una ez almacenados los e en- os en una memo ia incluida en la p opia placa, al ecibi la o den de ep o- FIGURA 6.7. Esquema de la placa de con olución. Resul ados expe imen ales 132 6.4.1.3. Ca ac e ización empo al El chip de con olución puede gene a e en os de salida con una asa máxima de eps, medidos co oci cui ando las señales Rqs _ou y Ack_ou y pa a e en os gene ados po píxeles de una misma ila (modo á aga). Es a asa se co esponde con un iempo en e e en os de . Sin emba go, dependiendo de la posición de los píxeles den o del a ay, el iempo en e e en os cambia de o ma signi ica i a. Los píxeles ce canos a los a bi ado es p o ocan meno es e asos de p opaga- ción. No obs an e, es a in luencia de la posición se puede minimiza ajus- ando cuidadosamen e los alo es de las ensiones de pola ización y swi ches de calib ación de los pull-ups y pull-downs del gene ado AER. De es e modo, conseguimos compensa los e asos a un ango que oscila en e 20 y 24ns pa a odos los píxeles del a ay. En la Fig. 6.13 podemos e las señales medidas Rqs _in, Ack_in Rqs _ou (co oci cui ada con Ack_ou ) con el ke nel de 5 ilas de la Fig. 6.14. El umb al de acumulación de los píxeles es aba ijado pa a p odu- ci un e en o de salida al ecibi un único e en o de en ada. De ese modo, es e ke nel ac i a 10 píxeles di e en es pe enecien es a 5 ilas dis in as pa a cada e en o de en ada. Los e en os de salida de la Fig. 6.13 mues an un 50 106 × T a aga 20ns= FIGURA 6.14. Ke nel p og amado pa a medi la máxima asa de salida en los píxeles si uados en las cua o esquinas del a ay. 133 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os iempo de en e cada pa de e en os pe enecien es a una misma ila (una ez que dicha ila es asen ida po el a bi ado , odos los e en os de esa misma ila se emi en en modo á aga), y un iempo de pa a e en os gene ados po di e en es ilas. Como con- secuencia, podemos deci que la di e encia es el e aso in oducido po el a bi ado po ilas . La asa de e en os a la en ada depende an o del amaño del ke nel como de la ecuencia de eloj. Como ya se ha comen ado an es, el con ola- do sínc ono necesi a ciclos de eloj pa a p ocesa cada e en o, siendo el núme o de ilas del ke nel (has a un máximo de 32). De es a o ma, pa a una ecuencia de eloj de 120MHz (que se co esponde con un pe iodo ), la máxima asa de e en os posible a la en ada es de eps, lo cual se co esponde con un iempo en e e en os de 50ns cuando el ke nel iene una sola ila. Pa a un ke nel com- FIGURA 6.13. Señales Rqs y Ack medidas pa a los e en os de en ada y salida pa a una ecuencia de eloj de 120MHz, con Rqs _ou y Ack_ou co oci cui adas. El osciloscopio usado es el Agilen DSO7054A, con un ancho de banda de 500MHz y una asa de mues eo de 4GSa/s. T a aga 20ns= Tno a aga–47ns= 47ns 22ns– 25ns= Ta b nclk 4 2 nk ×( )+= nk Tclk 8.33ns= 20 106 × Resul ados expe imen ales 134 ple o de 32 ilas, la máxima asa de en ada es de eps, lo cual se co esponde con un iempo en e e en os de 566ns. En la Fig. 6.15, la la encia en e un e en o de en ada y uno de salida se ep esen a median e , que puede se exp esada como . El e aso llamado es el que in oduce el p opio chip de con olución desde que ecibe el Rqs _in has a que esponde con el Ack_in. El e aso es el que in oduce el emiso desde que el chip de con olución asien e el e en o has a que e i a la señal Rqs _in. Y el e aso es el iempo empleado po el chip pa a p ocesa el e en o de en ada y gene a el e en o de salida (conside ando una si uación en la cual un e en o de en ada p oduce uno de salida). De es e modo, el e aso se puede exp esa a su ez como , donde ep esen a el iempo que el con olado sínc ono necesi a pa a suma el ke nel sob e el a ay de píxeles, y ep esen a el iempo que la a bi ación asínc ona necesi a pa a gene- a el e en o de salida. La Fig. 6.16 nos mues a los alo es medidos de y pa a dis in os alo es del pe iodo de eloj . Las pequeñas ba as e ica- les indican las des iaciones sob e 5000 medidas. Como podemos comp o- 1.77 106 × FIGURA 6.15. Re asos en e e en os de en ada y salida. Tla ency Tla ency TAER chip–TAER Tx–Tp oc e en – + += TAER chip– TAER Tx– Tp oc e en – Tp oc e en – Tp oc e en –Tsyn Tasyn += Tsyn Tasyn TAER chip– TAER Tx– Tclk 135 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os ba ácilmen e, el e aso es cons an e (no depende del pe iodo de eloj), ya que sólo depende del emiso . El e aso medido pa a la placa emi- so a en nues os es s esul a en unos . En cambio, depende linealmen e de , como mues a la igu a, alcanzando unos 14ns pa a y con un alo esidual es imado ex apolando es os esul ados de unos 10ns pa a (p obablemen e debido a e a- sos in e nos de las líneas y pads). La Fig. 6.17 mues a los alo es medidos de en e al pe iodo de eloj. El ajus e lineal de es os da os e ela que pa a un pe iodo de eloj end íamos una la encia de 97ns, lo cual se co esponde ía con , ya que en es e caso ald ía 0. Ex apolando am- bién los alo es de y , podemos es ima el alo de , lo cual es cohe en e con el alo de 47ns medido en e dos e en os de salida pe enecien es a ilas di e en es. FIGURA 6.16. Valo es medidos de y pa a dis in os pe iodos de eloj. TAER chip– TAER Tx– TAER Tx– TAER Tx–44ns= TAER chip– Tclk Tclk 5ns= Tclk 0= Tla ency Tclk 0= Tp oc e en –Tasyn = Tsyn TAER chip– TAER Tx– Tasyn 97ns 44ns– 10ns– 43ns= = Resul ados expe imen ales 136 Pa a una ecuencia de eloj de 120MHz el pe iodo de la encia medido es de 177ns. Al conec a chips de con olución en cascada, el e aso in o- ducido po la placa emiso a debe ía se eemplazado o bien po , o bien po . Como consecuencia, la e - dade a mínima la encia al conec a los chips en cascada end ía dada po . Es a la encia es independien e del núme o de ilas del ke nel p og amado, ya que se a a de el e aso en e un e en o de en ada y el p ime e en o de salida p oducido po la p ime a ila del ke nel. En la abla Tabla 6.1 se encuen an esumidas las especi icaciones del chip de con olución Con 1. FIGURA 6.17. Valo es medidos de pa a dis in os pe iodos de eloj. Cada medida se ha epe ido 5000 eces. La ba as de e o indican la dispe sión. La línea de pun os ep esen a el ajus e lineal ( ). Tla ency y8.2x 97+= TAER Tx– T a aga 22ns= Tno a aga–47ns= Tla ency 177ns 44ns 22ns+– 155ns= = 137 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os 6.4.2. Con olución de imágenes es á icas Pa a ilus a la ope ación de con olución, se ha seleccionado en p ime luga una imagen de píxeles de una o og a ía eal, que se mues a en la Fig. 6.19.(a), pa a lle a a cabo un p ocesamien o de ex acción de bo des e icales con el ke nel de amaño mos ado en la Fig. 6.18. Es e ke nel iene dado po una di e encia de gausianas, desc i o median e las ecuaciones (6.1), (6.2) y (6.3): (EQ 6.1) (EQ 6.2) TABLA 6.1. Especi icaciones del chip Con 1. Tecnnología 4M 2P 0.35 CMOS Tamaño del píxel Tamaño del chip A ay de píxeles Resolución del píxel 18 bi s Resolución del ke nel 6 bi s Compu ación con signo Sí Tasa de e en os de en ada 1.77-20 Meps Máxima asa de salida 50 Meps Mínima la encia en ada- salida 155ns Consumo de po encia 200mW máximo µm 95.6 101.3µm 2 × 4.3 5.4mm 2 × 32 32× 32 32× 11 7× Fgpkqk ,( ) 1 2π ------Hgpk ( )Vgqk ( )= Hgpk ( ) 1 σgh -------e 1 2 --- p k σ gh --------     2 – = Resul ados expe imen ales 138 FIGURA 6.18. Ke nel desc i o como di e encia de gausianas pa a ex acción de bo des e icales. FIGURA 6.19. Resul ado de calcula una con olución expe imen almen e con un ke nel pa a ex acción de bo des e icales. 139 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os (EQ 6.3) siendo y los pa áme os de anchu a ho izon al y e ical de los lóbulos de la gaussiana. La imagen se codi icó a e en os AER asociando un ni el de ecuencia de e en os a cada ni el de g is, ob eniendo una máxima ecuencia de 660Hz. Las ecuencias asociadas a cada ni el de in ensidad se indican en las ba as e icales a la de echa de cada imagen en la Fig. 6.19. La compu- ación ma emá ica de la ope ación de con olución se lle ó a cabo con MAT- LAB, ob eniendo la imagen de la Fig. 6.19.(b). En la Fig. 6.19.(c) se mues a la salida del chip de con olución, mapeando la ecuencia de salida de los e en os de cada píxel con su signo a un ni el de g is. Una ecuencia nega i a indica que el bi de signo de los e en os de salida de ese píxel es nega i o. En la Fig. 6.19.(d) se ep esen a la imagen e o calculada como la di e encia en e la salida ideal y la medida. Aunque el amaño de es e chip es de sólo píxeles, el espacio de di ecciones de en ada que puede e es de . Es o nos pe mi e cons ui un a ay bidimensional de chips de con oluciones pa a p ocesa a ays de amaños múl iplos de [78], [95], [72]. Pa a cada chip de con olución se p og aman sus pa áme os pa a indi- ca la posición de cada a ay de den o del o al de . U i- lizando placas spli e y me ge [48], es posible cons ui un a ay de chips de con olución pa a p ocesa imágenes de píxeles. Pa a p ocesa imágenes aún mayo es es necesa io usa ambién bloques mappe AER [48], pa a mapea con enien emen e el espacio de di ecciones de en ada a los píxeles que cada chip puede e . En la Fig. 6.20 se mues a el esul ado de p ocesa una imagen de píxeles. La imagen o iginal (Fig. 6.20.(a)) se di ide en subimágenes más pequeñas, de píxeles cada una. De es e modo, cada subimagen se ans o ma en una secuencia de e en os AER, p ocesada po el chip de con olución con el ke nel de la Fig. 6.18 y los e en os de Vgqk ( ) 1 σg ------- e 1 2 --- q k σ g -------- 1 2 --- +     2 –e 1 2 --- q k σ g -------- 1 2 --- –     2 – –= σgh σg 32 32× 128 128× 32 32× imin jmin ,( ) imax jmax ,( ), 32 32× 128 128× 4 4× 128 128× 128 128× 256 256× 8 8× 32 32× Resul ados expe imen ales 140 salida se gua dan. A con inuación, a pa i de las 64 secuencias de e en os AER g abadas se econs uyen 64 subimágenes, y se emapean pa a cons- ui la imagen de salida de píxeles que se mues a en la Fig. 6.20.(c). Si e ec uamos la con olución de o ma ma emá ica median e MATLAB, el esul ado ob enido se mues a en la Fig. 6.20.(b), mien as que la imagen e o que ep esen a la di e encia en e las ecuencias ideales y las medidas se mues a en la Fig. 6.20.(d). 6.4.3. Con olución de es ímulos en mo imien o Aunque los expe imen os mos ados an e io men e co esponden a imágenes es á icas, el obje i o de es e chip es calcula con oluciones en iempo eal de es ímulos dinámicos gene ados po una e ina AER. Pa a ilus a es o, se ha cap u ado una secuencia de e en os con una e ina AER FIGURA 6.20. Resul ado de calcula una con olución expe imen almen e con un ke nel pa a ex acción de bo des e icales a una imagen de en ada de píxeles. 256 256× 256 256× 141 Mic ochips con ol. AER pa a p oc. asínc . neoco ical de in . senso ial isual codi icada en e en os de con as e empo al de [18], la cual mues a los con o nos de dos pe sonas caminando. Una cap u a de 40ms de es a secuencia se puede e en la Fig. 6.21.(a), la cual ep esen a 1810 e en os de la e ina. Ya que el espacio de di ecciones de la e ina es de , es o equie e un a ay de chips de con olución. P og amando el ke nel de Gabo de amaño de la Fig. 6.21.(b) pa a de ección de bo des e icales, ob enemos la co espondien e secuencia de e en os de salida. Una cap u a de es a secuen- cia de salida pa a los mismos 40ms de la en ada se mues a en la Fig. 6.21.(d). Ya que la la encia en e los e en os de en ada y salida es á en o no a los 150ns, se puede conside a que ambas secuencias de e en os son simul áneas. 128 128× FIGURA 6.21. Resul ados expe imen ales ob enidos p ocesando una secuencia de 128x128 con un ke nel de Gabo pa a ex acción de bo des e icales. 128 128× 4 4× 11 7×