You are on page 1of 15

INSTITUTO TECNOLGICO DE MATEHUALA INVESTIGACION LENGUAJES HDL 5 DE JUNIO DE 2012 JESS ALEJANDRO MORENO VARGAS PRINCIPIOS ELCTRICOS Y APLICACIONES

DIGITALES ING. FEDERICO BAEZ RAMOS INGENIERA EN SISTEMAS COMPUTACIONALES Matehuala S.L.P.
1

Contenido

Pag.

3.- Introduccin3 4.- Desarrollo........................................................................................................................................ 4.1.- Dispositivos Lgicos Programables.. 4.1.1.- Tipos 4.1.2.- Caractersticas. 4.1.3.- Fabricantes..6 4.1.4.- Pasos para el diseo con PDLs7 4.2.- Programacin de circuitos Combinacionales con HDL.9 4.3.- Programacin de circuitos Secuenciales con HDL.10 5.- Conclusin14 6.- Referencias.15

3.- INTRODUCCIN Los PLD son dispositivos digitales que se pueden configurar por el usuario para implementar una amplia variedad de funciones lgicas en sistemas. Estos dispositivos tienen pines de entrada, un arreglo lgico programable y pines de entrada y salida. Muchos PLD's tienen salidas programables que incrementan su flexibilidad hacindolos tiles para una gran variedad de aplicaciones. La flexibilidad y programabilidad de los PLD's hacen que el diseo con ellos sea mucho ms rpido que disear con lgica discreta. Esto es, se puede utilizar el PLD para implementar la mayora de las funciones hechas con los cientos de dispositivos de la familia lgica "7400". Tambin cabe recalcar que se toma menos espacio sobre el circuito impreso que con los dispositivos discretos. Una vez tomada la decisin de cambiar de lgica discreta a PLD, la siguiente pregunta es: "Cul PLD?" Los ms flexible de un PLD es, lo utilizable que es, ya que un diseador puede implementar cualquier ecuacin lgica. Hay que escoger PLD's que sean compatibles con los otros dispositivos que se estn utilizando. Hay que tomar en consideracin la potencia que se requiere que se gaste, ya que hay unos que requieren menos potencia para trabajar que otros. La estabilidad es otro factor importante. 4.- DESARROLLO 4.1.- Dispositivos Lgicos Programables Un dispositivo lgico programable (PLD) es un chip LSI que contiene una estructura de circuito regular, pero que permite al diseador adecuarlo para una aplicacin especfica, contiene una estructura circuital regular y flexible el diseador, puede configurar para que realice la funcin digital requerida, se configura programando estado interruptores.

4.1.1.- Tipos Circuitos integrados a medida Los Circuitos Integrados a Medida (Full Custom), se disean a peticin de un cliente para que resuelvan una determinada aplicacin. Conllevan un alto coste de desarrollo y su empleo slo se justifica para volmenes de produccin muy elevados. El tiempo necesario para la construccin de un CI a medida es considerable ya que puede oscilar de unos meses a unos aos.

