Full text
Trabajo fin de Grado Layout de canales de lectura por columna para sensores de imagen CMOS: t´ecnicas, extracci´on y simulaci´on Autor: Carlos Molina Ord´o˜nez Tutores: Fernando Medeiro Hidalgo Bel´en P´erez Verd´u 25 de junio de 2018
En agradecimiento a Fernando Medeiro Hidalgo, por lo mucho que apred´ı de t´ı durante el tiempo que compartimos. Siempre en la memoria. D.E.P. a mis padres y hermana, por apoyarme siempre durante estos a˜nos.
´ Indice general ´ Indice de figuras V Resumen VI Objetivos y metodolog´ıa 1 1. Introduci´on 3 1.1. Sensores de imagen ............................... 3 1.2. Arquitectura de sensores de imagen CMOS .................. 5 1.2.1. Array de p´ıxeles ............................. 5 1.2.2. Canal de lectura ............................ 7 1.2.3. Otros bloques .............................. 7 2. Tecnolog´ıa CMOS 9 2.1. Introducci´on ................................... 9 2.2. Proceso de fabricaci´on ............................. 9 2.3. Transistores CMOS ............................... 11 2.4. Otros dispositivos en tecnolog´ıa CMOS .................... 12 2.4.1. Resistencias ............................... 13 2.4.2. Condensadores ............................. 13 2.5. Dise˜no de layout ................................ 14 2.5.1. Capas de layout ............................. 14 2.5.2. Herramientas de CAD ......................... 16 2.5.3. Problemas habituales en el dise˜no de layout ............. 18 3. Dise˜no electr´onico de un canal de lectura 21 3.1. Estructura general ............................... 22 3.2. Operaci´on de lectura .............................. 23 3.3. Fuente de corriente ............................... 25 3.4. ADC ....................................... 26 iii
3.4.1. OTA ................................... 28 3.5. Generador de rampa anal´ogica ......................... 29 3.6. Bloques de polarizaci´on ............................. 29 3.6.1. PXCS Bias ............................... 30 3.6.2. ADC Bias ................................ 30 3.7. Rampa digital y serializaci´on .......................... 30 4. Dise˜no del layout de un canal de lectura 32 4.1. Jerarquizaci´on .................................. 32 4.1.1. Redundancia .............................. 33 4.2. Estructura de layout de una columna del canal ................ 35 4.3. Problemas de layout que afectan al dise˜no del canal de lectura ....... 36 4.3.1. Consumo ................................ 36 4.3.2. Acoplos ................................. 37 4.3.3. Condensadores del ADC ........................ 38 4.3.4. Distribuci´on de se˜nales horizontalmente ................ 38 5. Extracci´on y simulaci´on 41 5.1. Extracci´on de par´asitos ............................. 41 5.2. Simulaci´on .................................... 42 6. Conclusiones 46 Bibliograf´ıa 48 iv
´ Indice de figuras 1.1. Explicaci´on gr´afica del efecto blooming en una imagen ........... 5 1.2. Estructura del array de p´ıxeles ......................... 6 1.3. Diagrama de bloques del chip completo .................... 8 2.1. Estructura f´ısica de transistores NMOS y PMOS ............... 12 2.2. Estructura f´ısica de una resistencia de polisilicio ............... 13 2.3. Ejemplo de layout con disposici´on de centroide com´un ............ 20 3.1. Esquem´atico y modo operaci´on de un p´ıxel 5T habitual ........... 23 3.2. Diagrama de fases para la t´ecnica ping-pong con global-shutter ....... 24 3.3. Esquem´atico de la fuente de corriente del p´ıxel ................ 25 3.4. Esquem´atico del ADC ............................. 26 3.5. Se˜nales de onda del comparador de rampa .................. 27 3.6. Esquem´atico del OTA comparador ...................... 28 4.1. Ejemplo del funcionamiento del sistema de redundancia ........... 34 4.2. Consecuencias de la curvatura en la alimentaci´on del canal ......... 37 4.3. Floorplan de una columna de canal de lectura ................ 40 4.4. Layout del par diferencial del OTA del comparador ............. 40 v
Resumen En este trabajo se va a presentar y estudiar el layout de un canal de lectura para sensores de imagen CMOS y los problemas y aspectos importantes a considerar en el proceso de dise˜no y verificaciones, incluyendo las fases de extraci´on de par´asitos y simulaci´on, tanto previa como posterior al layout. El canal de lectura de un sensor de imagen es el bloque anal´ogico encargado de transformar la se˜nal de voltaje anal´ogico recibida del p´ıxel, en un valor digital. En la mayor´ıa de los casos, y en concreto, el que el que nos ocupa aqu´ı, el canal de lectura consta de un convertidor de rampa cuyos comparadores se distribuyen uno por cada columna de p´ıxeles, o grupo de ellas, siendo la generaci´on de la rampa, externa al bloque del canal. El proceso de dise˜no del canal incluye varias fases desde el estudio inicial y el dise˜no del esquem´atico, hasta el dise˜no del layout y verificaciones f´ısicas, acabando con las simulaciones de su funcionamiento. En este trabajo nos vamos a centrar en la parte del dise˜no de layout y su posterior extra´ıdo y simulaci´on, que, como veremos, es un punto muy importante en el contexto del proyecto. vi
Objetivos y metodolog´ıa Con este trabajo se pretende hacer una recopilaci´on de los problemas y de los puntos claves a la hora de dise˜nar un canal de lectura. Se trata de una gu´ıa que describe los aspectos m´as cr´ıticos cuando se est´a dise˜nando el layout de un canal de lectura, haciendo una introducci´on en los primeros cap´ıtulos tanto a la tecnolog´ıa CMOS usada, como a la arquitectura electr´onica de un canal de lectura. La exposici´on de dichos problemas y consejos se hace usando un canal de lectura de ejemplo, del cual se describen una serie de caracter´ısticas concretas a lo largo del trabajo. Aunque tambi´en cabe decir que mucho de lo que se va a tratar bien podr´ıa aplicarse a canales ligeramente diferentes, con, por ejemplo, diferente n´umero de columnas, pitch o n´umero de canales apilados. En cuanto a la tecnolog´ıa usada, se ha elegido una de 180nm y de 4 metales que define la compa˜n´ıa TowerJazz®especialmente para la fabricaci´on de sensores de imagen CMOS[1], que provee de dispositivos para los p´ıxeles como microlentes, array de color CFA (Color Filter Array) y stiching (tecnolog´ıa de pegado de dados del chip cuando el tama˜no del sensor que queremos construir excede el tama˜no m´aximo de dado). Tabla 1: Especificaciones usadas en el dise˜no Especificaciones M´ın Valor t´ıpico M´ax Tecnolog´ıa TS18 N´umero de metales 4 VDDA 3.0 3.3 V 3.6 V VDDD 1.6 1.8 V 2.0 V Temperatura -20◦27◦90◦ El esquem´atico del bloque se ha dise˜nado usando Virtuoso Schematic Editor[2], el layout con Virtuoso Layout XL[3] y las simulaciones con su paquete ADE (Virtuoso 1
Analog Design Environment), todos ellos propiedad de la popular marca CADENCE®. En cuanto a la extracci´on de par´asitos y las verificaciones f´ısicas de LVS (Layout versus Schematic), DRC (Design Rules Check), ERC (Electrical Rule Check) y Antenna, se han realizado con el entorno de CALIBRE®[4]. 2
Cap´ıtulo 1 Introduci´on En este trabajo se va a estudiar el proceso de dise˜no de un bloque fundamental en cualquier sensor de imagen CMOS, el canal de lectura, que es el encargado de convertir la informaci´on f´ısica recibida, que en esencia es el n´umero de fotones captados por cada p´ıxel, a una se˜nal electr´onica anal´ogica que posteriormente ser´a digitalizada, procesada y, eventualmente, almacenada. El estudio se va a centrar principalmente en el layout de este canal de lectura y en todos los aspectos a tener en cuenta a la hora de abordar esta tarea. El layout de un sistema microelectr´onico consiste en su implementaci´on f´ısica sobre una oblea de alg´un material semiconductor, t´ıpicamente silicio cristalino. El dise˜no de layout est´a sujeto a una serie de normas y problemas que iremos tratando con mayor detenimiento a lo largo de la exposici´on. Para introducir al lector en la materia ser´a necesario describir, aunque sea brevemente, conceptos sobre sensores de imagen, tecnolog´ıa CMOS y explicar de manera sencilla la arquitectura de un canal de lectura habitual. Posteriormente se pasar´a a analizar en detalle los problemas y cuestiones que se plantean a la hora de dise˜nar el layout de bloques anal´ogicos en general, centr´andonos en ´ultima instancia en los que afectan directamente a un canal de lectura. 1.1. Sensores de imagen Un sensor de imagen o c´amara fotogr´afica es, en esencia, un sistema que capta una imagen instant´anea de una escena mediante la luz que emiten los objetos que se encuen- 3
no se encuentra de forma pura, sino como ´oxidos de silicio o silicatos. Entre los ´oxidos de silicio, basados fundamentalmente en la s´ılice o di´oxido de silicio (SiO2), se encuentran el cuarzo y el s´ılex, ambos ampliamente extendidos en la corteza terrestre. Los silicatos son sales basadas en el i´on silicato (SiO4), y forman parte de minerales como los feldespatos, micas, berilio. A pesar de estar en tan alta abundancia en la Tierra, como se dijo antes, el silicio puro no se d´a naturalmente, debe ser refinado y cristalizado. El proceso consiste, tratado de manera sencilla, en extraer el ´oxigeno de los compuestos mencionados arriba a base de a˜nadir carbono y fundir la mezcla en un horno. Tras este y otros procesos obtendr´ıamos silicio relativamente puro, pero en forma policristalina (habitualmente nos referiremos a este como polisilicio o poly por su abreviatura inglesa). Esta forma contiene silicio puro, pero cristalizado en peque˜nos cristales independientes con diferentes planos cristalinos creando efectos de borde en el interior del conglomerado, que anulan las cualidades semiconductoras del silicio. Para construir un ´unico monocristal de silicio se suele usar el llamado proceso de Czochralski, en el cual, una varilla de silicio usada como semilla se va rotando en un ba˜no de silicio puro fundido a unos 1400◦C de manera que va creciendo en di´ametro a medida que los ´atomos se silicio se van depositando en la capa externa. Esta t´ecnica fue introducida por Jan Czochralski en 1915. Lo que queda es un lingote de aproximadamente un metro de largo y pocas decenas de cent´ımetro de di´ametro de silicio monocristalino siguiendo la estructura cristalina del diamante. Para ser usado en la industria de semiconductores, estos lingotes se deben laminar en obleas de pocos mil´ımetros de espesor sobre las que se implementar´an los circuitos integrados, que se suelen distribuir en una matriz ocupando toda la superficie de la oblea que luego ser´a cortada para separar cada “dado”. Con estos procesos tendr´ıamos tan solo el substrato de silicio sobre el que se debe 10
construir el circuito, los transistores y otros dispositivos que se necesiten. Esto se hace mediante fotolitograf´ıa, una t´ecnica que permite construir cada capa mediante la projecci´on de luz ultravioleta a trav´es de unas m´ascaras que permiten o no pasar la luz seg´un el layout dise˜nado. Para empezar se recubre toda la oblea con un material fotosensible a la luz UV, que dependiendo de si recibe luz o no, cambia sus propiedades haciendo que, donde ha recibido luz pueda ser eliminado posteriormente y quedar solo donde no se recibi´o luz, o viceversa. De esta forma obtenemos un recubrimiento selectivo con este material, haciendo que, en un paso posterior, podamos hacer crecer, sobre las zonas sin recubrimiento, una capa de ´oxido de silicio si queremos un aislante, o de polisilicio, cuyos usos se tratar´an m´as adelante, o de metal como conductor, habitualmente aluminio o cobre, o alg´un tipo de dopado para crear las difusiones por ejemplo. Tras las creaci´on de cada capa, en la mayor´ıa de los casos se realiza un pulido fino de la superficie para que la siguiente capa asiente correctamente sobre una superficie plana. Todo el proceso de fabricaci´on se puede consultar con m´as detalle en la bibliograf´ıa, en el libro de Hastings [11]. 2.3. Transistores CMOS El dispositivo fundamental que usa en cualquier circuito integrado CMOS es el transistor CMOS, ya que es la base de funcionamiento de circuitos tanto digitales (puertas l´ogicas, inversores, flip-flops, buffers), como de circuitos anal´ogicos (amplificadores operacionales y de transconductancia, convertidores anal´ogico-digital, referencias de tensi´on, bandgap). El transistor CMOS es un dispositivo electr´onico de 3 terminales que se basa en una estructura MOS (Metal-´ Oxido-Semiconductor)[10][12]. En esta estructura, sobre un substrato semiconductor se asienta una capa de ´oxido aislante y sobre ella un material met´alico, que en las tecnolog´ıas actuales suele tratarse del polisilicio que se mencion´o 11
anteriormente. La capa de ´oxido fino, tiene un espesor muy peque˜no, y debe controlarse mucho en la fabricaci´on, ya que variaciones en su grosor, dar´ıa lugar a modificaciones de la capacidad de puerta. Usando la estructura vertical Metal-´ Oxido-Semiconductor, se puede construir un transistor creando a ambos lados de ella, zonas de silicio altamente dopado donde contactaremos dos terminales, que llamaremos fuente oS(source), y drenador oD(drain). En la capa superior del polisilicio colocaremos el terminal llamado puerta oG(gate). En la figura 2.1a podemos ver la estructura f´ısica de este dispositivo. La dimensi´on de la puerta en la direcci´on que une drenador y fuente se llama ”longitud”, notada como L. La otra dimensi´on de la puerta, perpendicular a esta se llama ”anchura”, abreviada como W. Como mencionamos al principio, tambi´en podemos crear transistores PMOS en estas tecnolog´ıas. Se hace fabric´andolos dentro de un pozo N, esto es, una zona donde el substrato tipo-p original, se ha dopado de forma que se consigue un substrato tipo-n. El transistor embebido en este pozo tiene, entonces, la misma estructura, salvo que las difusiones para drenador y fuente son con dopado positivo P+. Una representaci´on de este tipo de transistor puede verse en la figura 2.1b. (a) NMOS (b) PMOS Figura 2.1: Estructura f´ısica de transistores MOS en tecnolog´ıa CMOS 2.4. Otros dispositivos en tecnolog´ıa CMOS Usando la misma tecnolog´ıa es posible disponer en el mismo dise˜no otros dispositivos adem´as de los mencionados transistores. 12
2.4.1. Resistencias En todo dise˜no microelectr´onico resulta pr´acticamente indispensable en alg´un momento el uso de alg´un elemento resistor pasivo. Estos dispositivos podemos crearlos usando la resistividad que ofrecen algunos de los materiales que se emplean en el dise˜no. En ocasiones puede usarse el sustrato de silicio, o un pozo NWELL, pero una de las t´ecnicas m´as habituales es usar el silicio policristalino o polisilicio. poly substrato oxido de campo AB Figura 2.2: Estructura f´ısica de una resistencia de polisilicio Para construir una resistencia de polisilicio (2.2) se crea una tira de polisilicio que se deposita sobre una capa de oxido de campo, conectando sus dos extremos con un contacto a la primera capa de metal. Como vemos, esto se parece a la capa de polisilicio que se usa para construir un transistor CMOS. Pero existe una diferencia fundamental. El ´oxido sobre el que se deposita el poly, en este caso, es oxido de campo, m´as grueso y menos preciso que el ´oxido fino de los transistores. 2.4.2. Condensadores Los condensadores son otro elemento fundamental en muchos dise˜nos anal´ogicos. Un condensador, como sabemos, consiste en dos placas conductoras separadas por una peque˜na distancia, que almacena carga el´ectrica en cada terminal. En el contexto que nos ocupa, tenemos varias opciones para fabricar un condensador: 13
Poly Llamaremos as´ı al condensador que creamos con una l´amina de polisilicio sobre una capa de ´oxido fino, que en funci´on de la tecnolog´ıa, puede tener varios espesores definidos por el fabricante. Un terminal ser´ıa el poly, y el otro el substrato. MiM Entre las diferentes capas de metal tenemos varias posibilidades de crear un condensador tambi´en. Normalmente los fabricantes definen unos cuantos tipos. Pueden tratarse de dos l´aminas rectangulares a diferentes alturas, o, por ejemplo, dos peines que entrelacen sus dedos de forma alternativa. MOS Por ´ultimo, podemos usar la capacidad de puerta que siempre tiene un transistor MOS para crear un condensador. Un terminal ser´ıa la puerta, y el otro ser´ıa el cortocircuito de drenador, fuente y sustrato. La principal ventaja de estos es que su capacidad por unidad de ´area suele ser elevada debido al peque˜no espesor del ´oxido de puerta. Por contra, tienen la desventaja de presentar un comportamiento no lineal, ya la que la capacidad depende del punto de operaci´on del transistor. 2.5. Dise˜no de layout El t´ermino layout hace referencia a la implementaci´on f´ısica del circuito electr´onico que se quiere fabricar. El layout consiste en un dibujo con toda la informaci´on que necesita la empresa fabricante para implementar el circuito sobre la oblea de silicio. Dicha informaci´on se representa por medio de “capas” que se distribuyen en un espacio bidimensional. Cada capa tiene un significado y unas normas que cumplir. El trabajo del dise˜nador de layout es definir, dibujar y verificar el layout de los diferentes bloques que componen el chip siguiendo las normas dadas por el fabricante, y procurando el mejor funcionamiento posible del circuito en el menor ´area que le sea posible. Como veremos m´as adelante, el dise˜no del layout de un circuito afecta o puede afectar mucho al funcionamiento final del mismo. 2.5.1. Capas de layout Todo dise˜no de layout est´a compuesto de una cierta cantidad de capas, de las cuales algunas tienen significado f´ısico directo y otras son capas que usa el software de dise˜no 14
para verificaciones o para cambiar propiedades de otras capas. Naturalmente, los nombres de estas capas est´an asignados por cada fabricante en concreto, pero los nombres que presento aqu´ı para describirlas son los que usar´e para identificarlas durante el resto del documento. NWELL Esta capa define el pozo N en una tecnolog´ıa de substrato P. En ella se deben situar los transistores PMOS y normalmente se polariza mediante difusiones P+ a la tensi´on m´as alta del circuito (VDD o similar). WB Esta capa define el pozo enterrado (del ingl´es Well Buried), o tambi´en llamado pozo profundo (Deep-N-Well). Esta estructura puede ser usada para crear zonas de substrato P aisladas del substrato P del resto del chip. Dentro de esta zona se pueden disponer, por ejemplo, circuitos CMOS digitales, con objeto de aislar el ruido que puedan generar a circuitos anal´ogicos cercanos. XN Zona de difusi´on con dopado negativo N+, estar´a en las difusiones de drenador/fuente de los transistores NMOS y en los contactos a substrato de los pozos N. XP Zona de difusi´on con dopado positivo P+, de manera complementaria a la XN, se usar´a para las difusiones de drenador/fuente de los transistores PMOS y para los contactos al substrato P. ACTIVE La capa activa indica al fabricante las zonas en las que se debe eliminar el ´oxido grueso (´oxido de campo). Esto lo haremos siempre que haya que contactar una zona de difusi´on N o P, o queramos crear la puerta de un transistor como se explica en el siguiente p´arrafo. GC Zona donde se crear´a una capa de polisilicio o (poly). Si coincide con capa activa, se crear´an puertas de transistores sobre una fina capa de ´oxido de silicio, al cual llamaremos ´oxido de puerta. En los lugares donde no coincida con ´area activa se construir´a sobre oxido grueso, de espesor no tan controlado, y se usar´a para rutar l´ıneas o para crear resistencias de poly. 15
CS Contacto. Normalmente son cuadrados que definen contactos entre el Metal 1 y el polisilicio o el substrato, teniendo que usar en este caso, la capa ACTIVE para poder contactar al substrato. M1 Metal 1. Es el primero de los metales y se suele usar para contactar transistores entre s´ı y con otros dispositivos, o para crear anillos de contactos a substrato. M2-M3-TOP M Otros metales. En funci´on de la tecnolog´ıa, pueden ser m´as o menos capas de metal, por ejemplo 4 ´o 6. La ´ultima capa de metal puede ser diferente, ser m´as gruesa y menos resistiva, con objeto de usarse como caminos de alimentaci´on, que deben soportar corrientes mayores. Habitualmente, para ayudar al rutado del circuito, se suele definir un criterio de direcciones en funci´on de si la capa de metal es par o impar. En el este dise˜no se usar´a el criterio horizontal = impar, vertical = par. V2-V3-TOP V V´ıas. Crean conexiones verticales entre un metal y el inmediato superior. Se suelen usar varios para cada conexi´on por evitar una posible rotura y para disminuir la resistencia total. SA Del vocablo ingl´es salicide, que es una contracci´on de “self-aligned silicide”, esto es, siliciuro auto-alineado. Siliciuro es cualquier compuesto binario de Silicio con otro elemento, generalmente metal; por ejemplo: CoSi2´o TiSi2. Este siliciuro se dice autoalineado porque el metal que se deposita sobre el chip durante el proceso de fabricaci´on se adhiere solo sobre donde hay silicio (o poly), y no donde ya se ha hecho crecer la capa de ´oxido. La reacci´on del silicio con el metal crea el siliciuro, lo que crea una capa m´as conductiva que el silicio puro [13]. Por defecto todos el poly y las difusiones van silicidadas, pero usando la capa SA, podemos indicar que no se deposite siliciuro sobre algunas zonas, para, por ejemplo, permitir que las resistencias de poly sean m´as resistivas. 2.5.2. Herramientas de CAD Las herramientas de CAD (Computer Assisted Design) se usan en muchos campos de la ingenier´ıa o la arquitectura, y actualmente, debido a la alta complejidad de los di- 16
se˜nos son de uso pr´acticamente obligado. En el caso de la microelectr´onica, estas t´ecnicas tienen dos finalidades fundamentales: el dise˜no y simulaci´on el´ectrica y, por otro lado, la implementaci´on f´ısica. Entre ellas hay muchas diferencias, pero tambi´en existe una inevitable relaci´on de dependencia. La implementaci´on f´ısica viene definida por el dise˜no el´ectrico, pero a su vez, como veremos en muchos casos, este ´ultimo condiciona el dise˜no el´ectrico. Por otra parte, en microelectr´onica, debemos tener presente que hay una divisi´on importante entre dos ´ambitos que son bastante diferentes en cuanto al flujo de dise˜no, simulaci´on e implementaci´on f´ısica, aunque ambos se basan en la misma tecnolog´ıa. Me refiero a la separaci´on entre el ´ambito anal´ogico y el digital. En este trabajo nos centraremos en la parte anal´ogica puesto que el canal de lectura es un bloque fundamentalmente anal´ogico. Considerando ´unicamente el layout, estos dos ´ambitos, anal´ogico y digital, son tambi´en bastante diferentes. En el caso del layout digital, el flujo de trabajo, debido a la gran cantidad de dispositivos que habitualmente son necesarios para dise˜nar cualquier bloque digital, est´a altamente automatizado por algoritmos de distribuci´on y rutado autom´atico (place and route). Mediante estas herramientas, el dise˜nador digital de back-end implementa el layout de un bloque digital que el dise˜nador de front-end ha dise˜nado para que tenga un funcionamiento definido. Para el caso anal´ogico, el dise˜nador de layout debe dibujar los dispositivos, posicionarlos e interconect´andolos de una forma mucho m´as manual que en el caso digital, debido a una relativa simplicidad de estos circuitos respecto a los digitales. Un bloque anal´ogico es abordable por una persona en unos pocos d´ıas o semanas, ayud´andose, obviamente, de herramientas de replicaci´on, jerarquizado, celdas predise˜nadas y/o parametrizadas. El caso anal´ogico tambi´en se realiza de forma m´as manual debido a la naturaleza de las se˜nales anal´ogicas, al ser estas, en algunos casos, m´as susceptibles a ruidos, interferencias o acoplos con otras se˜nales. 17
En los circuitos puramente digitales, las se˜nales cambian de un valor alto (1) a un valor bajo (0), siendo menos importante el valor ex´acto mientras este se encuentre dentro de los m´argenes definidos. Por el contrario, en un circuito anal´ogico, hay que tomar especial cuidado en dise˜nar un layout que preserve los valores de las se˜nales anl´ogicas y tenga un impacto m´ınimo en los tiempos de propagaci´on o asegurar que dos dispositivos o bloques que deban comportarse id´enticamente as´ı lo hagan. 2.5.3. Problemas habituales en el dise˜no de layout A continuaci´on se van a exponer y explicar algunos de los problemas habituales que afectan a cualquier dise˜no de layout y que el dise˜nador debe hacer frente para resolver o minimizar mediante su experiencia y la ayuda de las herramientas, de CAD, la simulaci´on post-layout y los consejos del dise˜nador anal´ogico del bloque en cuesti´on. ´ Area La superficie sobre la que se dise˜na un chip es limitada, y adem´as es un factor en contra del beneficio econ´omico que tendr´a la fabricaci´on y venta del chip. A menor sea el ´area usada por el chip, m´as chips caben en cada oblea, que tiene un precio constante, definido por el fabricante en funci´on de la tecnolog´ıa y otros par´ametros. Por lo tanto, como punto de partida, podemos concluir que el ´area es siempre un par´ametro a minimizar, a cualquier nivel de jerarqu´ıa. Si bien esto es la idea general, tambi´en es verdad que no siempre es la prioridad, o bien el ´area no supone un problema porque, por ejemplo, debido a la distribuci´on de los bloques, un bloque resulte disponer de ´area m´as que suficiente. Puede darse el caso incluso de que se prefiera distribuir un circuito de manera m´as holgada pero m´as uniforme, antes que arrinconar todo el circuito en una zona y dejar espacio libre en otras zonas. Esto, por ejemplo, podr´ıa ayudar a mejorar la correlaci´on entre dispositivos, o matching. 18
Mismatch El mismatch es un problema generalizado en muchos campos de la ingenier´ıa donde se requiere la construcci´on de dispositivos que se comporten igual, y por problemas de fabricaci´on u otros agentes externos se comportan ligeramente diferente. En el caso del layout, el mismatch puede deberse al proceso de fabricaci´on, que puede crear dispositivos de dimensiones ligeramente mayores o menores, u otorgar al silicio de propiedades ligeramente diferentes, como la concentraci´on de dopado, lo que puede hacer que unas zonas sean m´as o menos conductivas o que var´ıen parm´ametros como la tensi´on umbral de un transistor. Otra forma de que se creen diferencias entre unos dispositivos es por ejemplo por la distribuci´on irregular de la temperatura cuando el chip est´e funcionando. Debido a la ley de Joule, cualquier corriente circulando por un material, lo calentar´a en funci´on de la densidad de corriente que lo atraviese. Si en una zona del chip tenemos un bus de alimentaci´on, o un circuito que consuma mucha corriente, calentar´a la zona cercana, creando gradientes de temperatura. Si tenemos dos circuitos o dispositivos, uno de ellos cerca y otro lejos de esta zona, posiblemente no se comporten igual. Para minimizar los efectos de los gradientes, se suelen usar estructuras de centroide com´un, que en teor´ıa, para gradientes lineales, logran el emparejamiento perfecto. Por ejemplo, si tenemos un array lineal de dos tipos de dispositivos diferentes, cada uno con una multiplicidad de 4, deber´ıamos usar una estructura ABBA|ABBA, en vez de AAAA|BBBB, donde A y B representan instancias del mismo dispositivo. En el primero de los casos, si existe un gradiente lineal en la direcci´on del array, el efecto de este actuar´a en positivo en unos y en negativo en otros, de forma que el efecto en A se compensa al efecto en B. En cambio en el segundo caso, como promedio, los A sufrir´an el efecto m´as o menos que los B. Esto se puede aplicar tambi´en para arrays bidimensionales de dispositivos, de forma que se pueden usar estructuras como la que se muestra en la figura 2.3. Algunas de las reglas que se recomienda seguir para un buen matching entre transistores ser´ıan [11]: 19
3.4. ADC Como ya hemos comentado, la conversi´on del valor anal´ogico del p´ıxel, a un n´umero digital se realiza mediante un convertidor de rampa. Para conseguir esto, en cada canal de lectura se implementa un sencillo ADC comparador y unos condensadores donde almacenar temporalmente las se˜nales. La se˜nal de la rampa anal´ogica se va a distribuir horizontalmente entre todas las columnas del canal de lectura, y est´a generada por un bloque externo al RO, situado a uno de los lados del mismo, con lo que evitamos incluirlo en ´area del canal. El ADC es el bloque que muestrea ycompara la se˜nal anal´ogica del p´ıxel con la de la rampa anal´ogica. El esquem´atico del circuito se muestra en la figura 3.4. La operaci´on del ADC se realiza en 2 fases, lectura (read) y comparaci´on (comp), y se puede seguir mediante las formas de onda mostradas en 3.5. cfg_adc_ena adc_ena_n adc_sa_N adc_comp adc_sa_NS adc_comp C2 adc_sa_cmi adc_sa vs_adc_cmi adc_start adc_bias (from ADC_BIAS) + - adc_in ramp_p ramp_n adc_take adc_ena vp vn C1 adc_discharge_cmi adc_discharge_N adc_discharge_NS (from ADC_BIAS) adc_ena_n phi_ro_adc_hz_vm adc_ena Figura 3.4: Esquem´atico del ADC Durante la primera de ellas, el comparador est´a operando en lazo cerrado, por lo los nodos de entrada vp yvn se establecen a la tensi´on de modo com´un, vs adc cmi. Al final del periodo de muestreo, las se˜nales “se˜nal + ruido” (NS) y “ruido” (N), quedan 26
Figura 3.5: Se˜nales de onda del comparador de rampa almacenadas en los condensadores C2yC1, respectivamente. En la segunda fase, el comparador se establece en lazo abierto, por lo que la carga almacenada en los condensadores se mantiene. En ese momento se conecta la rampa diferencial (rampPyrampN), y aplicando la conservaci´on de carga en los nudos vp yvn, se puede deducir que el voltaje ser´a: vn=vcmi +voff 1 + 1 A0 +α1(vrampp−vpixN ) (3.2) vp=vcmi +α2(vrampn−vpixNS) (3.3) , donde los coeficientes α1yα2son: α1=C1 C1+Cp , α2=C2 C2+Cp (3.4) Asumiendo un comparador ideal, el voltaje diferencial a la entrada de este, se puede expresar como: ∆V=vp−vn= (vpixN −vpixNS)−(vrampp−vrampn) (3.5) 27
, donde la diferencia (vpixN −vpixNS) es siempre positiva y se relaciona con la informaci´on almacenada en el p´ıxel, y la se˜nal (vrampp−vrampn) es linealmente creciente. Por tanto, la salida del comparador debe ser inicialmente un valor alto y cambiar a valor bajo en el instante en que ambas se˜nales sea crucen. Por lo que la informaci´on en el p´ıxel puede codificarse con el tiempo registrado por un contador digital, siendo mayor el n´umero digital a mayor la luz recibida por el p´ıxel le´ıdo. La salida del comparador se hace pasar por una puerta NOR para evitar que pueda registrarse una transici´on sin estar activa la se˜nal de adc start 3.4.1. OTA El OTA (Operational Transconductance Amplifier) es el bloque que act´ua como comparador y tiene la estructura de un amplificador diferencial simple, que se muestra en el esquem´atico de la figura 3.6. adc_bx ena_n adc_ena adc_ena adc_ena vp vn vo M1M2 M3 M4 M5 Figura 3.6: Esquem´atico del OTA comparador Los transistores M1yM2forman el par diferencial, con sus correspondiente espejo de corrientes en M3yM4, y la fuente de corriente M5, el resto de transistores sirven para deshabilitar el OTA cuando no se est´e usando. 28
3.5. Generador de rampa anal´ogica El bloque generador de la rampa anal´ogica se encuentra situado fuera del Canal de Lectura. Se encarga de generar una se˜nal linealmente creciente y su correspondiente decreciente. El rango en el que la rampa var´ıa debe ajustarse en fucni´on del rango de entrada del OTA del comparador y teniendo en cuenta el rango en el que var´ıa la salida del p´ıxel, para obtener una resoluci´on deseada y aprovechar al m´aximo la sensibilidad del sensor. Es muy importante una precisa generaci´on de esta rampa anal´ogica, con especial atenci´on a la linealidad de la misma. En la bibliograf´ıa se describe una arquitectura para el generador de rampa que obtiene una buena linealidad por debajo de un LSB para resoluciones de hasta 15 bits a frecuencias de reloj de 100MHz[14], que est´a en un rango adecuado para los tiempos de lectura que se suelen tratar en sensores de imagen CMOS. La se˜nal generada debe propagarse a lo largo de lo todos los canales de lectura, desde la izquierda hacia la derecha, o al contrario, en su caso. Para conseguir una r´apida y efectiva propagaci´on de esta se˜nal sin distorsi´on y en tiempo, ha de hacerse un cuidadoso estudio de layout, calculando las anchuras y separaciones entre las l´ıneas met´alicas que distribuir´an la se˜nal y posteriormente, realizando una precisa extracci´on y simulaci´on del circuito. 3.6. Bloques de polarizaci´on Los bloques del canal descritos anteriormente, la fuente de corriente y el ADC requieren de varias se˜nales de polarizaci´on, que habitualmente, adem´as, suelen ser programables, esto es, que permiten diferentes valores de configuraci´on establecidos por el usuario del dispositivo sobre, por ejemplo, la velocidad de lectura, la resoluci´on deseada, el consumo. Normalmente, para ahorrar espacio, los bloques de polarizaci´on, o BIAS, se comparten entre varios canales de lectura. De esta forma, el layout de estos bloques puede ser m´as ancho que alto, con lo que conseguimos un ahorro de ´area en la direcci´on vertical. 29
3.6.1. PXCS Bias La fuente de corriente necesita de tres voltajes de polarizaci´on: vb bn yvb cn, que vienen de un espejo cascodado y la tensi´on del limitador vb ln. El bloque va a estar compartido por 8 canales (80µm de anchura). Los valores de la corriente que podr´a drenar la fuente de corriente del p´ıxel, va a ser configurable con 5 bits de resoluci´on. Esta configuraci´on ser´a implementada en este bloque de polarizaci´on mediante 5 ramas de corrientes que conduzcan, respectivamente, I0, 2I0, 2I0, 4I0, 8I0, con I0= 125nA. De forma que podemos variar la corriente total entre 125nA y 3,875µA, en pasos de 125nA. 3.6.2. ADC Bias El ADC Bias tiene que proveer al ADC del voltaje de modo com´un (vs adc cmi) y de la tensi´on de bias de la fuente de corriente del OTA (vb adc bx), que espejar´a una corriente generada en el Bias. La tensi´on de modo com´un se puede generar de dos formas, la primera mediante un buffer que replica una tensi´on generada en el bloque de Referencias, fuera del canal de lectura, y la segunda generando un tensi´on local por cada grupo de canales. Esta segunda opci´on tambi´en usa una referencia com´un, pero al ser local, se adapta mejor a la eventual curva en las alimentaciones que podremos tener a lo largo del RO. Este tema se tratar´a con m´as detalle en la correspondiente secci´on de layout. 3.7. Rampa digital y serializaci´on Una vez la operaci´on de comparaci´on se ha iniciado, la rampa y la se˜nal del p´ıxel, en alg´un momento se cruzar´an, lo que desencadenar´a una transici´on en la se˜nal adc take que es la que finalmente sale de la parte anal´ogica del canal y se va a rutar hacia abajo 30
para ser registrada por el contador digital. Dicho contador (o rampa) digital habr´a empezado la cuenta desde cero, en un tiempo y a una velocidad adecuados para que el valor m´as alto de la cuenta digital (la resoluci´on) coincida con el valor final de la rampa anal´ogica y con el valor m´ınimo de tensi´on de salida del p´ıxel (m´axima intensidad lum´ınica). En el momento en que se recibe el pulso en la salida adc take, se detiene la cuenta digital y tenemos un valor digitalizado proporcional a la intensidad lum´ınica captada por el p´ıxel actual. El bloque que genera la rampa digital DRMP se sit´ua a uno de los lados del RO y su se˜nal se distribuye mediante b´uferes digitales a lo largo del SPS, que es el bloque digital situado justo debajo del Canal de Lectura y que incluye la digitalizaci´on y serializaci´on de los datos. La serializaci´on se efect´ua para convertir la operaci´on de digitalizaci´on, que se hace de forma paralela, simulat´anea a todos los canales, a una salida de datos en serie. Estos datos en serie se encaminan posteriormente hacia uno o varios buses de salida LVDS (Low Voltage Differential Signal), que har´an posible la lectura de las im´agenes desde el exterior. 31
Cap´ıtulo 4 Dise˜no del layout de un canal de lectura El dise˜no del layout de un canal de lectura en el contexto de un proyecto suele ser una tarea que ocupa gran parte del periodo de dise˜no, y adem´as es recomendable abordar en las primeras fases del proyecto, ya que como hemos comentado, el layout va a influir, en mayor medida que otros bloques, en el dise˜no del mismo. Por tanto, el dise˜no del canal de lectura suele ser un proceso iterativo: dise˜nodel esquem´atico, layout, extracci´on, simulaci´on y eventual redise˜no. 4.1. Jerarquizaci´on A la hora de estructurar el dise˜no de layout de cualquier bloque repetitivo, como es el canal de lectura, es b´asico idear una estrategia en cuanto a la jerarquizaci´on del mismo, ya que usualmente no se trata de un simple array de instancias iguales situadas una al lado de la otra. Por otra parte, existen estructuras que pueden requerir diferentes periodicidades. Y tambi´en hay que adaptarse a la resoluci´on del array, en este caso, al n´umero de columnas. Como ya hemos visto a lo largo de la descripci´on del esqum´atico del canal nuestra unidad b´asica de un canal de lectura, a la que nos referiremos como ro chx1, ocupar´a una anchura de 2 columnas de p´ıxeles, es decir, una anchura de 10µm. En esa anchura tiene que ser posible incluir todos los bloques que se repiten por canal, es decir, la fuente de corriente y el ADC de una columna de p´ıxeles. En un siguiente nivel de jerarqu´ıa, incluiremos 8 canales unitarios y sus corres- 32
pondientes bloques de polarizaci´on (PXCS BIAS y ADC BIAS), que como vimos, est´an compartidos por cada 8 canales. De esta forma, el bloque ro chx8 tendr´ıa una anchura de 10µm×8 = 80µm, y tendr´ıamos canales para leer 16 columnas de p´ıxeles. Desde 16 columnas hasta las columnas totales del array podemos elegir varios niveles de jerarqu´ıas intermedios. Considerando que nuestro array tiene la estructura mostrada en el cap´ıtulo 1.2.1, en la figura 1.2, con 2560 columnas activas y 64 columnas oscuras, vamos a hacer una jerarqu´ıa que cubra esos 64 p´ıxeles, es decir, 32 canales, por lo que se llamar´a ro chx32 e instanciar´a 4 unidades de ro chx8. Para completar las 2560 columnas de p´ıxeles activos, solo hay que instanciar 40 de los bloques de 32 canales. Y para completar el array, tan solo hay que a˜nadir 2 canales (4 p´ıxeles) a izquierda y derecha de la zona activa (p´ıxeles dummy), y un bloque de 32 canales en la zona de las columnas oscuras, con sendos pares de canales a izquierda y derecha para hacer las columnas oscuras dummy. 4.1.1. Redundancia En todo dise˜no microelectr´onico, debido a defectos en la fabricaci´on, ciertos dispositivos pueden resultar completamente inutilizables o, al menos, con prestaciones por debajo de lo esperado en relaci´on al resto de dispositivos equivalentes. Esto se acentua en casos como un canal de lectura, en los cuales la integraci´on y la congesti´on de rutado y dispositivos es muy alta, y adem´as tiene un patr´on altamente sim´etrico y peri´odico. Con el paso del tiempo, los fabricantes de sensores de imagen han detectado que el canal de lectura sufre de considerablemente m´as fallos que el resto de circuitos en el sensor, y por consiguiente es uno de los principales contribuyentes a la disminuci´on del “yield” (del ingl´es: rendimiento), que da cuenta del porcentaje de sensores por oblea que no funcionan o son defectuosos, lo que va en contra del beneficio econ´omico. Para tratar de disminuir este problema, se suele poner en pr´actica el uso de canales redundantes, esto es, canales adicionales que podr´ıan ser usados en el caso de que, una 33
vez fabricado el chip, se detecten fallos en un canal concreto. Para esto se a˜nade un canal adicional cada cierto n´umero de canales y mediante un sistema de llaves a la entrada de todos los canales podemos redireccionar la salida todos los p´ıxeles en el rango afectado y posteriores al canal del fallo, hacia el siguiente canal. Con esto se puede ver f´acilmente que podemos solucionar tantos fallos como canales redundantes sean incluidos, siempre y cuando no se produzca m´as de un fallo por regi´on. chx1(0) chx1(1) chx1(2) chx1(3) chx1(4) chx1(5) chx1(6) chx1(7) chx1(8) chx1(9) Figura 4.1: Ejemplo del funcionamiento del sistema de redundancia En la figura 4.1 vemos un ejemplo de aplicaci´on del sistema de redundancia donde tendr´ıamos un canal redundante por cada 4. En el que caso de que fallen los canales 2 y 5 mostrados en la imagen, el bloque de redundancia colocado en la parte superior del canal de lectura podr´ıa dirigir cada columna a la siguiente, de la forma que muestran las l´ıneas rojas. Como ya se puede intuir, la anchura del canal de lectura, en el supuesto de usar redundancia se tiene que ver reducida con objeto de incluir un canal adicional cada cierto tiempo. En nuestro caso vamos a incluir un canal redundante por cada grupo de 32 canales funcionando. Con esto, haciendo una sencilla cuenta, podemos establecer la nueva anchura en 9µm en vez de las 10µm originales. Esto nos permite adem´as tener una anchu- 34
ra sobrante cada 33 canales que ser´a: 32 ·10µm−33 ·9µm = 23µm de anchura sobrante. Este espacio lo podemos usar para por ejemplo subir las tensiones de polarizaci´on desde los BIAS a las l´ıneas horizontales en los correspondientes bloques. 4.2. Estructura de layout de una columna del canal La estructura completa se muestra al final de cap´ıtulo (4.3) en un diagrama simplificado del layout de una columna de canal (ro chx1), mostrando los bloques m´as importantes, sus tama˜nos y sus conexiones. Una vez establecida una jerarqu´ıa clara, y suponiendo el uso de la redundancia ya tenemos establecida una anchura para el layout de una columna de nuestro canal. En esta anchura deberemos incluir todos los bloques descritos en el esquem´atico tratando de hacerlo lo m´as compacto posible para ahorrar ´area en la direcci´on vertical. Como hemos introducido en el apartado anterior, el bloque de redundancia ser´a el primero que nos encontraremos por la parte superior, m´as cerca del array de p´ıxeles. Para esto adem´as tiene que existir un rutado que transforme las salidas de los p´ıxeles, espaciadas cada 5µm a las entradas de los bloques de redundancia, espaciadas 2 cada 9µm. Lo siguiente que tenemos es la fuente de corriente, que es una por cada columna de p´ıxeles, es decir, dos en cada canal unitario, y se van a colocar una encima de otra ocupando ambas la anchura del canal, 9µm. Inmediatamente debajo colocaremos el bloque de polarizaci´on de las fuentes de corriente, PXCS BIAS, que como se comparte para 8 canales, en la unidad ro chx1, dejaremos un hueco de la altura necesaria, que se establecer´a en funci´on de la altura del BIAS. Por debajo del PXCS BIAS, vamos a colocar los ADC, que tiene que haber dos por cada columna de p´ıxeles si queremos usar la t´ecnica de ping-pong. En nuestro caso esto significa tener que implementar 4 ADCs id´enticos dispuestos en vertical ocupando las 9µm de anchura del canal. 35
poco al comportamiento general del circuito, aunque como norma se prefiere realizar siempre una comprobaci´on. En otros casos en cambio, como puede suceder en el caso del canal de lectura, esta extracci´on es de suma importancia y hay que dedicarle un tiempo considerable a dicho proceso iterativo, en ocasiones alarg´andose m´as que el propio dise˜no inicial. Los extra´ıdos, por regla general se pueden hacer solo capacitivos, solo resistivos o ambos, y en ocasiones algunos extractores permiten extraer inductancias. El extra´ıdo capacitivo adem´as se puede hacer en 2 dimensiones, entendiendo con esto que solo se consideran las capacidades inmediatas, entre 2 metales a la misma altura o en capas consecutivas en altura. En contraposici´on podemos afinar m´as con un extra´ıdo 3D que s´ı considera l´ıneas m´as alejadas sin acoplo directo. Para nuestro caso es muy recomendable esta alternativa dada la alta concentraci´on de routing y la importancia de los acoplos. El extra´ıdo es un proceso costoso computacionalmente, m´as a´un si lo hacemos con alta resoluci´on, 3D y trat´andose de bloques grandes. Lo recomendable es extraer m´as de una s´ola columna de canal para ver posibles acoplos entre canales adyacentes y posibles asimetr´ıas entre ellos debido a la asimetr´ıa introducida por el hecho de compartir bloques de polarizaci´on cada 8 canales. Esto implica que el layout de una columna de ADC, por ejemplo, a pesar de tener id´entico layout, puede llevar algunas se˜nales verticales diferentes. Lo que una extracci´on hace b´asicamente es calcular las capacidades que se ven entre l´ıneas cercanas por layout y resistencias debidas a l´ıneas met´alicas o de poly. Posteriormente crea un nuevo circuito a˜nadiendo todas las capacidades y resistencias que sean mayores que un cierto umbral seleccionado. 5.2. Simulaci´on La simuaci´on, como ya hemos dicho, es un punto importante en el dise˜no de un circuito microelectr´onico. Con una simulaci´on se trata de modelar o imitar el comportamiento de los dispositivos cuando est´en fabricados en silicio. Para lo cual, cada dispositivo instanciado consta de un model que define como son las tensiones y corrientes que se es- 42
tablezer´an en sus nodos en funci´on de las tensiones y/o corrientes que reciba y de las cualidades y dimensiones del dispositivo en concreto. Tras establecer las relaciones de dependencias de unas variables con otras en la malla del circuito, el simulador resolver´a el sistema de ecuaciones, y, si converge, dar´a una soluci´on. Las simulaciones pueden hacerse de varios tipos, est´aticas o dc, estas solo calculan el punto de operaci´on de todos los dispositivos y las corrientes y voltajes en cada rama y nodo, las din´amicas o transitorias, que calculan las evoluciones temporales de los voltajes y tensiones de los nodos y ramas partiendo desde una condiciones iniciales. Adicionalmente hay otros tipos de simulaciones, como barridos en frecuencia (ac), an´alisis de ruido en frecuencia, que tiene en cuenta los ruidos que generan los distintos dispositivos, an´alisis temporal de ruido, que es una simulaci´on transitoria pero con ruidos a˜nadidos. Al igual que en el dise˜no de cualquier bloque, el dise˜nador debe pasar por varias etapas de simulado. Inicialmente, tras el dise˜no de los bloques peque˜nos, se har´an simulaciones sencillas para comprobar que el bloque dise˜nado se ajusta a los valores calculados de punto de operaci´on, ganancia, respuesta temporal, ruido... En un estado m´as avanzado de dise˜no se integrar´an los diferentes bloques unitarios para comprobar que juntos siguen actuando como se espera, sin fijarnos tanto en el comportamiento espec´ıfico de una parte del mismo, sino en el rendimiento general del conjunto. En cuanto el layout de los bloques est´e dise˜nado, al menos una primera versi´on, es recomendable empezar a simularlo usando el extra´ıdo del mismo, ya que en seg´un que casos, puede afectar considerablemente al rendimiento general. En una simulaci´on postlayout lo que esperamos obtener son por ejemplo, formas de ondas m´as suaves y al mismo tiempo con peque˜nas perturbaciones, al contrario de las simulaciones con esquem´atico, que suelen dar formas de ondas con bordes abruptos y sin perturbaciones. Si por alguna circunstancia no es posible simular el circuito con el extra´ıdo, ya sea 43
porque todav´ıa no est´a dise˜nado, o porque es demasiado grande y es dif´ıcil la extracci´on, siempre es buena pr´actica realizar alguna simulaci´on en la que el dise˜nador incluya “a mano” los par´asitos que considere m´as importante, calcul´andolos del existente o previsto layout. Esta circunstancia se da muy habitualmente en el caso de las alimentaciones por ejemplo. Normalmente no es viable hacer un extra´ıdo de toda la l´ınea que alimenta a un circuito desde los PADs de entrada al chip. Y por otro lado, solo nos interesa la posible ca´ıda de tensi´on que se produzca por el camino, y esta se obtiene con un c´alculo simple. A˜nadiremos una resistencia estimada usando la resistividad, anchura y longitud de cada alimentaci´on. Adem´as se suele incluir un modelo experimental del PAD de entrada. El PAD es el ´area met´alica cuyo aislante superior se eliminar´a para poder acceder con un hilo de oro y conectar una se˜nal o alimentaci´on interna con el exterior. El PAD consta normalmente de algunos diodos de protecci´on ESD (descarga electrost´atica). Lo que se suele hacer habitualmente es simular usando el extra´ıdo de dicho PAD e incluir adem´as un modelo el´ectrico del hilo de oro, mediante una resistencia, capacidad e inductancia determinadas experimentalmente. La inclusi´on de dicho modelo podr´a causar que en nuestra simulaci´on veamos ca´ıdas de tensiones o efectos de segundo ´orden como rebotes o rizados en las se˜nales, que se deber´ıan estudiar y tratar de reducir. Otro caso en el que no podr´ıamos usar el extra´ıdo de todo el bloque ser´ıa al tratar de simular todo el canal de lectura, en nuestro caso, las 1320 columnas de canales correspondientes a las 2640 col´umnas de p´ıxeles totales, activos, OB y dummies. Una simulaci´on de el canal al completo es interesante desde el punto de vista de sistemas para analizar si hay problemas debidos a la propagaci´on como el retraso o la degradaci´on de las se˜nales. Pero lo cierto es que no estamos interesados en obtener datos perfectos y precisos de todas y cada una de las columnas, sino que habitualmente solo queremos conocer el comportamiento en algunas columnas concretas, como por ejemplo la primera, ´ultima y alguna de la parte central. Para esto, lo que se suele hacer es montar una siulaci´on en la que los bloques de inter´es est´en instanciados usando su circuito extra´ıdo, y el resto estar´ıan agrupados en 44
paquetes de varios de forma que la carga total de sus l´ıneas sea equivalente, y estos unidos horizontalmente por resistencias met´alicas que emulen la resistencia total de la longitud del grupo de canales elegido. Por ejemplo, podr´ıamos agrupar los canales en grupos de 128 canales, y con 10 grupos como este cubrimos los 1280 canales de la parte activa. De entre ellos podr´ıamos escoger los extremos y uno del centro para separarlos en 127 + 1 y tomar medidas en ese. Tambi´en podr´ıamos a˜nadir canales OB y dummies ajustando el tama˜no de los grupos. Con una simulac´on as´ı podr´ıamos medir el retraso en las diferentes fases y la degradaci´on que sufrir´ıan los flancos en cuanto a slew rate, o distorsiones por acoplos durante el camino. Y lo m´as importante, analizar si dichos efectos son perjudiciales al rendimiento final, o si se observan diferencias apreciables en los valores le´ıdos por las diferentes columnas. Si en esta simulaci´on a˜nadimos un adecuado modelo de distribuci´on de alimentaciones y emulamos que el array de p´ıxeles est´e iluminado con valores blancos y negros en filas alternativas, podr´ıamos ver si existe un acoplo entre canales contiguos y que parte de la carga se transfiera a canales cercanos. Por ´ultimo, debemos mencionar las simulaciones de funcionalidad que se llevan a cabo en las fases finales del proyecto, poco antes de ser enviado a fabricar. Estas simulaciones consideran todo el chip, usando modelos Verilog, para las partes digitales y VerilogAMS para las partes anal´ogicas. Dichos modelos simplifican much´ısmimo el funcionamiento del circuito; en la parte digital con valores digitales ceros y unos, y en la parte anal´ogica se puede tratar con n´umeros reales. Con esto podemos simular la funcionalidad general del circuito con menor costo computacional, y as´ı abarcar dise˜nos mucho mayores. Con esto se pretende verificar que todas las se˜nales activan correctamente el funcionamiento de los bloques, y estos env´ıan sus salidas a los siguientes bloques correctamente. 45
Cap´ıtulo 6 Conclusiones Tras todos los puntos expuestos en el trabajo, podemos concluir que el canal de lectura es un bloque que requiere de una cuidadosa planificaci´on dentro del contexto del proyecto de dise˜no de un sensor de imagen. Los responsables del proyecto deben dedicar un tiempo amplio al estudio, dise˜no, layout, simulaciones y verificaciones del bloque. Los canales de lectura son un tema muy presente en la literatura actual por parte de grupos de investigaci´on y empresas de todo el mundo. El expuesto aqu´ı es un canal est´andar donde podemos apreciar bastantes puntos de la dificultad de su dise˜no, pero existen muchas v´ıas de investigaci´on abiertas a otras arquitecturas, nuevas funcionalidades, mayores resoluciones o menor ruido. Por ejemplo existen arquitecturas innovadoras para convertidores de mayor resoluci´on ideados para poder alcanzar menores niveles de ruido y poder captar im´agenes en condiciones de baja iluminaci´on. Un ejemplo de c´omo conseguir esta mayor resoluci´on puede ser dividiendo el ADC en dos etapas, como se expone en el art´ıculo de la bibliograf´ıa[15] sobre un sensor de bajo ruido llamado LoNIS (Low Noise Image Sensor), desarrollado en AnaFocus[16]. Con lo expuesto en el trabajo, una de las conclusiones que podemos sacar es que el layout del canal de lectura puede condicionar ciertos aspectos del dise˜no del electr´onico del mismo. Por ejemplo, alg´un acoplo que no podamos reducir porque imposibilidad en el layout, podr´ıa hacernos replantearnos el funcionamiento del bloque, o imponer una serie de restricciones a la hora de usarlo. Todo esto nos lleva a otro punto de especial importancia, que es la necesidad de realizar un exhaustivo y detallado estudio de viabilidad. Este se debe hacer previo al inicio 46
del proyecto y debe tomar las especificaciones requeridas por el producto final y realizar los estudios pertinentes para saber si ser´a posible la realizaci´on del dise˜no en tiempo, sin grandes costes y tratando de prevenir problemas y/o dificultades durante su puesta en pr´actica. Y, por supuesto, dicho estudio debe incluir el layout, y los problemas mencionados durante este trabajo. Por otra parte, en el ´ambito de los sensores de imagen, existen innovaciones en cuan- to a los p´ıxeles. Este es un tema en el que hay mucho por investigar a´un, ya que en busca de nuevas mejoras se est´an investigando p´ıxeles muy interesantes para aplicaciones 3D, usando la t´ecnica de “ToF” (Time of Flight, tiempo de vuelo)[17][18]. Estos p´ıxeles deben ser capaces de captar un pulso de luz emitido desde el sensor y calcular el tiempo que tarda en recibirse tras haber rebotado en alg´un objeto, para calcular la distancia al mismo. Para esto es necesario, adem´as de p´ıxeles que puedan transferir su carga mucho m´as r´apido, mejoras en el canal de lectura que permitan esa integraci´on de la se˜nal recibida. 47
Bibliograf´ıa [1] TowerJazz, “CMOS Image Sensor Technology (CIS).” [Online]. Available: http://www.jazzsemi.com/cmos-image-sensor.html [2] Cadence Design Systems Inc., “Virtuoso Schematic Editor.” [Online]. Available: https://www.cadence.com/content/cadence-www/global/en US/home/tools/ custom-ic-analog-rf-design/circuit-design/virtuoso-schematic-editor.html [3] ——, “Virtuoso Layout Suite XL.” [Online]. Available: https: //www.cadence.com/content/dam/cadence-www/global/en US/documents/tools/ custom-ic-analog-rf-design/virtuoso-vlsxl-ds.pdf [4] Mentor Graphics, “Calibre Physical Verification.” [Online]. Available: https://www.mentor.com/products/ic nanometer design/verification-signoff/ physical-verification/ [5] A. Moini, “Image Sensor Architectures,” in Smart Cameras. Boston, MA: Springer US, 2009, pp. 81–96. [Online]. Available: http://link.springer.com/10.1007/ 978-1-4419-0953-4 5 [6] J. Nakamura, Image Sensors and Signal Processing for Digital Still Cameras, ser. Optical Science and Engineering, J. Nakamura, Ed. CRC Press, aug 2005, vol. 113. [Online]. Available: http://books.google.com/books/about/Image Sensors And Signal Processing For.html?id=UY6QzgzgieYC [7] E. R. Fossum, “Active pixel sensors: are CCDs dinosaurs?” Proceedings of SPIE, vol. 1900, pp. 2–14, 1993. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/ download?doi=10.1.1.408.6558&rep=rep1&type=pdf [8] Kriplozoik, “File:Blooming example.jpg - Wikimedia Commons.” [Online]. Available: https://commons.wikimedia.org/wiki/File:Blooming example.jpg [9] F. Jim´enez-Garrido, J. Fern´andez-P´erez, C. Utrera, J. M. Mu˜noz, M. D. Pardo, A. Giulietti, R. Dom´ınguez-Castro, F. Medeiro, and A. Rodr´ıguez-V´azquez, 48
“High-Speed Global Shutter CMOS Machine Vision Sensor with High Dynamic Range Image Acquisition 1 and Embedded Intelligence,” SPIE - The International Society for Optical Engineering, vol. 8298, p. 10, feb 2012. [Online]. Available: http://proceedings.spiedigitallibrary.org/proceeding.aspx?doi=10.1117/12.912064 [10] B. Razavi, Design of Analog CMOS Integrated Circuits 2nd, 2016, vol. 6, no. 7. [Online]. Available: http://www.lavoisier.fr/notice/frLMO62SSCRRJLOO. html%5Cnhttp://doi.wiley.com/10.1111/j.1151-2916.1994.tb07040.x [11] A. Hastings, The art of Analog Layout, 2nd ed. Upper saddle River, NJ: Prentice Hall, 2001. [Online]. Available: http://encore.fama.us.es/iii/encore/record/ C Rb1745436?lang=spi [12] P. E. Allen and D. R. Holberg, CMOS analog circuit design, 2002. [13] K. Maex, “Silicides for Integrated-Circuits - TiSi2 and CoSi2,” Materials Science & Engineering R-Reports, vol. 11, no. 2-3, pp. 53–153, 1993. [14] S. Sordo-Ibanez, B. Pinero-Garcia, S. Espejo-Meana, A. Ragel-Morales, J. Ceballos- Caceres, M. Munoz-Diaz, L. Carranza-Gonzalez, A. Arias-Drake, J. Mora-Gutierrez, and M. Lagos-Florido, “An adaptive approach to on-chip CMOS ramp generation for high resolution single-slope ADCs,” 2013 European Conference on Circuit Theory and Design, ECCTD 2013 - Proceedings, no. 1, 2013. [15] A. Gonz´alez-M´arquez, A. Charlet, A. Villegas, F. Jim´enez-Garrido, F. Medeiro, R. Dom´ınguez-Castro, and ´ A. Rodr´ıguez-V´azquez, “Design considerations for a low-noise CMOS image sensor,” in Spie-Ist, R. Widenhorn and A. Dupret, Eds., vol. 9403, no. March 2015. SPIE/IS&T, mar 2015, p. 94030P. [Online]. Available: http://proceedings.spiedigitallibrary.org/proceeding.aspx?doi=10.1117/12.2087381 [16] “Teledyne AnaFocus.” [Online]. Available: https://teledyne-anafocus.com/ [17] D. Portaluppi, E. Conca, and F. Villa, “32 x 32 CMOS SPAD Imager for Gated Imaging, Photon Timing, and Photon Coincidence,” IEEE Journal of Selected Topics in Quantum Electronics, vol. 24, no. 2, 2018. [18] A. Payne, A. Daniel, A. Mehta, B. Thompson, C. S. Bamji, D. Snow, H. Oshima, L. Prather, M. Fenton, L. Kordus, P. O’Connor, R. McCauley, S. Nayak, S. Acharya, 49
S. Mehta, T. Elkhatib, T. Meyer, T. O’Dwyer, T. Perry, V. H. Chan, V. Wong, V. Mogallapu, W. Qian, and Z. Xu, “A 512 x 424 CMOS 3D Time-of-Flight image sensor with multi-frequency photo-demodulation up to 130MHz and 2GS/s ADC,” Digest of Technical Papers - IEEE International Solid-State Circuits Conference, vol. 57, pp. 134–135, 2014. 50