Circuitos Digitales

2
1 Arreglo de Compuertas y Funcionamiento en la Programación de un FPGA Julio Fernando Siguencia Urgiles. [email protected] Circuitos Digitales Avanzados Universidad Politécnica Salesiana I. ARREGLOS DE COMPUERTAS Los circuitos integrados o arreglos de compuertas, contienen un gran número de compuertas libres es decir sin conectar. Asiduamente incluye arreglos de celdas individuales en las que la adición de una interconexión crea una compuerta especifica NAND o NOR. La programación del arreglo hace que las compuertas se interconecten para crear lógica combinacional, flip-flops, registros,contadores,memorias,etc El chip original que se puede fabricar en grandes cantidades puede hacer que lleve acabo una tarea determinada especificando las inter- conexiones entre las compuertas. La programación de estos dispositivos requiere normalmente de un software de muy alto costo, complejidad y de una computadora con una capacidad elevada para llevar a cabo la ubicación y envió de conexiones. Hay reglas de diseño que limitan el número de cruces en el patrón de conexiones generado por la computadora. Junto a estas reglas con frecuencia se necesita mucha interaccion en el proceso de diseño. Ademas, una vez que se han hecho las iterconexiones no se puede modificar. El resultado es tal que el uso de los arreglos de compuertas esta limitado a productos de alto volumen y requiere de un ciclo de desarrollo relativamente mas largo.[1] Se construye una versión de arreglos de compuertas sin incluir las interconexiones metálicas. La programación, que personaliza el diseño, resulta un trabajo artesanal de fotoli- tografia(proceso empleado en la fabricación de dispositivos semiconductores) para las mascarillas necesarias y asi poder crear el paso final de interconexion en el proceso de fabri- cación. El dispositivo esta listo en una cuantas semanas y se entrega al usuario final. En otra versión se fabrican dos capas de interconexion en el diseño de la rejilla con rutas interconstruidas para conectar las capas. El programa del usuario se convierte en un patrón de metal para la capa superior la que sera grabada (mediante un ataque químico) para formar las interconexiones para ambas capas. Este segundo caso requiere la adición de algunos pasos en el proceso de fabricación y menos tiempo para el diseño. Los arreglos de compuertas emplean solo una pequeña variedad de celdas estándar de transistores, lo que hace que el diseño no se pueda optimizar completamente con respecto a la disipación de potencia o velocidad para todas las aplicaciones.[1][2] Los arreglos de compuertas no emplean eficientemente to- dos los recursos del silicio como en los diseños completamente a la medida. En una computadora o estación de trabajo el arreglo de compuertas se programa de manera similar a los dispositivos PAL o PLA pero necesita un software mas avanzado y una computadora de mayor poder. El PAL es un dispositivo programable especialmente útil en aplicaciones donde hay un número relativamente grande de entradas y al mismo tiempo un numero significativo de restricciones sobre ellas. Sirven para crear términos “no im- portan” lo que significa que un numero de los reglones de la tabla e verdad no necesita ser implantado.[1] El PLA proporciona mas libertad a los diseñadores gracias a que se pueden hacer las conexiones tanto de los arreglos de compuertas AND como los de compuertas OR .[1] Ademas del manejo de conexiones y ruteo, se deben consi- derar problemas térmicos como los puntos calientes. El progra- ma del diseñador se puede ingresar en forma booleana,como se describió, o mediante una tabla de estados. Otro método común de programación es la captura esquemática . Aquí, el diseñador crea el diagrama lógico en el monitor de una computadora mediante el llamado de los componentes de una biblioteca de software y conectándolos como se desee. Se cuenta con una buena cantidad de ayuda dentro del software en la forma de rutear las pistas, algoritmos de ubicacion y en macros en los que frecuentemente se tratan combinaciones usuales de compuertas(tales como registros) con nombres preestablecidos. Normalmente el usuario puede crear sus propios macros en software. La programación de un arreglo de compuertas da como resultado un conjunto de instrucciones de computadora ge- nerados por el propio software par crear el trabajo de fotolito- grafia() necesario para formar las conexiones requeridas entre todas las compuertas en el circuito. El arreglo de compuertas se emplea con frecuencia en la implantación de sistemas completos en chips VLSI.[2] Es muy importante evaluar el desempeño del diseño antes de construirlo. Puesto que la construcción de un dispositivo de prueba es muy costoso y no predice de manera precisa los retardos de tiempo debido a la diferencia en tamaño, la mejor herramienta para evaluar el desempeño es la simulación. Casi todo el software de diseño para la creación de circuitos integrados grandes cuentan con un paquete de simulación el cual se puede emplear para evaluar el desempeño y preparar las señales de prueba que se van a usar durante la producción.