Matrices de puertas Las Matrices de puertas (Gate Arrays) son pequeos trozos de silicio pendientes de algn proceso de metalizacin que defina las conexiones entre un importante nmero de puertas o transistores que poseen en su interior. Las matrices de puertas proporcionan densidades superiores a las 100.000 puertas, con un aprovechamiento del 80 al 90 por 100 para los dispositivos pequeos y del 40 por 100 para los grandes. Los fabricantes de silicio ponen a disposicin de sus potenciales clientes abundante documentacin sobre estos Gate Arrays, con una serie de macros que pueden utilizar de forma inmediata y otras que pueden construirse ellos mismos. Los macros son agrupaciones de un nmero de clulas bsicas que realizan funciones comunes como; sumadores; puertas NOT, AND, NAND, NOR XOR, etc; latches y flip-flops S-R, J-K, D; buffer; osciladores; registros, decodificadores, multiplexores, etc. Junto a esta documentacin, los fabricantes aportan un software que contabiliza el nmero de clulas bsicas utilizadas por todas las macros, sugiere el Gate Array adecuado para la aplicacin, calcula la potencia disipada por el Gate Array que alojar el diseo del cliente, proporciona informacin sobre los tiempos de propagacin de las seales y permite verificar el funcionamiento del circuito. Una vez superadas todas las etapas previas, el cliente enva la documentacin generada al fabricante para que ste ultime los procesos de metalizacin y fabrique un primer prototipo. El diseo con Gate Arrays puede durar semanas o meses. Requiere un volumen alto de circuitos para justificar sus costes. Clulas normalizadas Las clulas normalizadas (Standard Cell) son, en cierta forma, similares a las matrices de puertas. Su principal ventaja sobre ellas es que en lugar de trabajar con simples puertas o transistores, se dispone de colecciones de diferentes partes de circuitos que han sido depurados (puertas lgicas, circuitos MSI, RAM estticas, ficheros de registro, etctera). El usuario tiene que ensamblar estos circuitos, verificarlos y finalmente enviar documentacin al fabricante de silicio para el desarrollo del primer prototipo. A pesar del concepto de clula normalizada, los perodos y los costes de desarrollo son superiores a los de las matrices de puertas. FPICs Los FPICs (Field Programmable Integrated Circuits): son chips programables por el usuario mediante programadores comerciales. El trmino FPIC tambin incluye a los CI no destinados a las aplicaciones lgicas. Son las memorias, los microcontroladores, los PLD (Programmable Logic Device), las FPGA (Field Programmable Gate Array) y los ASPLD (Aplication Specific Programmable Logic Devices).
4

Los FPIC ofrecen soluciones de bajo coste, de tiempo de desarrollo corto y con menor riesgo que los circuitos a medida, las matrices de puertas y las clulas normalizadas. Los FPICs pueden ser: o PLDs: (Programmable Logic Devices) son pequeas ASICs(Application Specific Integrated Circuit)) configurables por el usuario capaces de realizar una determinada funcin lgica. o La mayora de los PLD consisten en una matriz de puertas AND seguida de otra matriz de puertas OR. Mediante esta estructura, puede realizarse cualquier funcin como suma de trminos productos. o ASPLDs: (Application Specific Programmable Logic Devices) son PLDs diseados para realizar funciones especficas como, decodificadores de alta velocidad, secuenciadores, interfaces para buses particulares, perifricos programables para microprocesadores, etc. Partes del ASPLD son programables permitiendo la adaptacin del circuito a una aplicacin determinada, pero manteniendo su funcin bsica; as, por ejemplo, un decodificador lo personaliza el usuario, pero sigue siendo un decodificador. Estos circuitos estn muy optimizados para la funcin para la que han sido diseados. Los decodificadores slo tienen un trmino producto, carecen de puertas OR y resultan por consiguiente muy rpidos; por otro lado, los circuitos de interface para buses normalmente tienen un Fan-Out elevado. o FPGAs: Las FPGAs (Field Programmable Gate Arrays) contienen bloques lgicos relativamente independientes entre s, con una complejidad similar a un PLD de tamao medio. Estos bloques lgicos pueden interconectarse, mediante conexiones programables, para formar circuitos mayores. Existen FPGAs que utilizan pocos bloques grandes (Pluslogic, Altera y AMD) y otras que utilizan muchos bloques pequeos (Xilinx, AT&T, Plessey, Actel). A diferencia de los PLDs , no utilizan arquitectura de matriz de puertas AND seguida de la matriz de puertas OR y necesitan un proceso adicional de ruteado del que se encarga un software especializado. La primera FPGA la introdujo Xilinx en el ao 1985. La programacin de las FPGAs de Xilinx basadas en RAM esttica es diferente a la programacin de los PLDs. Cada vez que se aplica la tensin de alimentacin, se reprograma con la informacin que lee desde una PROM de configuracin externa a la FPGA. Una FPGA basada en SRAM (RAM esttica) admite un nmero ilimitado de reprogramaciones sin necesidad de borrados previos. En general la complejidad de una FPGA es muy superior a la de un PLD. Los PLD tienen entre 100 y 2000 puertas, las FPGAs tienen desde 1200 a 20.000 puertas y la tendencia es hacia un rpido incremento en la densidad de puertas. El nmero de flip-flops de las FPGA generalmente supera al de los PLD. Sin embargo, la capacidad de la FPGA para realizar lgica con las entradas suele ser inferior a la de los PLD.

4.1.2.- Caractersticas Los PLDs estn situados en una zona intermedia entre los dispositivos a medida y la lgica de catlogo formada por los CI de funcin fija. Tienen casi todas las ventajas de los ASICs sin estar penalizados por un costo elevado para pequeas series. El ciclo de diseo con PLDs es mucho ms rpido que los de las matrices de puertas o las clulas normalizadas. En determinadas aplicaciones, un PLD puede sustituir desde unos pocos hasta unas decenas de CI de funcin fija, mientras que los grandes ASICs pueden sustituir a cientos e incluso miles de CI. En ocasiones, los PLD se utilizan para realizar prototipos que posteriormente se llevarn a un ASIC ms complejo. El trabajo con PLDs proporciona: facilidad de diseo, prestaciones, fiabilidad, economa y seguridad.

4.1.3.- Fabricantes

4.1.4.- Pasos para el diseo con PDLs Un proceso tpico para disear con los PLD es el siguiente: 1. La lgica a ser implentada en un PLD se expresa en un archivo fuente usando un lenguaje de diseo. Estos incluyen ecuaciones booleanas, tablas de verdad y sintaxis de mquinas de estado. 2. El archivo se procesa por un compilador lgico para generar un archivo JEDEC del diseo. El compilador configura los bits en le archivo JEDEC los cuales determinan las conexiones que se harn en el arreglo lgico y configurar as las salidas.

Las herramientas de soporte al diseo con PLDs facilitan enormemente este proceso. Las hojas de codificacin que se utilizaban en 1975 han dejado paso a los ensambladores y compiladores de lgica programable (PALASM, AMAZE, ABEL, CUPL, OrCAD/PLD, etc). Estas nuevas herramientas permiten expresar la lgica de los circuitos utilizando formas variadas de entrada tales como: ecuaciones, tablas de verdad, procedimientos para mquinas de estados, esquemas, etc. La simulacin digital posibilita la depuracin de los diseos antes de la programacin de los dispositivos. Todo el equipo de diseo se reduce a un software de bajo coste que corre en un PC, y a un programador Los PLDs TTL que hay en el mercado tienen tiempos de conmutacin tan rpidos como los circuitos integrados de funcin fija ms veloces. Los PLDs ECL son todava ms rpidos. Sin embargo, el incremento de velocidad obtenido con los dispositivos CMOS, que ya han igualado o superado en prestaciones a los dispositivos TTL, est provocando el abandono de la tecnologa bipolar por parte de los fabricantes. En cuanto al consumo de potencia, los PLDs generalmente consumen menos que el conjunto de chips a los que reemplazan. Cuanto ms complejo es un circuito, ms probabilidades hay de que alguna de sus partes falle. Puesto que los PLDs reducen el nmero de chips en los sistemas, la probabilidad de un fallo disminuye. Los circuitos impresos con menor densidad de CI son ms fciles de construir y ms fiables. Las fuentes de ruido tambin se reducen. En este apartado, hay aspectos que resultan
7

difciles de cuantificar. Por ejemplo, los costes de prdida de mercado por un introduccin tarda de un producto. Otros son ms claros, por ejemplo, la reduccin del rea de las placas de circuito impreso obtenida gracias a que cada PLD sustituye a varios circuitos integrados de funcin fija. Los PLDs tienen fusibles de seguridad que impiden la lectura de los dispositivos programados, protegiendo los diseos frente a copias. Adems de los puntos mencionados, podemos aadir que los PLDs facilitan el ruteado de las placas de circulo impreso debido a la libertad de asignacin de patillas que proporcionan. Permiten realizar modificaciones posteriores del diseo y en ocasiones hacen posible la reutilizacin de circuitos impresos con algunos fallos, mediante una reasignacin de los PLDs Diagrama de Pasos para el diseo de un PDL

4.2.- Programacin de Circuitos Combinacionales con HDL Los sistemas combinacionales estn formados por un conjunto de compuertas interconectadas cuya salida, en un momento dado, esta nicamente en funcin de la entrada, en ese mismo instante. Por esto se dice que los sistemas combinacionales no cuentan con memoria. Un sistema combinacional puede tener n entradas y m salidas.