description

actividad

Transcript of Circuitos Digitales

  • 1Arreglo de Compuertas y Funcionamiento en laProgramacin de un FPGA

    Julio Fernando Siguencia [email protected]

    Circuitos Digitales AvanzadosUniversidad Politcnica Salesiana

    I. ARREGLOS DE COMPUERTAS

    Los circuitos integrados o arreglos de compuertas, contienenun gran nmero de compuertas libres es decir sin conectar.Asiduamente incluye arreglos de celdas individuales en las quela adicin de una interconexin crea una compuerta especificaNAND o NOR. La programacin del arreglo hace que lascompuertas se interconecten para crear lgica combinacional,flip-flops, registros,contadores,memorias,etc El chip originalque se puede fabricar en grandes cantidades puede hacer quelleve acabo una tarea determinada especificando las inter-conexiones entre las compuertas. La programacin de estosdispositivos requiere normalmente de un software de muy altocosto, complejidad y de una computadora con una capacidadelevada para llevar a cabo la ubicacin y envi de conexiones.Hay reglas de diseo que limitan el nmero de cruces en elpatrn de conexiones generado por la computadora. Junto aestas reglas con frecuencia se necesita mucha interaccion enel proceso de diseo. Ademas, una vez que se han hecho lasiterconexiones no se puede modificar. El resultado es tal que eluso de los arreglos de compuertas esta limitado a productos dealto volumen y requiere de un ciclo de desarrollo relativamentemas largo.[1]

    Se construye una versin de arreglos de compuertas sinincluir las interconexiones metlicas. La programacin, quepersonaliza el diseo, resulta un trabajo artesanal de fotoli-tografia(proceso empleado en la fabricacin de dispositivossemiconductores) para las mascarillas necesarias y asi podercrear el paso final de interconexion en el proceso de fabri-cacin. El dispositivo esta listo en una cuantas semanas y seentrega al usuario final.

    En otra versin se fabrican dos capas de interconexionen el diseo de la rejilla con rutas interconstruidas paraconectar las capas. El programa del usuario se convierte enun patrn de metal para la capa superior la que sera grabada(mediante un ataque qumico) para formar las interconexionespara ambas capas. Este segundo caso requiere la adicin dealgunos pasos en el proceso de fabricacin y menos tiempopara el diseo. Los arreglos de compuertas emplean solo unapequea variedad de celdas estndar de transistores, lo quehace que el diseo no se pueda optimizar completamente conrespecto a la disipacin de potencia o velocidad para todas lasaplicaciones.[1][2]

    Los arreglos de compuertas no emplean eficientemente to-dos los recursos del silicio como en los diseos completamente

    a la medida. En una computadora o estacin de trabajoel arreglo de compuertas se programa de manera similar alos dispositivos PAL o PLA pero necesita un software masavanzado y una computadora de mayor poder.

    El PAL es un dispositivo programable especialmente tilen aplicaciones donde hay un nmero relativamente grandede entradas y al mismo tiempo un numero significativo derestricciones sobre ellas. Sirven para crear trminos no im-portan lo que significa que un numero de los reglones de latabla e verdad no necesita ser implantado.[1]

    El PLA proporciona mas libertad a los diseadores graciasa que se pueden hacer las conexiones tanto de los arreglos decompuertas AND como los de compuertas OR .[1]

    Ademas del manejo de conexiones y ruteo, se deben consi-derar problemas trmicos como los puntos calientes. El progra-ma del diseador se puede ingresar en forma booleana,comose describi, o mediante una tabla de estados. Otro mtodocomn de programacin es la captura esquemtica . Aqu,el diseador crea el diagrama lgico en el monitor de unacomputadora mediante el llamado de los componentes de unabiblioteca de software y conectndolos como se desee.

    Se cuenta con una buena cantidad de ayuda dentro delsoftware en la forma de rutear las pistas, algoritmos deubicacion y en macros en los que frecuentemente se tratancombinaciones usuales de compuertas(tales como registros)con nombres preestablecidos. Normalmente el usuario puedecrear sus propios macros en software.

    La programacin de un arreglo de compuertas da comoresultado un conjunto de instrucciones de computadora ge-nerados por el propio software par crear el trabajo de fotolito-grafia() necesario para formar las conexiones requeridas entretodas las compuertas en el circuito. El arreglo de compuertasse emplea con frecuencia en la implantacin de sistemascompletos en chips VLSI.[2]

    Es muy importante evaluar el desempeo del diseo antesde construirlo. Puesto que la construccin de un dispositivode prueba es muy costoso y no predice de manera precisalos retardos de tiempo debido a la diferencia en tamao, lamejor herramienta para evaluar el desempeo es la simulacin.Casi todo el software de diseo para la creacin de circuitosintegrados grandes cuentan con un paquete de simulacin elcual se puede emplear para evaluar el desempeo y prepararlas seales de prueba que se van a usar durante la produccin.

  • 2Figura 1. Arquitectura general de un PLA.[1]

    II. ARREGLOS DE COMPUERTAS PROGRAMABLES

    Se ha desarrollado un producto que es, de alguna forma,intermedio entre los PAL y los PLA, denominado arreglode compuertas programable(PGA) o arreglo de compuertasprogramable de campo (FPGA). Este arreglo, presenta unaestructura interna considerablemente menos firme que la deuna PLA, pero mucho mas solida que la del arreglo decompuertas completo.

    El FPGA, algunas veces llamado arreglo de celdas logicas(LCA), es un PLD cuya estructura no cambia con la programa-cin. En su lugar, se emplean seales electrnicas de controlpara modificar la funcin de un circuito de estructura fija.

    Los dispositivos FPGA se basan en lo que se conocecomo arreglos de compuertas, los cuales consisten en la partede la arquitectura que contiene tres elementos configurables:bloques lgicos configurables (CLB), bloques de entrada y desalida (IOB) y canales de comunicacin [2]. A diferencia delos CPLD, la densidad de los FPGA se establece en cantidadesequivalentes a cierto nmero de compuertas. Por adentro, unFPGA est formado por arreglos de bloques lgicos configura-bles (CLB), que se comunican entre ellos y con las terminalesde entrada/salida (E/S) por medio de alambrados llamadoscanales de comunicacin. Cada FPGA contiene una matriz debloques lgicos idnticos, por lo general de forma cuadrada,conectados por medio de lneas metlicas que corren verticaly horizontalmente entre cada bloque.[1][2]

    Mediante una herramienta electrnica de automatizacin dediseo, se genera una lista de conexiones tecnologa asignada.La lista de conexiones puede ser instalado en la arquitectura deFPGA real mediante un proceso denominado lugar y la ruta,por lo general realizado por el lugar propio de la compaade FPGA y el software de ruta. El usuario deber validar losmapas, lugar y la ruta a travs de los resultados de anlisis detiempos, la simulacin, y otros mtodos de verificacin. Unavez que el proceso de diseo y validacin se ha completado, elarchivo binario generado se utiliza para configurar el FPGA.Este archivo se transfiere a la FPGA/CPLD a travs de una

    interfaz en serie o a un dispositivo de memoria externa, comouna EEPROM. Las ms comunes son las HDL y VHDLVerilog aunque en un intento de reducir la complejidad en eldiseo de las HDL que se han comparado con el equivalentede las lenguas de montaje, hay movimientos para aumentar elnivel de abstraccin a travs de la introduccin de lenguajesalternativos. Lenguaje de programacin grfica de LabVIEWde National Instruments tiene un FPGA mdulo complemen-tario a disposicin de destino y hardware FPGA programa.[2]

    Con el objeto de simplificar el diseo de los sistemascomplejos en FPGAs se han creado bibliotecas de funcionescomplejas predefinidas y circuitos que se han probado yoptimizado para acelerar el proceso de diseo.

    III. CONCLUSIONES

    Los arreglos de compuertas son un conjunto de chipssin conectar la programacin del arreglo hace que lascompuertas se interconecten para crear lgica combina-cional, flip-flops, registros,contadores,memorias, etc, unavez desarrollado no se puede modificar.

    Este tipo de dispositivos requiere normalmente de unsoftware muy avanzado para la programacin y unacomputadora con una capacidad elevada para llevar acabo la ubicacin y envi de conexiones.

    Una consideracin es que los arreglos de compuertasno emplean eficientemente todos los recursos del siliciocomo suele pesar en los diseos completamente a lamedida.

    REFERENCIAS[1] Palmer, James E., and Perlman, David E.. Introduccin a los sistemas

    digitales. Mxico: McGraw-Hill Interamericana, 2010. ProQuest ebrary.Web. 13 May 2015..

    [2] D. L. Programables, EXACTAS E INGENIERIAS PLD S DISPO-SITIVOS LOGICOS PROGRAMABLES .