Las condiciones superuas corresponden a aquellos casos en que las combinaciones de variables de entrada no pueden ocurrir. Por ejemplo, si se quiere construir un circuito combinacional para convertir nmeros que estn en BCD (de 4 bits), a siete salidas que representan los segmentos de un display.

Nos enfocaremos en el segmento inferior derecho del display (segmento c), cuya Tabla de Verdad corresponde a:

Los sistemas combinacionales relativamente pequeos (menores a 100 compuertas), pueden ser construidos con compuertas convencionales. Tpicamente se utilizan nicamente compuertas NAND o NOR. 4.3.- Programacin de circuitos secuenciales con HDL. A medida que aumenta la cantidad de compuertas, nos vemos en la necesidad de construir dispositivos lgicos altamente integrados (VLSI). Los dispositivos VLSI consideran una disminucin en el tamao (fsico) nal de la solucin, en el costo por densidad de compuertas y en la latencia del circuito combinacional (debido a que las interconexiones internas son ms rpidas) . Sin embargo es necesario construir un chip distinto, segn sea la aplicacin, por lo que los costos en diseo son bastante altos. Los Arreglos Lgicos Programables (PLA) son dispositivos lgicos altamente integrados, diseados de manera genrica. Estos dispositivos se pueden adaptar para ser utilizados en usos especicos. Los PLA se basan en el hecho de que todas las expresiones lgicas pueden ser representadas como una suma de productos (SOP). Arreglos de Lgica programable Internamente los PLA tienen una estructura regular de compuertas NOT, AND y OR, que se describe de la siguiente forma: Cada entrada pasa por una compuerta NOT, con lo que se obtiene su complemento. Luego Cada entrada y su complemento estn conectados a cada compuerta AND. Finalmente cada compuerta AND est conectada a cada compuerta OR. Las salidas de las compuertas OR corresponden a las salidas del PLA. 4.3.- Programacin de Circuitos Secuenciales con HDL Un circuito secuencial puede entenderse simplemente como un circuito combinacional en el cual las salidas dependen tanto de las entradas como de las salidas en instantes anteriores, esto implica una retroalimentacin de las salidas.

10

Modelo de Moore.- Un modelo ms completo de lo que puede ser un circuito secuencial es el denominado Modelo de Moore, cuya estructura se presenta en la siguiente figura. El modelo de Moore consiste en dos bloques (circuitos) de lgica combinacional ms un bloque de memoria.

La lgica de estado siguiente que define la manera de generar las variables de estado a partir de las entradas. La Lgica de salida que define la manera en que se obtienen las salidas del circuito
a partir de las variables de estado. Este modelo tiene la particularidad de que las salidas slo son funcin de las variables de estado, es decir, del estado presente. Por ello, cuando en un circuito, las salidas solo dependen de las variables de estado, se les llama Salidas tipo Moore.

Modelo de Mealy.- En un modelo ms completo, las salidas en instantes anteriores estn expresadas por un conjunto de variables de estado, de manera que las salidas actuales dependen tanto de las entradas como de las variables de estado las cuales son guardadas en dispositivos de memoria. Este es el modelo ms completo de un circuito secuencial y se denomina Modelo de Mealy.

11

Como puede verse, en el modelo de Mealy las salidas en el instante presente pueden depender tanto de las variables de estado (y por lo tanto del estado presente) como de las entradas. A este tipo de salidas se les llama Salidas tipo Mealy. En general, un circuito secuencial puede ser una combinacin de los tres modelos presentados arriba, es decir, puede poseer salidas tanto tipo Mealy como Tipo Moore, o slo tipo Moore, o puede inclusive no tener dispositivos de memoria y funcionar solamente con la memoria asociada a los retardos naturales de las compuertas lgicas. Tabla de Funcionamiento Los fabricantes de los circuitos integrados usan una tabla de funcionamiento para describir la operacin de un circuito de una manera compacta, dicha tabla de funcionamiento no es otra cosa que una tabla de verdad como la usada para circuitos combinacionales, en la cual se ha introducido la informacin del tiempo que en el caso de circuitos secuenciales se vuelve esencial. Enseguida se ilustrar el uso de esta tabla para describir de manera compacta el funcionamiento del FF-SR.

En donde se ha utilizado la siguiente notacin: tn = instante en el cual se aplican las entradas. tn+1 = instante despus que el circuito responde. Qo = salida Q en el instante tn Q+ = salida en el instante tn+1 No es difcil notar que la tabla de funcionamiento es una tabla de verdad con la variable introducida Qo.

12

Tcnicas de Anlisis y Diseo de Circuitos Secuenciales Asncronos. Basados en las herramientas descritas hasta aqu (especialmente los diagramas de flujo de estado), se pueden plantear los procedimientos de diseo y de anlisis para circuitos secuenciales asncronos como sigue. Pasos de diseo Anlisis 1) Especificar el circuito lgico (diagrama de compuertas Lgicas) 2) Obtener las ecuaciones de estado siguiente 3) Obtener la tabla caracterstica parcial para cada estado 4) Dibujar el diagrama de flujo de estado Diseo 1) Especificar la funcin a realizar por el circuito mediante un diagrama de flujo de estado 2) Obtener la tabla caracterstica 3) Obtener los Mapas de Karnaugh 4) Obtener las ecuaciones de estado siguiente simplificadas 5) Implementar el circuito. Ejemplo. Disear un circuito secuencial para controlar el arranque de un motor bajo las siguientes especificaciones de funcionamiento - Si el motor est apagado, se encender durante 15 segundos al presionar un botn de arranque A, siempre y cuando un switch de permiso C est activado. - Si el motor est encendido se apagar al presionar un botn de paro P o al terminar los 15 segundos. 1er paso: Diagrama de bloques.- El circuito a disear tiene tres entradas (A, P y C) y una salida (M), sin embargo, requiere de un circuito (tipo monoestable) capaz de generar una seal de 15 segundos (para proporcionar el retardo), esto hace necesario una salida (G) y una entrada (Q) adicionales como se muestra en la siguiente figura

13

2 paso: Diagrama de Flujo de Estado De acuerdo a las especificaciones del circuito, podemos dos estados: Motor apagado y Motor encendido (esperando que transcurran los 15 segundos o el botn de paro). Con esto obtenemos el siguiente diagrama de dos estados.

14

5.- CONCLUSIN Segn la investigacin que fue un poco limitada pero efectiva nos damos cuenta que en la lgica combinacional los circuitos producen una respuesta instantnea ya que pues las salidas se pueden calcular a partir de la combinacin de los valores de las entradas en el mismo instante. La lgica combinacional no sirve para construir circuitos que con capacidad de memoria, es decir, funciones lgicas cuya salida en el instante presente depende de entradas en el pasado. Es entonces, cuando los circuitos secuenciales aparecen y cobran relevancia conceptos que no eran tan trascendentes para los circuitos combinacionales, algunos de estos conceptos son: instante presente, instante siguiente, estado, retroalimentacin, tiempo de propagacin, sincronizacin, memoria, secuencia, conteo, etc. Obsrvese que el principal concepto involucrado en todos los anteriores es el tiempo. 6.- REFERENCIAS 1. http://dea.unsj.edu.ar/sisdig2/CPLDs.pdf 2. http://www.cps.unizar.es/~te/Docencia_archivos/ldh_archivos/T1.pdf 3. http://es.scribd.com/doc/55197228/Introduccion-a-los-PLDs 4. http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0 CFYQFjAB&url=http%3A%2F%2Fgemini.udistrital.edu.co%2Fcomunidad%2Fprofesor es%2Fjruiz%2Fjairocd%2Ftexto%2Fplds.ppt&ei=niPNT9mFOqro2QWSw6SnAQ&usg= AFQjCNGmauj-bDzRGwsAM1ywR02cqBBHsA&sig2=7K81WI29TnAJYTWpfBsUjg 5. http://www.dcc.uchile.cl/~clgutier/Capitulo_4.pdf 6. http://antiguo.itson.mx/die/eromero/biblioelec/bsistdig1/prog_PLD.pdf

15