Sei sulla pagina 1di 120

APRENDA PLDs, PRINCIPIOS Y APLICACIONES

ELABORADO POR:

ING. LUIS GERARDO FLORES RODRIGUEZ

DERECHOS RESRVADOS 2002 Ing. Luis Gerardo Flores Rodrguez. Esta obra y sus caractersticas son propiedad del autor, cualquier reproduccin total o parcial, queda estrictamente prohibida, de acuerdo a los derechos de autor que marca la ley.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

Resumen
En el captulo uno, se presenta un repaso de los principios de los sistemas digitales, como es el lgebra booleana, los mapas de Karnaugh, las compuertas simples y compuestas. En el captulo dos, se detalla que es la lgica programable, los tipos de PLDs, ventajas, limitaciones, seleccin, nomenclatura, las Macroceldas de salida lgica (OLMC), fabricantes de PLDs, y los pasos necesarios para la programacin. En el captulo tres, se describe el software de desarrollo utilizado en este trabajo, el WinCUPL (Compilador Universal de Lgica Programable bajo el sistema Windows), este software de la compaa Logic Devices Co., es uno de los mas populares en el mercado. En el captulo cuatro, se menciona los tres posibles mtodos de programacin en la lgica combinacional, donde se incluyen un ejemplo en cada mtodo de implementacin, dando explicacin paso a paso para su programacin. Y por ultimo, el captulo cinco nos indica las dos maneras de programacin en la lgica secuencial; por secuencia y por ecuaciones. En ambas formas mostramos un ejemplo prctico, dando por conclusin el mismo resultado.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

Contenido
Derechos de autor Resumen Contenido Figuras Antecedentes

1.

INTRODUCCIN. 1.1 Sistemas analgicos y digitales 1.2 Sistemas Numricos 1.3 Tabla de verdad 1.4 Compuertas simples y compuestas 1.4.1 Compuertas simples 1.4.2 Compuertas compuestas 1.5 lgebra Booleana 1.6 Minitrminos y Maxitrminos 1.6.1 Minitrminos.(Suma de Productos).(m). 1.6.2 Maxitrminos.(Productos de Suma).(M). 1.6.3 Minimizacin de funciones combinacionales

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

5 1.7 Mapas de Karnaugh 1.7.1 Definicin. 1.7.2 Redundancias.(d). 2. DISPOSITIVOS LGICOS PROGRAMABLES. 2.1 Qu es la lgica programable?. 2.1.1 ASIC 2.1.2 PROM 2.1.3 PAL. 2.1.4 GAL 2.1.5 PLA 2.1.6 PLDs complejos. 2.1.7 FPGA. 2.2 Ventajas del uso de PLDs. 2.3 Limitaciones de las PLDs. 2.4 Seleccin del modelo adecuado para cada aplicacin. 2.5 Nomenclatura generalizada de las PLDs. 2.6 PALs programables varias veces : serie PALCExxx y GALs. 2.7 Fabricantes de PALs y GALs. 2.8 Programacin de los PLDs. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

6 3. COMPILADOR UNIVERSAL PARA LOGICA PROGRAMABLE. (WinCUPL) 3.1 Flujo de Datos. 3.2 Ciclo de "desarrollo". 3.3 Medio ambiente del WinCUPL. 3.3.1 Comandos de la barra de herramienta. 3.3.2 Comandos del men File:. 3.3.3 Comandos del men Edit:. 3.3.4 Comandos del men View:. 3.3.5 Comandos del man Options:. 3.3.6 Comandos del men Run:. 3.3.7 Comandos del men Utilities:. 3.3.8 Comandos del men Window:. 3.3.9 Comandos del men Help:. 3.4 Elementos del lenguaje. 3.4.1 Variables. 3.4.2 Palabras y smbolos reservados. 3.4.2.1 Palabras reservadas. 3.4.2.2 Smbolos reservados. 3.4.3 Comentarios. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

7 3.4.4 Notacin de listas. 3.4.5 Archivo Plantilla. 3.4.6 Declaracin de Pines y Campos. 3.4.6.1 Declaracin de pines. 3.4.6.2 Declaracin de campos de bits. 3.4.7 Comandos de Preprocesamiento. 3.4.8 Operadores Lgicos. 3.4.9 Extensiones. 3.4.10 Expresiones. 3.4.11 Ecuaciones Lgicas.

4.

LOGICA COMBINACIONAL. 4.1 Ejemplo usando tabla de verdad. 4.2 Ejemplo usando ecuaciones booleanas. 4.3 Ejemplo usando el programa esquemtico.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

8 5. LOGICA SECUENCIAL. 5.1 La macrocelda lgica de salida (OLMC) del GAL22V10. 5.2 La OLMC de la GAL16V8. 5.3 El modo combinacional. 5.4 El modo secuencial. 5.5 Tipos de mquinas de estados. 5.6 Ejemplo. 5.6.1 Implementacin utilizando la secuencia de estados. 5.6.2 Implementacin usando ecuaciones minimizadas. Bibliografa. Abreviaturas. Glosario.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

Figuras
Figura 1.1 Ejemplo de representaciones anlogas y digitales. Figura 1.2 Mapas de Karnaugh. Figura 1.3 Ejemplo de minimizacin. Figura 2.1 Arquitectura elemental del PROM. Figura 2.2 Arquitectura elemental del PAL. Figura 2.3 Arquitectura elemental de un PLA. Figura 2.4 Arquitectura elemental de un FPGA. Figura 2.5 Estructuras de las GAL16V8 y GAL20V8. Figura 2.6 Constitucin de Macroceldas de salida lgica (OLMCs) de un GAL. Figura 2.7 Sistema necesario para el desarrollo de un PLD. Figura 3.1 Flujo de datos del WinCUPL. Figura 3.2 Diagrama de flujo del ciclo de desarrollo de PLDs. Figura 3.3 Pantalla general del WinCUPL. Figura 4.1 Modo de programar el PLD. Figura 4.2 Pantalla de creacin de un nuevo archivo. Figura 4.3 Pantalla de edicin . Figura 4.4 Pantalla de insercin de la tabla. Figura 4.5 Acomodo de las variables y de la tabla de verdad. Figura 4.6 Pantalla Output Files. Figura 4.7 Pantalla de Minimization. Figura 4.8 Pantalla Optimization. Figura 4.9 Pantalla Devices. Figura 4.10 Pantalla Library. Figura 4.11 Pantalla General. Figura 4.12 Pantalla de opciones del simulador. Figura 4.13 Pantalla de los resultados de la compilacin .

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

10 Figura 4.14 Pantalla de cabecera del WinSim. Figura 4.15 Pantalla de resultados de la simulacin. Figura 4.16 Minimizacin de la ecuacin. Figura 4.17 Pantalla de cabecera. Figura 4.18 Pantalla de Edicin . Figura 4.19 Pantalla de cabecera del WinSim. Figura 4.20 Resultados simulados del WinSim. Figura 4.21 Pantalla general del programa Schematic. Figura 4.22 Botones de herramienta. Figura 4.23 Implementacin lgica de la ecuacin de nmeros primos. Figura 4.24 Programa fuente generado por el Schematic. Figura 4.25 Pantalla de la cabecera del WinCUPL. Figura 4.26 Programa fuente generado por Schematic, pegado en WinCUPL. Figura 4.27 Programa fuente arreglado. Figura 4.28 Pantalla de los resultados de simulacin del programa Numprim_sh. Figura 5.1 OLMC del GAL22V10. Figura 5.2 OLMC del GAL16V8. Figura 5.3 Modo combinacional para salidas activas a nivel bajo y a nivel alto. Figura 5.4 Modo secuencial para salidas activas a nivel bajo y a nivel alto. Figura 5.5 Diagrama de bloques generales para los dos tipos de mquinas de estado. Figura 5.6 Distribucin fsica del problema de control de semforos. Figura 5.7 Comportamiento del circuito. Figura 5.8 Tabla equivalente con valores bolanos. Figura 5.9 Minimizacin por mapa de las salidas Z1 y Z2. Figura 5.10 Programa fuente en WinCUPL, usando la secuencia de estados. Figura 5.11 Resultado de la simulacin. Figura 5.12 Minimizacin de las salidas de los flip-flops D. Figura 5.13 Programa fuente, utilizando ecuaciones lgicas. Figura 5.14 Resultado de la simulacin.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

11

Antecedentes
El incremento de popularidad y de utilizacin de los dispositivos lgicos programables o PLDs est siguiendo un proceso solamente comparable al que hace algunos aos acompa a los microprocesadores. Los PLDs se utilizan en casi todos los nuevos equipos electrnicos de control, industriales, de consumo, de oficina, de comunicaciones, etc. Desde finales de la dcada de los sesenta, los equipos electrnicos digitales se han construido utilizando circuitos integrados de funcin lgica fija, realizados en pequea o mediana escala de integracin. Para las realizaciones muy complejas que exigiran un nmero elevado de circuitos integrados (CI) de funcin fija, se utilizan circuitos diseados a medida que slo sirven para una aplicacin. Son los llamados CI especficos a una aplicacin o ASIC (Application Specific Integrated Circuit). Por regla general, los ASICs los producen los fabricantes de CI con las especificaciones proporcionadas por el usuario. Los equipos realizados con ASICs ocupan menos espacio, son ms fiables, consumen menos energa y en grandes series resultan ms baratos que los equipos equivalentes realizados con CI de funcin fija. Por otro lado, estos circuitos son muy difciles de copiar. Diferentes modalidades de ASICs son; los Circuitos a Medida (Full Custom), las Matrices de Puertas (Gate Arrays), las Clulas Normalizadas (Standard Cell) y los FPICs (Field Programmable Integrated Circuits); estos ltimos son circuitos programables por el usuario final. Los PLDs (Programmable Logic Devices) son pequeas ASICs configurables por el usuario capaces de realizar una determinada funcin lgica. 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. Aunque las memorias PROM, EPROM y EEPROM son PLDs, muchas veces se las excluye de esta denominacin debido a que su contenido se define utilizando elementos de desarrollo propios de microprocesadores, tales como; ensambladores, emuladores y lenguajes de programacin de alto nivel. Otras veces, cuando estas memorias se usan para realizar una funcin lgica y no para guardar un programa de un microprocesador, se las incluye dentro del trmino PLD.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

12 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. Adems 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. 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 costo que corre en una 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 cuanto economa, hay aspectos que resultan difciles de cuantificar. Por ejemplo, los costos de prdida de mercado por una introduccin tarda de un producto.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

13 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. Muchas veces se consigue reducir el nmero de placas de circuito impreso economizndose en conectores. La reduccin de artculos en almacn tambin aporta ventajas econmicas. De la misma manera que para altos volmenes de produccin las memorias ROM resultan de menor costo que las EPROM, las HAL (Hard Array Logic) o PLDs programados por el fabricante proporcionan ahorros adicionales en grandes cantidades. 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 circuito 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.

Existen en la actualidad infinidad de arquitecturas diferentes de PLDs y su nmero se incrementa da a da. Aunque resulta casi imposible hacer una referencia completa de todos los tipos de PLDs en el mercado, en este trabajo slo se presentarn algunas de las ms comunes.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

14

1. INTRODUCCIN. 1.1 Sistemas analgicos y digitales.


En la ciencia, la tecnologa, la administracin y, de hecho, muchos otros campos de la actividad humana, constantemente se manejan cantidades. Estas se miden, monitorean, registran, manipulan aritmticamente, observan o, en alguna otra forma, se utilizan en muchos sistemas fsicos. Cuando se manejan diversas cantidades es importante que podamos representar sus valores con eficiencia y exactitud. Existen bsicamente dos maneras de representar el valor numrico de las cantidades: La analgica y la digital. Representaciones analgicas.en la representacin analgica, una cantidad se denota por medio de otra que es proporcional a la primera. Las cantidades analgicas tienen una caracterstica importante: Pueden variar gradualmente sobre un intervalo continuo de valores. Representaciones digitales.las cantidades no se denotan por valores proporcionales, sino por smbolos denominados dgitos.

ANALGICA Figura 1.1

CONTINUO

DIGITAL DISCRETO

Ejemplo de representaciones anlogas y digitales.

Sistema digital.- es una combinacin de dispositivos diseada para manipular cantidades fsicas o informacin que estn representadas en forma digital; esto es, que solo pueden tomar valores discretos.

Sistemas analgicos.- contienen dispositivos que manipulan cantidades fsicas representadas en forma analgica. En un sistema de este tipo, las cantidades varan sobre un intervalo continuo de valores.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

15 Ventajas de las tcnicas digitales. 1. Los sistemas digitales son ms fciles de disear. 2. Facilidad para almacenar la informacin. 3. Mayor exactitud y precisin. 4. Programacin de la operacin. 5. El ruido afecta en forma mnima a los circuitos digitales. Limitaciones de la tcnicas digitales. Solo un problema: El mundo real es fundamentalmente ANALGICO (velocidad, temperatura, distancia, sonido,... etc). Cuando se tienen entradas y salidas analgicas, deben seguirse tres pasos para aprovechar las tcnicas digitales: 1. Convertir las entradas analgicas del mundo real a la forma digital. 2. Procesar ( realizar operaciones) con la informacin digital. 3. Convertir de nuevo las salidas digitales a la forma analgica del mundo real. Cada vez es ms frecuente observar dentro de un mismo sistema el empleo de tcnicas analgicas y digitales para obtener mayor beneficio de ambas. En estos sistemas hbridos, uno de los aspectos ms importantes de la fase de diseo es determinar que partes del sistema sern analgicos y cuales digitales.

1.2 Sistemas Numricos.


El sistema numrico decimal fue inventado por matemticos hindes hace ms de dos mil aos y los rabes lo introdujeron al mundo occidental en el siglo trece. Consta de diez smbolos que van del cero al nueve, introduce el concepto del valor posicional, en el que cada posicin representa la base elevada a una potencia. En base 10 el dgito que se encuentra en la posicin de unidades debe ser multiplicado por 100, el de decenas por 101, el de centenas por 102, etc. Por ejemplo: 7865 = (7 * 103) + (8 * 102) + (6 * 101) + (5 * 100)

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

16 existen muchos otros sistemas numricos, los cuales comparten con el sistema decimal las siguientes propiedades: El nmero de smbolos diferentes (dgitos) usados por el sistema es igual a la base. El dgito mayor es siempre una unidad menor a la base. En cada posicin se multiplica el valor del dgito por la base elevada a la potencia correspondiente. Para un nmero entero, el ltimo dgito (o sea el de la derecha) est multiplicado por la base elevada a la potencia cero, el penltimo est multiplicado por la base elevada a la potencia uno, el antepenltimo por la base elevada a la potencia dos, y as sucesivamente. Los acarreos en sumas y restas, se propagan hacia la siguiente posicin con mayor peso ponderal. El sistema numrico binario solo encuentra aplicacin prctica hasta hace aproximadamente 50 aos al iniciarse el desarrollo de automatismos a relevadores. Actualmente se emplea profusamente en las computadoras e instrumentos digitales por requerir solo de dos niveles de seal para representar cada dgito. El sistema binario consta de dos dgitos 0 y 1. Al representar un nmero entero en binario la posicin de la derecha est multiplicado por 20, la siguiente a 21, la siguiente por 22, etc. A cada dgito binario se le llama bit. Al bit de la extrema derecha se le conoce como bit menos significativo y al de la extrema izquierda bit ms significativo. Ejemplo.- determine el valor del nmero binario 1011. (1011) = (1 * 23) + (0 * 22) + (1 * 21) + (1 * 20) = (1 * 8) + (0 * 4) + (1 * 2) + (1 * 1) = 8 + 2 + 1 = 11 El sistema binario no es muy conveniente para que nosotros representemos cantidades grandes, pues se requieren demasiados ceros y unos. Por tal razn se emplean frecuentemente otros sistemas que correspondan a una representacin abreviada del sistema binario. Si se considera que existen 16 posibles combinaciones para un grupo de 4 bits (24 = 16) se tiene que un dgito hexadecimal (base 16) sustituye a cuatro dgitos binarios. En el sistema hexadecimal trabajamos con 16 smbolos que son los nmeros 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, y las letras A, B, C, D, E, F. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

17 El procedimiento para convertir de binario a hexadecimal requiere solo separar al nmero binario en grupos de 4 bits y sustituir cada grupo por el dgito hexadecimal correspondiente. Para convertir de hexadecimal a binario se invierte el procedimiento.

Ejemplo.- Convertir de binario a hexadecimal el nmero binario 011111001000 0111 1100 1000 (7) (C) (8)

1.3 Tabla de verdad.


A las posibles combinaciones de las variables de entrada, y la salida de un circuito lgico se llama tabla de verdad. Variables lgicas: A 0, 1 A, B 00,01, 10, 11 A, B, C 000, 001, 010, 011, 100, 101, 110, 111 n 2n

1.4 Compuertas simples y compuestas.


1.4.1 Compuertas simples. AND.Tabla de verdad B 0 0 1 1 A 0 1 0 1 F 0 0 0 1

Smbolo

Funcin lgica

A B

F =A*B

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

18 OR.Tabla de verdad
B 0 0 1 1 A 0 1 0 1 F 0 1 1 1

Smbolo A B

Funcin lgica

F =A + B

INVERSOR.Tabla de verdad A F 0 1 1 0
A

Smbolo
F

Funcin lgica F =A

1.4.2 Compuertas compuestas. NAND.Tabla de verdad lgica


B 0 0 1 1 A 0 1 0 1 F 1 1 1 0

Smbolo

Funcin

A B

F= AB

NOR.Tabla de verdad lgica


B 0 0 1 1 A 0 1 0 1 F 1 0 0 0 A B

Smbolo

Funcin

F =A+B

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

19 XOR.- OR exclusivo.Tabla de verdad lgica


B A F 0 0 0 0 1 1 1 0 1 1 1 0 NOREX.-

Smbolo A F B

Funcin F =A B + A B = AB

NOREX.- NOR Exclusivo Tabla de verdad B A F 0 0 1 0 1 0 1 0 0 1 1 1

Smbolo
A B

Funcin lgica

F =A B + A B

1.5 lgebra Booleana.


Mtodo matemtico para tratar de describir las propiedades de un sistema formal de pensamiento que nicamente permite dos Posibilidades discursivas: Si-No, Arriba-Abajo, Blanco-Negro, Cero-Uno. El creador de todo esto fue el matemtico ingls George Boole (1815-1864). Funciones, Leyes y Propiedades del lgebra Booleana:

Funcin AND. 0*0=0 0*1=0 1*0=0 1*1=1

Funcin OR. 0+0=0 0+1=1 1+0=1 1+1=1

Inversor. 0 = 1 1 = 0

Ley conmutativa. X*Y=Y*X X + Y =Y + X

Ley distributiva. X * (Y + Z) =X * Y + X * Z X + Y * Z = (X + Y) * (X + Z)

Ley asociativa. X*(Y * Z) = (X * Y)Z X + (Y + Z)=(X + Y) + Z

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

20 Absorcin. X + X * Y =X X*(X + Y) =X Identidad. X+X*Y= X+Y X * (X + Y) = X *Y Propiedad de la AND. X* 0=0 0* X=0 X*1=X 1*X=X Doble complemento. X = X

Propiedades de la OR. X+0=X 0+X=X X+1=1 1+X=1

Combinando. X*X=X X * X = 0 X+X=X X +X = 1

Leyes de Morgan de la complementacin. X + Y =X * Y X * Y = X + Y

1.6 Minitrminos y Maxitrminos.


1.6.1 Minitrminos.(Suma de Productos).(m) Una forma de sintetizar una funcin es a partir de la tabla de verdad. Suma de productos.- Si en cada trmino de la funcin aparecen todas las variables, a esta expresin se le llama funcin cannica externa (FCA) o suma de productos estndar. Ejemplo.F (C, B, A) = A +AB + ABC suma de productos. FCA. F (C, B, A) = ABC + ABC + ABC

A los trminos que tienen todas las variables se les llama minitrminos. Para obtener la FCA partiendo de una tabla de verdad, se procede con lo siguiente: Se toman los renglones donde la funcin es 1, si la variable es 1 se deja tal cual, si es cero se niega, despus se suman lgicamente los productos lgicos correspondiente a dicho rengln.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

21 Ejemplo: B 0 0 1 1 A 0 1 0 1 F 0 1 1 0 F = AB +AB

1.6.2 Maxitrminos.(Productos de Suma).(M) Cuando en cada trmino ( producto) aparecen todas las variables se llama maxitrmino y a la expresin formada por maxitrminos se le llama funcin cannica conjunta o producto de suma estndar (FCC). F(C, B, A) = (A + B)( C + A) productos de suma FCC F(C, B, A) = (A +B + C)(A + B +C)

Una FCC se obtiene de una tabla de verdad de la forma siguiente: Se toman de la columna de salida los ceros, si la variable es uno se niega, si es cero se deja tal cual, despus se multiplican lgicamente los maxitrminos asociados a cada rengln.

1.6.3 Minimizacin de funciones combinacionales. La tarea de un diseador lgico consiste en implementar una funcin lgica al mnimo costo. Mtodos de Minimizacin: Veitch Karnaugh

Quine McCluskey

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

22

1.7 Mapas de Karnaugh.


As como una tabla de verdad representa una funcin lgica, en los mapas se asocia un rea a la combinacin de las variables y la funcin se representa por un 1 o un 0 en dichas reas. Mapas de Karnaugh. 0 1 Una variable. 0 1 0 1 Dos variables.

00 01 11 10 0 1 Tres variables. 00 01 11 10 Figura 1.2 1.7.1 Definicin.

00 01 11 10 Cuatro variables.

Mapas de Karnaugh

Dos trminos son lgicamente adyacentes cuando difieren en una variable nicamente.

AB C ABC Son lgicamente adyacentes

DC B A DCBA No son lgicamente adyacentes.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

23 Una funcin ser mnima cuando contiene el mnimo nmero de trminos y cada trmino el nmero mnimo de variables. El proceso de Minimizacin es el siguiente: Del mapa de Karnaugh se asocia el mximo nmero de unos (ser en potencia de dos, o sea, 1, 2, 4, 8, ) que sean lgicamente adyacentes entre s. El proceso de Minimizacin se lleva a cabo por una aplicacin interactiva del teorema: AB +AB = A. El trmino minimizado contendr las variables que no cambian, as mismo, los unos que hayan sido asociados se pueden volver a asociar segn el teorema: A +A = A. 00 1 1 1 1 01 0 1 1 0 11 0 1 1 0 10 0 0 0 0

00 01 11 10

F = WY +WX

Figura 1.3

Ejemplo de minimizacin.

1.7.2 Redundancias.(d) En ciertas ocasiones la funcin no depende de ciertas combinaciones de las variables de entrada, ya que estas combinaciones no se presentan. Se dice que el valor de la funcin no importa (dont care). En la columna de salida esto se representa por los siguientes smbolos y se les llama redundancias: X Redundancias * En el proceso de minimizacin la redundancia se toma como uno como cero segn ms convenga.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

24 Ejemplo.- Implementar la siguiente funcin: F = m(0, 3, 4, 8, 12) + d(1, 2, 10) 00 01 11 10 00 1 1 1 1 01 X 0 0 0 11 1 0 0 0 10 X 0 0 X

F = AB + CD

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

25

2.

DISPOSITIVOS LGICOS PROGRAMABLES.

2.1 Qu es la lgica programable?.


La lgica programable, como el nombre implica, es una familia de componentes que contienen conjuntos de elementos lgicos (AND, OR, NOT, LATCH, FLIP-FLOP) que pueden configurarse en cualquier funcin lgica que el usuario desee y que el componente soporte. Todas las entradas pueden conectarse a una misma compuerta AND, pero cada compuerta AND est conectada a una determinada compuerta OR de salida. Los dispositivos PLDs surgieron como un compromiso entre desempeo y flexibilidad-costo. Las PLA tienen mayor flexibilidad debido a que tienen tanto la matriz AND como la OR programables, pero eso implica un menor rendimiento. Con una sola matriz programable, las PALs ganan velocidad a costa de la prdida de un poco de flexibilidad eso se compensa mediante la oferta de varias configuraciones bsicas y la incorporacin de las GALs, sobre las cuales trataremos unas lneas ms adelante. Hay varias clases de dispositivos lgicos programables: ASICs, FPGAs, PLAs, PROMs, PALs, GALs, y PLDs complejos. 2.1.1 ASIC. ASIC significa Circuitos Integrados de Aplicacin Especfica y son dispositivos definibles por el usuario. Los ASICs, al contrario que otros dispositivos, pueden contener funciones analgicas, digitales, y combinaciones de ambas. En general, son programables mediante mscara o sea, que los fabricantes configuran el dispositivo segn las especificaciones del usuario, y no por el usuario. Se usan para combinar una gran cantidad de funciones lgicas en un dispositivo. Sin embargo, estos dispositivos tienen un costo inicial alto, por lo tanto se usan principalmente cuando se necesitan en una gran cantidad. Los encontramos por ejemplo en los telfonos celulares, juegos de video,...,etc.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

26 2.1.2 PROM. Las PROM son memorias programables de slo lectura. Aunque el nombre no implica la lgica programable, las PROM, son de hecho lgicas. La arquitectura de la mayora de las PROM consiste generalmente en un nmero fijo de trminos AND que alimenta una matriz programable OR. Se usan principalmente para decodificar las combinaciones de entrada en funciones de salida.

AND FIJA

OR PROGRAMABLE

Figura 2.1 Arquitectura elemental del PROM

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

27 2.1.3 PAL. Las PAL son dispositivos de matriz programable. La arquitectura interna consiste en trminos AND programables que alimentan trminos OR fijos. Todas las entradas a la matriz pueden ser combinadas mediante AND entre si, pero los trminos AND especficos se dedican a trminos OR especficos. Las PAL tienen una arquitectura muy popular y son probablemente el tipo de dispositivo programable por usuario ms empleado. Si un dispositivo contiene macroclulas, comnmente tendr una arquitectura PAL. Las macroclulas tpicas pueden programarse como entradas, salidas, o entrada / salida (E/S) usando una habilitacin tri-estado. Normalmente tienen registros de salida que pueden usarse o no conjuntamente con el pin de E/S asociado. Otras macroclulas tiene ms de un registro, varios tipos de retroalimentacin en las matrices, y ocasionalmente realimentacin entre macroclulas.

AND PROGRAMABLE

OR FIJO

Figura 2.2 Arquitectura elemental del PAL.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

28 2.1.4 GAL. Las GAL son dispositivos de matriz lgica genrica. Estn diseados para emular muchas PAL pensadas para el uso de macroclulas. Si un usuario tiene un diseo que se implementa usando varias PAL comunes, puede configurar varias de las mismas GAL para emular cada de uno de los otros dispositivos. Esto reducir el nmero de dispositivos diferentes en existencia y aumenta la cantidad comprada. Comnmente, una cantidad grande del mismo dispositivo debera rebajar el costo individual del dispositivo. Estos dispositivos tambin son elctricamente borrables, lo que los hace muy tiles para los ingenieros de diseo. 2.1.5 PLA. Las PLA son matrices lgicas programables. Estos dispositivos contienen ambos trminos AND y OR programables lo que permite a cualquier trmino AND alimentar cualquier trmino OR. Las PLA probablemente tienen la mayor flexibilidad frente a otros dispositivos con respecto a la lgica funcional. Normalmente poseen realimentacin desde la matriz OR hacia la matriz AND que puede usarse para implementar mquinas de estado asncronas. La mayora de las mquinas de estado, sin embargo, se implementan como mquinas sncronas. Con esta perspectiva, los fabricantes crearon un tipo de PLA denominado Secuencial (Sequencer) que posee registros de realimentacin desde la salida de la matriz OR hacia la matriz AND.

Figura 2.3 Arquitectura elemental de un PLA.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

29 2.1.6 PLDs complejos. Los PLDs complejos son lo que el nombre implica, Dispositivos Complejos de Lgica Programable. Se consideran PAL muy grandes que tienen algunas caractersticas de las PLA. La arquitectura bsica es muy parecida a la PAL con la capacidad para aumentar la cantidad de trminos AND para cualquier trmino OR fijo. Esto se puede realizar quitando trminos AND adyacentes o empleando trminos AND desde una matriz expandida. Esto permite que cualquier diseo pueda ser implementado dentro de estos dispositivos. 2.1.7 FPGA. Las FPGA son Campos de Matrices de Puertas Programables. Simplemente son matrices de puertas elctricamente programables que contienen mltiples niveles de lgica. Las FPGA se caracterizan por altas densidades de puerta, alto rendimiento, un nmero grande de entradas y salidas definibles por el usuario, un esquema de interconexin flexible, y un entorno de diseo similar al de matriz de puertas. No estn limitadas a la tpica matriz AND-OR. Por contra, contienen una matriz interna configurable de relojes lgicos (CLBs) y un anillo de circunvalacin de bloques de E/S (IOBs). Cada CLB contiene lgica programable combinacional y registros de almacenamiento. La seccin de lgica combinacional es capaz de implementar cualquier funcin booleana de sus variables de entrada. Cada IOB puede programarse independientemente para ser una entrada, y salida con control tri-estado o un pin bidireccional. Tambin contiene flip-flops que pueden usarse como buffers de entrada y salida. Los recursos de interconexin son una red de lneas que corren horizontalmente y verticalmente las filas y columnas entre el CLBS. Los interruptores programables conectan las entradas y salidas de IOBS y CLBS a lneas cercanas. Las lneas largas recorren la anchura o longitud entera del dispositivo, estableciendo intercambios para proporcionar una distribucin de seales crticas con la mnima demora o distorsin. Los diseadores que usan FPGAs pueden definir funciones lgicas en un circuito y revisar estas funciones como sea necesario. As, las FPGAs pueden disearse y verificarse en unos das, a diferencia de las varias semanas necesarias para las matrices de puerta programables.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

30

Figura 2.4 Arquitectura elemental de un FPGA.

2.2 Ventajas del uso de PLDs.


Reduccin de retardos de propagacin de las lgicas. Reduccin del nmero de puntos de soldadura y de cables o pistas. Con ello se logra aumentar la confiabilidad. Facilidad para cambiar el diseo. Menor nmero de circuitos integrados, y por ende, disminucin del consumo de energa y de las fuentes posibles de ruido y aumento de la confiabilidad del circuito. Menor superficie ocupada en la placa. Proteccin del diseo (fusible de seguridad). Su tiempo de propagacin ronda los 5 a 10 ns, equivalente al de las compuertas que puede reemplazar; pero con una sola PLD se pueden

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

31 reemplazar varios niveles o retardos de compuertas. Facilidad de diseo y montaje. Reduccin de la variedad de circuitos integrados usados en el circuito, disminuyendo su costo de produccin seriada. Optimizacin del diseo a bajo costo.

2.3 Limitaciones de las PLDs.


Las PAL son OTP, es decir, slo se pueden programar una vez. Su precio es un poco mayor a las compuertas simples o compuestas. No se encuentran comnmente en tiendas comerciales de electrnica.

Dado que el nmero de minitrminos es limitado, algunas lgicas necesitaran varios PLDs para ser implementadas y quizs resulta ms simple y menos costoso implementarla con compuertas.

2.4 Seleccin del modelo adecuado para cada aplicacin.


Caractersticas a evaluar: Nmero de entradas. Nmero de salidas. Nmero de lneas de E/S. Polaridad de salida. Salidas combinacionales. Salidas XOR. Salidas de registro (R-S, J-K, D T ; en general D). Salidas TRI-STATE. Nmero de minitrminos. Realimentacin de salidas. Macroceldas.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

32

2.5 Nomenclatura generalizada de las PLDs.


Tecnologa: PAL = Programmable Array Logic (TTL) GAL = Generic Array Logic (E2CMOS) PL = Factory Programmed PAL Nmero de Entradas Tipo de Salida: L = Activa Baja H = Activa Alta C = Complementaria P = Polaridad Programada V = Variable (GAL solamente) Z = Reprogramable en el sistema (GAL) Nmero de Salidas Velocidad: Sin smbolo = 35 ns (TTL) A = 25 ns (TTL) B = 15 ns (TTL) D = 10 ns (TTL) A-10 = 10 ns (GAL) A-12 = 12 ns (GAL) A-20 = 20 ns (GAL) Tipo de Paquete: N = DIP de Plastico J = DIP de Cermica Rango de Temperatura: C = Comercial M = Militar I = Industrial (GAL solamente). GAL 16 V 8 D N I

2.6 PALs programables varias veces : serie PALCExxx y GALs.


Las GALs tienen macroceldas programables. Son ms caras que las PALs pero pueden implementar diseos hechos para varios tipos de PALs. No necesitan ser borradas previamente a su programacin y permiten la reprogramacin en campo de pruebas. Los circuitos PALCExxx son PLDs de la compaa Advance Micro Devices (AMD), son equivalentes a los circuitos GALs de la compaa Lattice. Los PALxxVxx son reprogramables, donde la compaa Altera tiene EEPLDs (Elctricamente borrables).

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

33 A continuacin se pueden ver tres figuras, que muestran las estructuras de las GAL16V8 y GAL20V8 y la constitucin de sus macroceldas (OLMCs).

Figura 2.5 Estructuras de las GAL16V8 y GAL20V8.

Figura 2.6 Constitucin de Macroceldas de salida lgica (OLMCs) de un GAL. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

34

2.7 Fabricantes de PALs y GALs.


AMD. Altera. Atmel. Lattice. Texas Instruments. Xilinx.

2.8 Programacin de los PLDs.


Se necesitan algunos equipos para disear y construir circuitos con el empleo de PLD: Computadora personal (PC) Software para creacin y desarrollo de PLD (WinCUPL, ABEL,...,etc) Aparato o dispositivo programador (Programador de PLDs) Software para excitar el aparato programador (Software del programador de PLDs). Dispositivo de lgica programable (PAL, GAL,...,etc.)

En la figura 2.7 se muestra una disposicin tpica para programacin. La PC, en la cual se corre el software para desarrollo, traduce el diseo de entrada a un archivo llamado trazado de fusibles. Este archivo es como un mapa que muestra cules fusibles se deben fundir para abrirlos en un dispositivo programable y cules deben permanecer intactos. Luego, el trazado de fusibles se traduce a un formato de archivo de salida adecuado para transmisin al aparato de programacin de dispositivos. En seguida, se llama en la PC al software de programacin que se comunica con el aparato de programacin. Esto permite al usuario informar al aparato de programacin el tipo de dispositivo

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

35 que se va a programar. Despus se enva el archivo de salida por un cable al programador. Este proceso se llama carga. Finalmente, se introduce el PLD en la base del aparato programador y se enva la orden desde la computadora para programar la pieza.

Figura 2.7 Sistema necesario para el desarrollo de un PLD. Los aparatos para programacin suelen tener una base especial que permite dejar caer el microcircuito y, luego, sujetar los contactos con las terminales. Esta base se llama de fuerza nula para insercin (ZIF). Muchos fabricantes disponen numerosos programadores universales que pueden programar casi cualquier tipo de dispositivo, incluso PROM, EPROM, microcomputadoras de un solo microcircuito y un buen nmero de PLD. Afortunadamente, conforme hubieron ms piezas programables, los fabricantes sintieron la necesidad de uniformizar (estandarizar) las asignaciones de terminales y los mtodos de

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

36 programacin. Como resultado, se constituy el Joint Elearonic Device Engineering Council (JEDEC). Uno de los resultados fue la norma (estndar) JED, un formato normal para transferir los datos de programacin para los PLD, independientes de cualquiera que fuere el fabricante del dispositivo o el software de programacin. Tambin se normalizaron las asignaciones de terminales, para diversos paquetes de Circuitos Integrados, a fin de hacer los programadores universales menos complicados. En consecuencia, los aparatos para programacin pueden programar numerosos tipos de PLD. El software que permite al diseador especificar una configuracin para un PLD, slo necesita producir un archivo de salida que cumpla con la norma JEDEC. Luego, este archivo JEDEC se puede cargar en cualquier programador de PLD compatible con JEDEC, que tenga capacidad para programar el tipo deseado de PLD. El proceso de generar un archivo JEDEC para transferir un diseo al aparato programador de PLD sera muy tedioso si se hiciera a mano. En los ltimos 10 aos se ha producido software de desarrollo que permiten al usuario utilizar su diseo en alguna forma conveniente y, luego, crear en forma automtica el archivo JEDEC para el dispositivo especificado.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

37

3. COMPILADOR UNIVERSAL PARA LA LOGICA PROGRAMABLE (WinCUPL).


Hay diferentes instrumentos de software para desarrollar los PLD. Todos tienen semejanzas compartidas y sus diferencias distintivas. Para los ejemplos que presentaremos ms adelante, utilizaremos uno de los compiladores disponibles de alto nivel de uso ms extenso en la actualidad, se llama WinCUPL, se puede adquirir de la compaa Logical Devices. El WinCUPL puede producir archivos de programacin para una gran variedad de dispositivos programables. Este software de desarrollo esta constituido de cuatro mdulos diferentes : WinCUPL .- Es la comunicacin con el usuario y cuenta con todas las herramientas de la compilacin. WinSim.Simula grficamente el diseo del usuario para su verificacin, antes de programar el dispositivo programable. Schematic.Esta herramienta es usada para crear un diagrama esquemtico, muy til para el anlisis inicial del diseo. Si el diagrama pasa la validacin del proceso, crea un cdigo fuente, el cual deber ser compilado y simulado. SMCupl.Esta es una herramienta para crear diagramas de estado, (mquinas de estado). Si el proceso de validacin es aceptado, se genera un archivo fuente, que ser compilado y simulado despus.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

38

3.1 Flujo de Datos.


En la figura 3.1, se ilustra el flujo de datos para crear un diseo usando WinCUPL. WinCUPL Schematic SMCupl WinSim

Descripcin de las extensiones de los archivos .PLD


.SI .DOC .LST .MX .SO .ABS .JED(1) .JED(2) .HL .HEX .PLA Archivo fuente Archivo simulacin Archivo documento. Ecuaciones, matriz de fusibles Archivo con la lista de errores Archivo macro expansin Archivo salida del simulador Archivo absoluto ( Diseo en forma binaria) Archivo JEDEC sin vectores Archivo JEDEC con vectores Archivo en formato para los PLDs Signetics Archivo ASCII Archivo en formato PALASM de Berkeley

Figura 3.1 Flujo de datos del WinCUPL

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

39

3.2 Ciclo de "desarrollo".


El primer paso en cualquier diseo es la definicin minuciosa del problema y su alcance. El resultado de este paso son las etiquetas para todas las entradas y salidas. Tambin se define la relacin entre todas las entradas y salidas y se puede expresar en numerosas formas, tales como tablas de verdad, tablas de estado, ecuaciones lgicas e incluso diagramas lgicos. El segundo paso es crear el archivo de entrada o fuente en el formato requerido por el compilador. En seguida, se llama al compilador y se le da el nombre del archivo de entrada. Con el proceso de compilacin se produce un buen nmero de diferentes archivos de salida. El archivo de documentacin (DOC para el CUPL) contiene cualquier mensaje de error generado por el compilador. El archivo de trazado de fusibles muestra el patrn real de fusibles que se fundirn para unirlos en el dispositivo programable. Este archivo tambin se puede convenir al archivo JEDEC que utilizar el programa (es decir, el aparato de programacin). Si el compilador genera cualquier mensaje de error, hay que determinar la causa y corregirla con el empleo del editor de textos para alterar el archivo de entrada. Este proceso se repite hasta que ya no hay errores ni advertencias. En este punto, se puede probar el diseo con el empleo de un simulador; ste es un programa de computadora que calcula los estados lgicos de salida con base en la descripcin del circuito lgico y de las entradas en curso. Se produce un grupo de entradas hipotticas que probarn que el dispositivo trabaja como se espera. Se les llama vectores de prueba. Si estos vectores son lo suficientemente minuciosos, se puede probar el diseo antes de programar el primer dispositivo. Cuando el diseador est convencido que el diseo funcionar, se genera el archivo JEDEC y se llama al software de programacin. El archivo JEDEC sirve como archivo de entrada para el programador y el PLD se coloca en el aparato programador. Muchos aparatos programadores tambin tienen capacidad no slo de programar la pieza, sino tambin de corregir los vectores de prueba en la entrada, mientras que vigila la salida. Con esto se comprueba que el PLD funcionar a la perfeccin. Despus se coloca el PLD en un circuito y se prueba su funcionamiento con todos los componentes perifricos. En el diagrama de flujo de la figura 3.2 se demuestra el proceso completo para el proceso de desarrollo.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

40

Diseo

Crear archivo fuente

Compilar Editar archivo fuente S Hay errores?

No Determinar falla del diseo Simular

Hay problemas?

No Crear archivo JEDEC

Programar el PLD Solucin de errores

Prueba en el circuito

No
Funciona?

HECHO

Figura 3.2 Diagrama de flujo del ciclo de desarrollo de PLDs.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

41

3.3 Medio ambiente del WinCUPL.


Al invocar el WinCUPL nos aparece la pantalla de la figura 3.3, explicaremos en que se dividen y su funcionamiento. Comandos de la barra de herramientas. Seccin de edicin. Men de comandos de archivo.

Seccin de notificacin de errores.

Seccin de archivos generados.

Figura 3.3 Pantalla general del WinCUPL.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

3.3.1 Comandos de la barra de herramientas. Abrir un nuevo archivo. Abrir un archivo existente. Salvar archivo. Imprimir. Cortar. Copiar. Pegar. Compila dependiendo del dispositivo. Compila virtualmente. Simular dependiendo del dispositivo. Simular virtualmente. Calculadora de Windows (opcional). Windows explorer (opcional). MS-DOS (opcional). SMCupl (opcional). Schematic (opcional). Programador (opcional). WinSim (opcional). Editor de macros (opcional). Invoca SMCupl, Schematic y WinSim (opcional).

42

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

43 3.3.2 Comandos del men File: El men File ofrece los siguientes comandos: New Open Close Save Save As Save All Crea un nuevo diseo, proyecto archivo texto. Abre un archivo existente. Cierra la ventana activa. Salva el archivo activo. Salva el archivo activo con un nuevo nombre. Salva todos los archivos abiertos.

Open Project Abre un proyecto existente. Close Project Cierra el proyecto. Import Importa archivo fuente escrito en un lenguaje diferente y lo convierte a cdigo fuente del CUPL. Export Print Setup Print MRU... Exit Exporta cdigo fuente CUPL a otro lenguaje. Enva el documento activo a la impresora seleccionada. Imprime el documento activo. Contiene los archivos activos ms recientemente usados. Salir del WinCupl.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

44 3.3.3 Comandos del men Edit: El men edit es desplegado cuando la ventana activa es un documento. El men ofrece los siguientes comandos: Undo Cut Copy Paste Find Find Next Replace Invierte la ltima edicin del comando o accin del comando. Borra el texto seleccionado. Copia el texto seleccionado. Pega el texto seleccionado. Buscar texto. Sigue buscando texto. Encuentra y remplaza el texto por otro. Inserta un macro-referencia del CUPL. Inserta un macro-definicin del CUPL. Actualiza el macro-smbolo de la tabla a macro-

Insert CUPL Macro Reference Insert CUPL Macro Definition Update Macro Symbol Table referencia. Insert Table

Inserta una tabla binaria.

3.3.4 Comandos del men View: El men de comandos View ofrece las siguientes opciones: Toolbar Status Bar Presenta o esconde la barra de herramientas. Presenta o esconde la barra de status.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

45 Project Font Refresh Presenta o esconde la ventana del proyecto al lado derecho del usuario. Cambia el tipo de letra. Actualiza los colores y formatos desplegados en el editor.

3.3.5 Comandos del man Options: El men de Options ofrece los siguientes comandos: Compiler Simulator VHDL WinCUPL Activar las opciones del compilador CUPL. Activar las opciones del simulador. Activar las opciones de anlisis y compilacin del VHDL. Activar las opciones del medio ambiente del WinCUPL.

3.3.6 Comandos del men Run: El men Run ofrece los siguientes comandos: Device Dependent Compile Compila dependiendo del dispositivo. Device Independent Compile Compila virtualmente. Device Dependent Simulation Device Independent Simulation VHDL Compile VHDL Analysis Simula dependiendo del circuito Simula virtualmente.

Compila un archivo VHDL. Corre el anlisis de un archivo VHDL.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

46 3.3.7 Comandos del men Utilities: El men Utilities ofrece los siguientes comandos: BackPin PlPartition Corre la utilera BackPin. Configura y corre la utilera PlPartition.

ISP Download Corre la utilera ISP Download. CUPL Tools Despliega las cuatro herramientas dwl Win CUPL. 3.3.8 Comandos del men Window: El men Window ofrece los siguientes comandos: Cascade Tile Horizontal Tile Vertical Arrange Icons Despliega las ventanas en forma de cascada. Despliega las ventanas horizontalmente. Despliega las ventanas verticalmente. Despliega conos de ventanas cerradas.

3.3.9 Comandos del men Help: El men Help ofrece los siguientes comandos: Contents Ofrece un ndice de temas para obtener ayuda.

Search For Help On Despliega el dalogo de bsqueda para temas de ayuda. About WinCupl Despliega el nmero de versin para esta aplicacin.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

47

3.4 Elementos del lenguaje.


3.4.1 Variables. Son cadenas de caracteres alfanumricos (strings) que especifican los pines del elemento, nodos internos, constantes, seales de entrada, seales de salida, seales intermedias o estados de seales. Las variables pueden iniciar con un nmero, un carcter alfabtico o un subrayado (_), pero debe contener al menos un carcter alfabtico. Las variables distinguen entre las maysculas y las minsculas. No se aceptan espacios dentro de un nombre de variable. Use el subrayar para separar palabras. Las variables pueden contener hasta 31 caracteres. Las variables no pueden contener un smbolo reservado del CUPL. (Mas adelante estn listados). No pueden usarse palabras reservadas del CUPL como nombres de variables. Todas las palabras introducidas en el archivo fuente deben ser escritas con sintaxis inglesa, el CUPL no entiende las tildes, la ~, los apstrofes, la diresis, etc. No los permite an en los comentarios. 3.4.2 Palabras y smbolos reservados.
3.4.2.1 PALABRAS RESERVADAS

APPEND ASSEMBLY ASSY

FORMAT FUNCTION IF

PIN PINNODE PRESENT

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

48 COMPANY CONDITION DATE DEFAULT DESIGNER DEVICE ELSE FIELD FLD JUMP LOC LOCATION MACRO MIN NAME NODE OUT PARTNO REV REVISION SEQUENCE SEQUENCED SEQUENCEJK SEQUENCERS SEQUENCET TABLE

3.4.2.2 SMBOLOS RESERVADOS.

& * : ; @ # 3.4.3 Comentarios.

+ . , $ ( )

[ ] ! ^ '

/* */ / =

Van encerrados entre los smbolos /* y */. 3.4.4 Notacin de listas. La lista es comnmente usada en la declaracin de pines y nodos, campos de bits, ecuaciones lgicas y operaciones de agrupamiento. El formato es como sigue: [variable, variable, .., variable] donde: [ ] denotan un conjunto de variables. Ejemplos: [UP, DOWN, LEFT, RIGHT] [A0,Al,A2,A3]

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

49 Cuando es un conjunto de variables indicadas secuencialmente se colocan de menor a mayor peso, as: [Variable m. .n] Ejemplo: [A0..3] Los ceros a la izquierda del ndice sern removidos, es decir: [A00..03] ser ledo como [A0, Al, A2, A3] no como [A00, A0l, A02, A03]. La lista [A0. .7] puede escribirse como: [A0..2, A3, A4, A5..7] 3.4.5 Archivo Plantilla. Es un archivo que asiste al usuario en la edicin del archivo fuente y que se muestra a continuacin: Name XXXXX; Partno XXXXX; Date XX/XX/XX; Revision XX; Designer XXXXX; Company XXXXX; Assembly XXXXX; Location XXXXX; /****************************************************************/ /* */ /* */ /****************************************************************/ /* Allowable Target Device Types: */ /****************************************************************/

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

50 /** Inputs **/ Pin = ; /* */ Pin = ; /* */ Pin = ; /* */ Pin = ; /* */ Pin = ; /* */ /** Outputs **/ Pin = ; /* */ Pin = ; /* */ Pin = ; /* */ Pin = ; /* */ /** Declarations and Intermediate Variable Definitions **/ /** Logic Equations **/ Este archivo contiene las siguientes secciones: Informacin de cabecera : Palabras reservadas acompaadas de XXXs que se reemplazan con los textos que identificarn el archivo para hacer revisiones posteriores. La declaracin NAME es muy importante, pues el nombre que se escriba aqu ser el mismo con el que se generarn todos los archivos durante la compilacin. (.LST, .DOC, .JED, etc.). Un ejemplo del formato de la informacin de cabecera es el siguiente: Name Partno CODER P9000285; L. Gerardo Flores R.

Aprenda PLDs Principios y Aplicaciones.

51 Revision Date Designer Company Assembly Location Device Format 02; 10/14/95; Gerardo Flores; U A de C; none; none; P22V10; j;

Partno : identifica el nmero de una compaa, (como el NIT). Revisin : aumenta su nmero cada vez que se entra en el archivo. Date: se renueva cada vez que se entra en el archivo. Designer : nombre del diseador. Assembly : tarjeta PC donde trabajar la PLD programada. Location : cdigo de localidad estadounidense. Nosotros la declaramos "none". Device : cdigo de la PLD a utilizar. Format: formato en el cul se va a compilar.

El archivo plantilla provee todas las declaraciones excepto DEVICE y FORMAT. Estas son opcionales de ser declaradas, al fin y al cabo, en el momento de correr CUPL deben declararse. Si se deja alguna informacin sin declarar el CUPL emite un mensaje, pero contina con la compilacin. No ocurre lo mismo si se utilizan smbolos que indican acento (como tildes), en este caso se emite el mensaje y la compilacin se detiene.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

52 Bloque titular: Smbolos de comentarios que encierran un espacio para llenarlo con la descripcin del diseo que se va a implementar y las posibles PLDs que aceptan tal diseo. Declaracin de pines: Palabras reservadas y operadores propios del formato de declaracin de pines de entrada y salida. Espacios de comentario para describir las funciones de cada pin. Las lneas sobrantes de declaracin de pin deben ser removidas, de otra forma se producir un error de sintaxis en la compilacin. Las lneas /*Input*/ y /*Output*/ son slo de lectura y no interfieren en la compilacin, as que se pueden declarar los pines como se desee. Esta aclaracin se hace por que a veces se utilizan pines que hacen la funcin de entrada y salida a la vez y no se debe caer en el error de declararlos dos veces, pues se causara un error de compilacin. Declaraciones y definicin de variables intermedias : Espacio para declarar campos de bits (registros) y para escribir ecuaciones intermedias. Ecuaciones lgicas: Espacio para escribir las ecuaciones lgicas que describen el funcionamiento de la PLD. 3.4.6 Declaracin de Pines y Campos.
3.4.6.1 Declaracin de pines.

Declarar los pines es definir los nombres de variables que se asignan a los nmeros de pin que se van a utilizar. Cada elemento en la librera tiene los pines ya numerados. El formato para declarar un pin es el siguiente: PIN pinn = [!]var; donde: pinn es un nmero decimal, o una lista de nmeros agrupados usando la notacin de listas, que es:

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

53 [pinn1, pinn2, pinn3,, pinnn] ! es un signo de admiracin opcional que define la polaridad de la seal de entrada salida. = es el operador de asignacin var es un nombre de variable una lista de nombres de variables usando la notacin de listas, as: [var1 ,var2,..,varn]

; es el punto y coma que marca el fin de la declaracin. Algunos ejemplos de declaraciones vlidas de pines son: pin 1 = clock; /*Reloj de registro*/ pin 2 = !enable; /*Habilita I/O de la puerta*/ pin[3,4] = ! [stop,go] /*Control de seales*/ pin[5..7] = [a0..2] I*Direcciona bits 0-2*/ La naturaleza del pin (entrada, salida bidireccionamiento) no se especifica en la declaracin de los pines. El compilador infiere la naturaleza del pin durante el proceso siguiendo la especificacin lgica hecha para el nombre de variable de dicho pin. Si la especificacin lgica y las caractersticas fsicas del integrado son incompatibles, CUPL exhibe un mensaje de error denotando el uso impropio del pin.
3.4.6.2 Declaracin de campos de bits.

Una declaracin de campos de bits asigna un nombre de variable a un grupo de bits. El formato es el siguiente FIELD var = [var, var, var,..., var];

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

54 donde: FIELD es una palabra reservada. var es un nombre vlido de variable. = es el operador de asignacin. ; es el punto y coma que marca el fin de la declaracin.

La declaracin de campos de variables se coloca en la seccin de "declaraciones y definicin de variables intermedias" del archivo fuente y provista por el archivo plantilla. Despus de asignado un nombre de variable a un grupo de bits, puede usarse el nombre en una expresin. La operacin especificada en la expresin es aplicada a cada bit en el grupo. 3.4.7 Comandos de Preprocesamiento. La parte de preprocesamiento de CUPL opera sobre el archivo fuente antes de ser pasado por el evaluador gramatical y otras secciones del compilador. La siguiente es una lista de los comandos de preprocesamiento disponibles: $DEFINE $ELSE $ENDIF $IFDEF El signo pesos es el primer carcter en todos los comandos de preprocesamiento y debe ser usado en la columna uno de la lnea. Se puede escribir el comando en maysculas en minsculas. $DEFINE. Este comando reemplaza un string de caracteres por un nmero, smbolo u otro operador especificado. El formato es como sigue: $IFNDEF $INCLUDE $UNDEF

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

55 $DEFINE argumento1 argumento2 $UNDEF. Este comando cancela una instruccin $DEFINE. El formato es como sigue: $UNDEF argumento $INCLUDE. Este comando incluye un archivo especificado en el archivo fuente para ser procesado por CUPL. El formato es como sigue: $INCLUDE archivo $IFDEF. Este comando compila condicionalmente secciones de un archivo fuente. El formato es como sigue: $IFDEF argumento $IFNDEF. Este comando condiciona la compilacin de secciones en el archivo fuente. El formato es como sigue: $IFNDEF argumento

$ENDIF. Este comando finaliza una condicin de compilacin inicializada con los comandos $IFDEF $IFNDEF. El formato es como sigue: $ENDIF

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

56

$ELSE. Este comando invierte las condiciones de compilacin definidas con los comandos $IFDEF $IFNDEF. El formato es como sigue: $ELSE 3.4.8 Operadores Lgicos. CUPL maneja las cuatro operaciones bsicas estndar usadas para expresiones booleanas. La siguiente es una lista de esos operadores en su orden de mayor a menor prioridad en el paquete. Operador ! & # $ 3.4.9 Extensiones. Se pueden adicionar extensiones a nombres de variables para indicar funciones especficas asociadas con los nodos internos principales de las PLDs. La siguiente es una lista de las extensiones soportadas por CUPL. El compilador verifica el uso de la extensin para determinar si es vlida para la PLD especificada. Extensin .D .L .J .K .S .R .T Descripcin Entrada D de un flip-flop tipo D. Entrada D de un lazo transparente. Entrada J de un flip-flop tipo JK. Entrada K de un flip-flop tipo JK. Entrada S de un flip-flop tipo SR. Entrada R de un flip-flop tipo SR. Entrada T de un flip-flop tipo T. Ejemplo !A A&B A#B A$B Descripcin NOT AND OR XOR

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

57 .DQ .LQ .AP .AR .SP .SR .CK .OE .CA .PR .CE .LE .OBS .BYP .DFB .LFB .TFB .IO .INT .CKMUX .OEMUX .TEC Salida Q de un flip-flop tipo D. Salida Q de un lazo transparente. Preset asncrono de flip-flop. Reset asncrono de flip-flop. Preset sncrono de flip-flop. Reset sncrono de flip-flop. Reloj programable de flip-flop. Salida de habilitacin programable. Matriz complemento. Precargado programable. Entrada CE de un flip-flop tipo D-CE habilitado. Lazo habilitado programable. Observabilidad programable de nodos internos. Direccin de registro programable (register bypass). Seleccin de ruta de realimentacin de registro D. Seleccin de ruta de realimentacin de lazo D. Seleccin de ruta de realimentacin de registro T. Seleccin de ruta de realimentacin de pin. Seleccin de ruta de realimentacin interna. Seleccionar como reloj de multiplexor. Seleccionar tri-estado del multiplexor. Seleccin de fusible dependiendo de la tecnologa.

El compilador acepta solamente los flip-flops que fsicamente se encuentran internamente en la PLD especificada. Por ejemplo, el compilador no intentar emular un flip-flop tipo JK en una PLD que solo acepta registros tipo D. 3.4.10 Expresiones. Las expresiones son combinaciones de variables y operadores que producen un nico resultado cuando son evaluadas. Una expresin puede estar compuesta de sub-expresiones. Las expresiones son evaluadas de acuerdo al nivel de prioridad de los operadores involucrados en ellas. Cuando los operadores en la expresin tienen el mismo nivel de

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

58 prioridad la evaluacin se hace de izquierda a derecha. Los parntesis pueden ser utilizados para cambiar el orden de la evaluacin; la expresin en el interior del parntesis se evala primero. La siguiente lista muestra el orden de evaluacin de las expresiones: Expresin Resultado
A# A#B&C B&C A&C (A#B)&C # B&C !A&B !(A&B) !A&B !A#!B A# A#B&C#D D# B&C A# A#B&(C#D) B&C # B&D

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

59 3.4.11 Ecuaciones Lgicas. El formato para las ecuaciones lgicas es el siguiente: [!]var[.ext] = exp; donde: var es un nombre de variable una lista de nombres de variables usando la notacin de listas. Cuando se usa una lista de variables la expresin es aplicada a cada variable de la lista. .ext es una extensin opcional para asignar una funcin a los nodos principales internos de una PLD. exp es una expresin, es decir, una combinacin de variables y operadores. = es el operador de asignacin; este asigna el valor de una expresin a una variable grupo de variables. ! es un signo de admiracin opcional que define la polaridad de la seal. El operador complemento puede ser usado para expresar la ecuacin en lgica negativa. El operador se antepone al nombre de variable (sin espacios) y denota que la expresin al lado derecho de la ecuacin ser complementada antes de ser asignada a la variable. Las ecuaciones lgicas se colocan en la seccin "Ecuaciones Lgicas" del archivo fuente y provista por el archivo plantilla. Las ecuaciones lgicas no estn limitadas solamente a variables de pin ( de nodo), pues pueden ser escritas para un nombre de variable arbitrario. Una variable definida de esta manera es una variable intermedia. Utilizando variables intermedias se producen, generalmente, archivos fuente con mayor facilidad de lectura y comprensin. Las variables intermedias se colocan en la seccin de "declaraciones y definicin de variables intermedias" del archivo fuente y provista por el archivo plantilla.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

60

4. LOGICA COMBINACIONAL
Hay tres formas de programar el PLD en la lgica combinacional: Tabla de verdad. Ecuaciones Booleanas. Diseo esquemtico.

Figura 4.1 Modo de programar el PLD.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

61

4.1 Ejemplo usando tabla de verdad. El primer paso para crear un archivo PLD es abrir un nuevo diseo al oprimir del men File <New> , como se muestra en la figura 4.2:

Figura 4.2 Pantalla de creacin de un nuevo archivo. La prctica que haremos, es la de detectar el nmero primo de tres bits, donde A, B, y C son las entradas y X la salida. Despus de llenar la cabecera de informacin, donde especificamos las entradas y salidas, sin pinnodes, nos carga el WinCUPL el editor, como se muestra en la figura 4.3:

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

62

Figura 4.3 Pantalla de edicin. Despus en la pantalla de edicin se declaran los valores de los pines: /* ********************** INPUT PINS **************************/ PIN 2 = C PIN 3 = B PIN 4 = A PIN 12 = X ; /*ENTRADA C */ ; /*ENTRADA B*/ ; /*ENTRADA A*/ ; /*SALIDA X*/

/* ********************** OUTPUT PINS ************************/ Para crear la tabla de verdad, seleccionaremos el <Insert Table> del men Edit, donde asignaremos las entradas y la salida. El nmero de columnas van a ser de ocho, debido a que tenemos tres bits:

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

63

Figura 4.4 Pantalla de insercin de la tabla. El seteo de la tabla de verdad es dada antes de darle <OK> a la pantalla. Despus se inserta automticamente a la seccin de Edicin del archivo fuente. Despus de la insercin de la tabla, hay que definir los campos de entrada y salida usando el comando <FIELD>, como se muestra a continuacin: FIELD ENTRADAS = [C,B,A]; FIELD SALIDA = [X]; Estos comandos van antes de la tabla de verdad, dndonos la pantalla de la figura 4.5:

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

64

Figura 4.5 Acomodo de las variables y de la tabla de verdad. Ahora especificaremos las opciones del compilador que se encuentran en el men <Options>, en donde se presentan seis opciones ms. Output Files. En esta opcin seleccionamos:

Figura 4.6 Pantalla Output Files.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

65 Mnimization. En esta opcin seleccionamos:

Figura 4.7 Pantalla Minimization. Optimization. En esta opcin no hay ninguna seleccin:

Figura 4.8 Pantalla Optimization. Device. En esta opcin seleccionamos el PLD que vamos ha utilizar. Para este ejemplo y los siguientes, utilizaremos el GAL16v8, de la compaa LATTICE. Hay que tomar en

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

66 cuenta, que en la cabecera del programa fuente, se define el dispositivo y, debe coincidir con el dispositivo seleccionado en la opcin del compilador.

Figura 4.9 Pantalla Devices. Library. En esta opcin, se da la direccin en donde se encuentra los archivos de la librera del WinCUPL. Por default, desde la instalacin se respeta la misma trayectoria, a menos que el usuario haya dado otra direccin.

Figura 4.10 Pantalla Library.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

67 General. En esta opcin seleccionamos lo siguiente:

Figura 4.11 Pantalla General. Despus damos clic en <Apply> y luego en <OK>. Ahora seleccionamos del men de comandos de archivo la opcin <Simulator>. Esta opcin nos da tres alternativas, las tres deben estar seleccionadas:

Figura 4.12 Pantalla de Opciones del simulador. Ya que estn las opciones <Compiler> y <Simulator> , corremos la compilacin al dar clic en el men de comandos de la barra de herramienta <Compilar dependiendo del dispositivo>. Si existe algn error se tendr que volver al archivo fuente y encontrar el o los errores, hasta lograr que la compilacin haya sido exitosa, dndonos la pantalla de la figura 4.13:

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

68

Figura 4.13 Pantalla de los resultados de la compilacin. Una vez logrado la compilacin con xito, se invoca el WinSim, en donde se va ha simular el programa fuente. Aqu nos colocamos en el menu <File> y tomamos opcin la presenta pantalla de figura 4.14: Figura 4.14 Pantalla de cabecera del WinSim. En esta pantalla damos <clic> en <Design File>, y buscamos el archivo fuente, en nuestro ejemplo ser NUM_PRIMOS.PLD, despus damos <OK>. Inmediatamente se nos presenta una pantalla cuadriculada. En esta pantalla hay que agregar las seales y la cantidad de vectores ha simular. Para agregar las seales damos <clic> en <Add Signal>, y nos estar preguntando las seales que deseamos agregar, al terminar damos <Done>. cual la <New>, nos la la

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

69 Para agregar los vectores damos <clic> en <Add Vector>, aqu daremos los vectores necesarios para la combinacin de las tres variables de entrada, en nuestro caso sern siete. Despus damos la combinacin de las variables de entrada con el botn derecho del mouse, o sea , damos la tabla de verdad. Y por ultimo damos <clic> en <Simulate>. La pantalla que nos aparece es de la figura 4.15:

Figura 4.15 Pantalla de resultados de la simulacin. Una vez compilado y simulado, en la pantalla general del WinCUPL, en la seccin de archivos generados, debe estar un archivo NUM_PRIMOS.JED. Este archivo .JED es el que se necesita para programar el PLD, en nuestro ejemplo es con un GAL 16v8. El siguiente paso es usar el software de programacin, en donde se le especifica el dispositivo a utilizar, y por ultimo la carga del archivo .JED al circuito integrado. Finalmente probar el diseo.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

70 4.2 Ejemplo usando ecuaciones booleanas. Para este tipo de desarrollo de programas fuentes, en donde se utilizan ecuaciones booleanas, antes de iniciar, debemos tener la minimizacin de la ecuacin. Siguiendo con el mismo ejemplo, el detectar el numero primo de 3 bits, debemos realizar la minimizacin, utilizando un mapa de Karnaugh de 3 variables, en donde vaciaremos la salida de la tabla de verdad, como se muestra en la figura 4.16: BA CBA X 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Figura 4.16 Minimizacin de la ecuacin. Una vez teniendo la ecuacin minimizada, procedemos abrir el programa WinCUPL, en donde crearemos un nuevo diseo y nuevamente nos va a aparecer la pantalla de cabecera como se muestra en la figura 4.17. Para este ejemplo el nombre del archivo .PLD, con ecuaciones es el de Numprim_eq. X= A+BC 1 0 1 1 0 C 00 0 0 01 1 11 1 10 1

Figura 4.17 Pantalla de Cabecera.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

71 Una vez llenada la cabecera, se le da los valores de entrada-salida. Nuevamente sern tres entradas y una salida, con cero Pinnodes. Al terminar de dar estos valores, nos presenta la pantalla de edicin como se muestra en la figura 4.18:

Figura 4.18 Pantalla de Edicin. En esta pantalla en las secciones de entrada y salida daremos las asignaciones de pines y variables. /************** INPUTS PINS ****************/ PIN 2 = C ; PIN 3 = B ; PIN 4 = A ; /************** OUTPUTS PINS ****************/ PIN 12 = X ; Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

72 Despus de asignar los valores en la seccin de entrada y salida, abrimos un nuevo comentario de ecuaciones lgicas, en donde se escribe la funcin minimizada obtenida en el mapa de Karnaugh, como se muestra en seguida: /************** EQUATIONS LOGICS ****************/ X = A # B & !C ; Despus de haber agregado la ecuacin en la seccin de edicin, nos vamos a la seccin men de comandos de archivo y seleccionamos <Compiler>, nuevamente nos presenta las seis opciones donde: En la pantalla de <Output files> queda igual a la figura 4.6. En la pantalla de <Minimization> se escoge la opcin None. En la pantalla de <Optimization> queda igual a la figura 4.8. En la pantalla de <Devices> queda igual a la figura 4.9. En la pantalla de <Library> queda igual a la figura 4.10. En la pantalla de <General> queda igual a la figura 4.11. Como se puede ver, la nica pantalla que cambia es la de <Minimization>, en donde se escogi la opcin de None, esto debido a que nosotros ya realizamos la minimizacin. Ahora se escoge de la seccin men de comandos de archivo la opcin <Simulator>, en donde nuevamente se designan las tres opciones, como se ve en la figura 4.12. Ya estando seleccionadas las opciones Compiler y Simulator se corre la compilacin, dndonos la pantalla de la figura 4.13. Al darnos la compilacin sin errores, se invoca el WinSim, en donde le solicitamos archivo nuevo, y al presentarnos la pantalla de cabecera del WinSim, en la opcin <Design File>, le damos la trayectoria del archivo fuente Numprim_eq.pld, dndonos la pantalla de la figura 4.19. Despus de tener los datos de cabecera, tenemos que agregar la seales y los vectores. Nuevamente nos vamos a la opcin <Add signal>, en donde agregamos las seales de entrada y salida, y despus nos vamos a la opcin <Add vectors>, una vez seteado las seales de entrada con unos y ceros, se simula, dndonos la pantalla de la figura 4.20. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

73

Figura 4.19 Pantalla de cabecera del WinSim.

Figura 4.20 Resultados simulados del WinSim. Al terminar de simular, salvamos y cerramos el archivo simulado en WinSim, despus podemos verificar en la seccin de archivos generados del WinCUPL el archivo Numprim_eq.jed, el cual deber contener los vectores necesarios para programar el GAL 16v8, en nuestro programador de PLDs. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

74 4.3 Ejemplo usando el programa esquemtico. Como se comentaba en el inicio de este captulo, otra forma para generar el archivo JED, es usando el programa <Schematic>. En este programa nos proporciona una librera de compuertas lgicas, en donde nosotros dibujamos el circuito de la ecuacin obtenida en el mapa de Karnaugh. Para este ejemplo, vamos a darle el nombre del programa fuente Numprim_sh, el cual se le agrega al seleccionar en la barra de men la opcin <File> en donde se selecciona <New>, dndonos la pantalla de la figura 4.21:

Figura 4.21 Pantalla general del programa Schematic.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

75 En esta pantalla se puede observar, las herramientas para desarrollar el dibujo de la ecuacin lgica, estas herramientas y su descripcin, se ve en la figura 4.22.

Figura 4.22 Botones de herramienta.

Botn 1: En este botn se encuentran las libreras de las compuertas a utilizar. Botn 2: En este botn hacemos la conexin entre las compuertas. Botn 3: En este botn especificamos las variables de entrada y salida. Una vez realizado la implementacin de la ecuacin lgica obtenida del mapa de Karnaugh se nos presenta la pantalla de la figura 4.23:

Figura 4.23 Implementacin lgica de la ecuacin de nmeros primos.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

76 Una vez terminada la implementacin lgica se escoge la opcin <Compile> y de ah seleccionamos <Generate CUPL>, en donde compilar y generar el archivo fuente .PLD para copiarlo y pegarlo en el programa WinCUPL, en donde se le dar el arreglo necesario para que funcione con las caractersticas del dispositivo PLD que estamos utilizando. En la figura 4.24 se puede observar al archivo generado por el programa Schematic:

Figura 4.24 Programa fuente generado por el Schematic. Ahora abrimos el programa WinCUPL con un nuevo diseo con el nombre que le dimos al programa en Schematic, como se muestra en la figura 4.25.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

77

Figura 4.25 Pantalla de la cabecera del WinCUPL. Al darle OK a la pantalla de cabecera del WinCUPL, nos va a preguntar el nmero de entradas, salidas y pinnodes, a todos les damos cero. Al crear la pantalla de edicin, nos posicionamos al final de la informacin de cabecera, y ah le damos pegar <Paste>, y se nos presentar el programa fuente generado por el Schematic, como se muestra en la figura 4.26.

Figura 4.26 Programa fuente generado por Schematic, pegado en WinCUPL. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

78 En la figura 4.27, se muestra el arreglo necesario que se le hizo a las entradas y salidas, para que funcione con nuestro dispositivo (GAL 16v8), y adems se declaran los pines de entrada y salida.

Figura 4.27 Programa fuente arreglado. Al terminar de arreglar el programa fuente se proceden con los pasos antes mencionados en la seccin de ecuaciones booleanas para la compilacin y la simulacin, dndonos como resultado la figura 4.28:

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

79

Figura 4.28 Pantalla de los resultados de simulacin del programa Numprim_sh Nuevamente se debe de verificar el archivo Numprim_sh.JED, que tenga los vectores, que son necesarios para programar nuestro PLD.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

80

5. LOGICA SECUENCIAL
5.1 La macrocelda lgica de salida (OLMC) del GAL22V10 Una OLMC contiene circuitos lgicos programables, que se pueden configurar como entrada o salida combinacional, o como salida secuencial. En el modo secuencial, la salida proviene de un flip-flop. Las OLMCs se configuran internamente de forma automtica, mediante la programacin de un conjunto de celdas que estn separadas de las celdas de la matriz lgica. La Figura 5.1 muestra el diagrama lgico bsico de la OLMC de la gal22vl0. Las entradas de la compuerta OR procedentes de las compuertas AND conectadas a la matriz varan de diez a diecisis. La lgica est formada por un flip-flop y dos multiplexores.

De la matriz programable

A la matriz programable

Figura 5.1 OLMC del GAL22V10 El multiplexor de 4 a 1, se conecta una de sus cuatro lneas de entrada al buffer de tres estados de salida en funcin del estado de las dos entradas de seleccin, S0 y S1. Las entradas del multiplexor de 4 a 1, son la salida de la compuerta OR, el complemento de la salida de la compuerta OR, la salida Q del flip-flop y el complemento de la salida del flip-flop, Q. Esto permite que la salida de la OLMC sea activa a nivel alto o a nivel bajo, en cada modo.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

81 El multiplexor de 2 a 1 conecta la salida del buffer triestado o la salida Q del flip-flop a travs de un buffer a la matriz AND, en funcin del estado de S1. Los bits de seleccin, S0 y S1 , para cada OLMC, se programan en un grupo dedicado de celdas de la matriz mediante el software de compilacin, por lo que el usuario no puede manipular directamente estos bits. El flip-flop que se utiliza es tipo D disparado por flanco positivo. La entrada de reset asncrona (AR) pone al flip-flop en estado 0 lgico (Q = 0) independientemente de la seal de reloj. La entrada de inicializacin sncrona (SP) activa el flip-flop ponindolo en estado 1 (Q = 1) en el flanco de subida del impulso de reloj. La GAL22V10 tiene trminos producto para las entradas AR y SP. Las cuatro configuraciones de la OLMC son: Modo combinacional con salida activa a nivel bajo Modo combinacional con salida activa a nivel alto Modo secuencial con salida activa a nivel bajo Modo secuencial con salida activa a nivel alto 5.2 La OLMC de la GAL16V8 La OLMC de la GALI6V8 es algo diferente de la que dispone la GAL22V10. Una OLMC de la GAL16V8 se puede programar en tres modos distintos para emular la mayora de las PALs existentes, es decir, una GAL16V8 puede reemplazar a la PAL para la que se ha programado emular. Dispone de dos modos combinacionales, simple y complejo, y un modo secuencial. La Figura 5.2 muestra un diagrama lgico bsico de la OLMC de la GAL16V8. Cada OLMC est formada por dos celdas globales, SYN y AC0, que afectan a todas OLMCs. Existen tambin dos celdas locales para cada OLMC, AC1(n) y XOR, que slo afectan a la OLMC asociada. Las celdas globales y locales sirven para seleccionar varios caminos en la OLMC y determinar el modo combinacional o secuencial. El bit SYN y el AC0 controlan el modo de configuracin. SYN = 0 y AC0 = 1 establecen el modo secuencial, y SYN = 1 y AC0 = 0 determinan los modos combinacionales. El bit

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

82 AC1 controla la configuracin de entrada/salida. El bit XOR selecciona la polaridad de salida, activa a nivel bajo (XOR = 0) o activa a nivel alto (XOR = 1).

De la matriz programable

A la matriz programable

Figura 5.2 OLMC del GAL16V8 5.3 El modo combinacional Los modos en la GAL22V10 se determinan mediante S0 y S1, los cuales se controlan por programacin. En el modo combinacional, S1S0= 10 S1S0= 11. Las Figuras 5.3 muestra los caminos lgicos a travs de la OLMC para obtener una salida activa a nivel bajo y a nivel alto, junto con el esquema lgico efectivo de la OLMC, para cada caso. En el modo combinacional el flip flop no se utiliza. En la Figura 5.3(a), la inversin del buffer triestado produce una salida activa a nivel bajo. En la parte (b), la inversin del multiplexor 4 a 1 y la cancelacin del buffer de tres estados dan lugar a la salida activa a nivel alto.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

83

(a) OLMC en modo combinacional activo a nivel bajo y diagrama lgico efectivo.

(b) OLMC en modo combinacional activo a nivel alto y diagrama lgico efectivo.

Figura 5.3 Modo combinacional para salidas activas a nivel bajo y a nivel alto. Las lneas gruesas indican los caminos lgicos para cada caso

5.4 El modo secuencial En el modo secuencial, S1S0 = 00 S1S0 = 01. Las Figuras 5.4 muestra los caminos lgicos a travs de la OLMC que proporcionan salidas secuenciales activas a nivel alto, junto con la lgica efectiva de la OLMC para cada caso. En la parte (a), la inversin del buffer de tres Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

84 estados produce una salida activa a nivel bajo. En la parte (b), la inversin del flip-flop (salida Q) y la cancelacin del buffer de tres estados, dan lugar a una salida activa a nivel alto. Observe que la realimentacin a la matriz AND a travs de un buffer se realiza a partir de la salida Q del flip-flop y no del pin de salida como en el caso del modo combinacional, por lo que una salida secuencial no puede utilizarse como entrada.

(a) OLMC en modo secuencial activo a nivel bajo y diagrama lgico efectivo.

(b) OLMC en modo secuencial activo a nivel alto y diagrama lgico efectivo.

Figura 5.4 Modo secuencial para salidas activas a nivel bajo y a nivel alto. Las lneas gruesas indican los caminos lgicos para cada caso.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

85 5.5 Tipos de mquinas de estados Los circuitos lgicos secuenciales se pueden clasificar dentro de la categora de circuitos conocidos como mquinas de estados, de las que existen dos tipos bsicos. En la mquina de estados de Moore que se muestra en la Figura 5.5 (a), la salida depende slo del estado interno y de cualquier entrada sincronizada con el circuito. Ejemplos de las mquinas estados de tipo Moore son los contadores, en las que los flip-flops son los elementos de memoria. En la mquina de estado Mealy, las salidas vienen determinadas por el estado interno y por entradas que no estn sincronizadas con el circuito, como se indica en la Figura 5.5 (b).

Figura 5.5 Diagramas de bloques generales para los dos tipos de mquinas de estado. 5.6 Ejemplo Especificaciones del problema: Los semforos que controlan el trfico en la interseccin de dos calles utilizan un sistema digital de control (CT), cuya tarea es la encender y apagar los semforos en una secuencia

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

86 que responda al flujo de vehculos y peatones. Consideraremos un ejemplo simplificado, en el que una calle norte-sur (NS) cruza una calle de la misma magnitud que corre de este a oeste (EO), como se muestra en la figura 5.6. Las nicas entradas a la unidad de control son las seales de un conjunto de botones marcados con la palabra CAMINE, que aprietan los peatones que desean cruzar la calle. Si no hay peatones, los semforos permiten que el trfico de NS fluya durante un minuto; es decir, estn en verde en la direccin NS y en rojo en la direccin EO. Despus, las luces cambian automticamente para permitir que el trfico EO fluya durante un minuto. De esta manera, las luces verdes alternan entre las direcciones NS y EO a intervalos de un minuto. Sin embargo, si un peatn aprieta un botn marcado con CAMINE, todos los semforos pasan a rojo durante un minuto, para permitir que los peatones crucen cualquier calle. A fin de que el problema no sea demasiado grande, ignoraremos las luces de advertencia amarillas mbar que son parte vital de un sistema real de control de trfico.

Figura 5.6 Distribucin fsica del problema de control de semforos. Los botones peatonales se representarn colectivamente con una sola variable binaria x. La seal x = 1 indica a CT que se ha apretado un botn peatonal y x = 0 indica que no se ha apretado dicho botn. Supondremos que CT tiene dos seales de salida primarias: z1 para que el semforo est en verde (z1 = 1) o en rojo (z1 = 0) en la direccin EO y z2 para que el Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

87 semforo est en verde (z2 = 1) o en rojo (z2 = 0) en la direccin NS. De esta manera, la condicin de todos los semforos en rojo, cuando pueden cruzar los peatones, se indica con z1 = z2 = 0. Como el periodo mnimo que estar un semforo en rojo o en verde es un minuto, escogemos este lapso como el periodo del reloj que sincroniza a CT. En la figura 5.7 (a) se muestra el diagrama de transicin de estados, y la tabla de transicin de estados en la figura 5.7 (b). En dichas figuras se muestra el comportamiento del circuito, indicando su estado presente y su estado siguiente, as como su salida.

(a) Figura 5.7 Comportamiento del circuito.

(b)

Para poder representar los estados, se le debe asignar variables booleanas, como son cuatro estados, es necesario utilizar dos bits para dicha representacin (B y A). De esta manera obtenemos: B S0 es representado en binario por = 0 S1 es representado en binario por = 0 S2 es representado en binario por = 1 S3 es representado en binario por = 1 A 0 1 0 1

Por lo tanto, la tabla de estados de la figura 5.7(b), sustituyendo con los valores bolanos obtenidos con las variables A y B, nos da la tabla de la figura 5.8.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

88 Estados Presente XBA 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Estados Siguiente B+ A+ 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 Z2 Z1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 DB 0 0 0 0 1 1 0 0 DA 1 0 1 0 0 1 1 0 Figura 5.8 Tabla con valores booleanos. Salidas Flip-Flops a utilizar

Al tener la tabla de la figura 5.8 , podemos implementar el diseo de las siguientes dos maneras: Utilizando la secuencia de los estados, Utilizando las ecuaciones minimizadas de los flip-flops, de las salidas y de los estados siguientes. Nosotros vamos hacer las dos implementaciones, por lo tanto, en el WinSim nos debe de dar la mismas seales de salida, en esta practica utilizaremos el GAL16v8. 5.6.1 Implementacin utilizando la secuencia de estados. Abrimos el WinCUPL y seleccionamos un nuevo diseo, llenamos los datos de cabecera, los pines de entrada, los pines de salida y los pinnodes, estos ltimos sern cero. Hay que tomar en cuenta en los pines de entrada el pin 1, que es la entrada del pulso de reloj, y tambin el pin 11, que es el habilitador de las salidas de los flip-flops tipo D que usa el GAL16v8. Y, como salidas, tendremos las Z2 y Z1, estas salidas, ser necesario minimizarlas con mapa de Karnaugh ( figura 5.9 ), e incluir las funciones obtenidas en el final del programa fuente, las salidas de los flip-flops B y A, solamente se mencionan en la seccin de salidas, para tomar referencia en la seccin de secuencia, por lo tanto, obtendremos el programa fuente de la figura 5.10. Aprenda PLDs Principios y Aplicaciones. L. Gerardo Flores R.

89

BA x

00 1 1

01 0 0

11 0 0

10 0 0

BA x

00 0 0

01 1 1

11 0 0

10 0 0

0 1

0 1

Z1= B

Z2= A B

Figura 5.9 Minimizacin por mapa de las salidas Z1 y Z2.

Figura 5.10 Programa fuente en WinCUPL, usando la secuencia de estados. Para compilar, damos las mismas opciones mostradas en las figuras 4.6, 4.7, 4.8, 4.9, 4.10, 4.11 y 4.12 . Al no encontrar errores en la compilacin, invocamos el simulador, damos de alta las seales de entrada y salida, agregamos los vectores. Hay que poner la seal de pulso

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

90 de reloj en clk y la seal de !oe debe estar en cero. Al probar la simulacin, nos da la figura 5.11.

Figura 5.11 Resultado de la simulacin.

Podemos observar la seal de control x, que, cuando vale cero, los semforos (Z1 y Z2), estn intercalando sus valores. Pero cuando x vale uno, los semforos duran un ciclo en rojo ambos, dando el permiso al peatn a que cruce la calle.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

91 5.6.2 Implementacin usando ecuaciones minimizadas. En la implementacin con ecuaciones, es necesario minimizar las salidas de los flip-flops D, en este caso DA y DB de la figura 5.8, que es nuestra tabla de transicin de estados. Las salidas Z1 y Z2 ya tenemos las ecuaciones (figura 5.9). La minimizacin de los flipflops, se puede ver en la figura 5.12.

BA X 0 1 00 1 0 01 0 1 11 0 0 10 1 1 X 0 1

BA 00 0 1 10 0 1 11 0 0 10 0 0

DA = A B + A X + A B X

DB = B X

Figura 5.12 Minimizacin de las salidas de los flip-flops D. Al tener las ecuaciones, abrimos el WinCUPL, llenamos la cabecera, los pines de estrada y de salida, de igual forma, damos cero a pinnodes. Hay que tomar en consideracin, que para indicar salida de flip-flop tipo D, es necesario agregar la extensin .D, esto se muestra en el programa fuente, en la seccin de ecuaciones lgicas, como se muestra en la figura 5.13 . Al momento de compilar, en las opciones de minimizacin, se escoge None, debido a que ya fue minimizado por nosotros con los mapas de Karnaugh. Como se puede observar en la figura 5.14, los resultados de la simulacin, es igual a las seales de la figura 5.11, que fue con secuencia de estados.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

92

Figura 5.13 Programa fuente, utilizando ecuaciones lgicas.

Figura 5.14 Resultado de la simulacin.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

93

Bibliografa
Digital designing with programmable logic devices. John W. Carter. Prentice Hall (1997). CUPL, Referece and Applications. Logical Devices, Inc (1995). CUPL, WinCUPL and Compiler, Users Guide. Logical Devices, Inc. (1998). Digital desiging with CPLD Applications and VHDL. Robert K. Dueck. Delmar (2001). A VHDL Primer. J. Bhasker. Prentice Hall (1999). Digital Systems, Principles and Applications. (Eigth Edition). Ronald J. Tocci, Neal S. Winmer. Prentice Hall (2001). VHDL, Lenguaje para sntesis y modelado de circuitos. Fernando Pardo, Jos A. Boluda. Alfaomega (2000). Fundamentos de Sistemas Digitales. T.L. Floyd. Prentice Hall (1997). Introduccin al Diseo Lgico Digital. John P. Hayes. Addison Wesley (1996). Diseo digital, principios y practicas. John F. Wakerly. Prentice Hall (1992). Anlisis y Diseo de circuitos lgicos digitales. Victor P. Nelson, H. Troy Nagle, Bill D. Carrol, J. David Irwin. Prentice Hall (1996).

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

94

Abreviaturas

ASIC BIT CI CLB CLK CMOS CPLD E/S EEPLD EEPROM EPROM FPGA GAL I/O IOB JEDEC NS OE OLMC PAL

(Application Specific Integrated Circuits). Circuitos Integrados de Aplicacin Especfica. (Binary digIT). Digito Binario. (Integrated Circuit IC). Circuito Integrado. (Configurable Logic Block). Bloque Lgico Configurable. (Clok). Pulso de Reloj. (Complementary Metal Oxide Semiconductor). Semiconductor de Oxido de Metal Complementado. (Complex Programmable Logic Device). Dispositivo Lgico Programable Complejo. (Input/Output I/O). Entrada y Salida. (Elctrically Erasable Programmable Logic Device). Dispositivo Lgico Programable Elctricamente Borrable. (Electrically Erasable Programmable Read Only Memory). Memoria Programable de Solo Lectura Electricamente Borrable. (Erase Programmable Read Only Memory). Memoria Programable de Solo Lectura Borrable. (Field Programmable Gate Array). Campos de Arreglos de Compuertas Programables. (Generic Array Logic). Arreglo Lgico Genrico. (Input/Output). Entrada y Salida. (Input Output Block). Bloque de Entrada y Salida. (Joint Electronic Device Engineering Council). (Nano segundo). Notacin cientfica de 10-9 segundos. (Output Enable). Habilitar Salida. (Output Logic Macro Cell). Macro Celda de Salida Lgica. (Programmable Array Logic). Lgica de Arreglo Programable. L. Gerardo Flores R.

Aprenda PLDs Principios y Aplicaciones.

95 PC PLA PLD PROM TTL WinCUPL WinSim (Personal Computer). Computadora Personal. (Programmable Logic Array). Arreglo Lgico Programable. (Programmable Logic Device). Dispositivo Lgico Programable. (Programmable Programable. (Transistor Transistor Logic). Logica Transistor Transistor. (Windows Compiler Universal Programmable Logic). Compilador Universal de Lgica Programable bajo el sistema Windows. (Windows Simulator). Simulador bajo Windows. Read Only Memory). Memoria de Solo Lectura

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

96

Glosario
& + Cuando se emplea dentro de un smbolo IEEE/ ANSI, indica una funcin AND o una compuerta AND. Cuando se emplea dentro de un smbolo IEEE/ ANSI sobre la entrada de reloj, indica que el contenido del contador se incrementar en uno con cada pulso de reloj. Cuando se emplea dentro de un smbolo IEEE/ ANSI y sobre la entrada del reloj, seala que el contador ser reducido en uno cuando aparezca la entrada de reloj. Al emplearse en la etiqueta de una entrada dentro de un smbolo IEEE/ ANSI, indica que cuando se presente una transicin activa en la entrada, esto da como resultado una operacin de corrimiento hacia la derecha. Cuando se emplea un smbolo IEEE/ ANSI como etiqueta de una salida, seala la separacin de dos funciones.

Acarreo del contador de rizo Vase propagacin del acarreo. Acarreo Dgito o bit que se genera cuando se suman dos nmeros y el resultado es mayor que la base del sistema numrico empleado para efectuar la operacin. Actuador Dispositivo controlado elctricamente que controla una variable fsica. Acumulador Registro principal de una unidad aritmtica-lgica (ALU). ADC de aproximaciones sucesivas Tipo de convertidor analgico-digital en el que se utilizan un registro paralelo interno y una lgica compleja para llevar a cabo la conversin. El tiempo de conversin para este tipo de convertidor siempre es el mismo, sin importar cul sea el valor de la seal de entrada analgica. ADC de destello (flash) Tipo de convertidor analgico-digital que tiene la mayor velocidad de conversin disponible en la actualidad. ADC de rampa digital Tipo de convertidor analgico-digital en el que se genera internamente una onda que tiene la forma de una escalera y la cual se emplea para llevar a cabo la conversin. El tiempo de conversin para este tipo de convertidor analgico-digital vara y esto depende del valor de la seal analgica de entrada. ADC de rampa digital ascendente / descendente Tipo de convertidor analgico digital que emplea un contador ascendente descendente para aumentar o disminuir el

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

97 voltaje a la salida del convertidor digital analgico hasta que ste intersecte el valor de la entrada analgica. ADC de voltaje a frecuencia Tipo de convertidor analgico digital que convierte el voltaje analgico en un tren de pulsos de frecuencia variable los cuales son contados para producir una salida digital. Adendo Nmero que se va a sumar a otro. Adquisicin de datos Proceso mediante el cual una computadora adquiere datos analgicos digitalizados. Agrupamiento Combinacin de celdas adyacentes en un mapa de Karnaugh que contienen unos, con la finalidad de simplificar una expresin que tiene la forma de una suma de productos. lgebra booleana Proceso algebraico utilizado como herramienta para el anlisis y diseo de sistemas digitales. En el lgebra booleana slo son posibles dos valores: 0 y 1. Almacenamiento secundario Lugar para guardar grandes cantidades de datos. No forma parte de la memoria interna de la computadora. AND alambrado Trmino empleado para describir la funcin lgica creada cuando se conectan entre s dos salidas de colector abierto. Arreglo lgico programable (PLA) Clase de dispositivos lgicos programables. Los arreglos AND y OR son programables. Tambin recibe el nombre de arreglo lgico de campo programable (FPLA). Asegurado Trmino utilizado para describir el estado de una seal lgica; sinnimo de "activo". BCD/DEC Cuando se emplea dentro de un smbolo IEEE/ANSI, seala una funcin de decodificacin BCD a decimal. BIN/OCT Cuando se emplea dentro de un smbolo IEEE/ANSI, indica una funcin de decodificacin de binario a octal. Bit Dgito del sistema binario de numeracin. Bit de paridad Bit adicional que acompaa a cada grupo de un cdigo, de forma tal que el nmero de unos que se transmite sea siempre par (o impar). Bit de signo Bit que se aade a la posicin extrema izquierda de un nmero binario para indicar si ste representa una cantidad positiva o negativa.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

98 Bit ms significativo (MSB) Bit que se encuentra en el extremo izquierdo (mayor peso) de una cantidad expresada en binario. Bit menos significativo (LSB) Bit que se encuentra en el extremo derecho (peso ms pequeo) de una cantidad expresada en binario. Bloque comn de control Smbolo empleado por el estndar IEEE/ANSI para describir situaciones donde una o ms entradas son comunes a ms de uno de los circuitos que constituyen el CI. BORRAR Entrada asncrona de un FF utilizada para hacer de manera inmediata Q = 0. Byte Palabra de ocho bits. C Cuando se emplea como etiqueta de entrada dentro de un smbolo IEEE/ANSI, ste seala que la entrada controla la forma en que los datos ingresan al elemento de almacenamiento. Canal de control Conjunto de lneas de seal que se emplean para sincronizar las actividades del CPU y los dems elementos. Canal de datos Lneas bidireccionales que llevan los datos entre el CPU y la memoria, entre el CPU y los dispositivos de E/S. Canal de direcciones Lneas unidireccionales que llevan la direccin desde el CPU hacia la memoria y los dispositivos de E/S. Canal (bus) flotante Cuando todas las salidas conectadas al canal (BUS) de datos estn en su estado de alta impedancia. Capacidad Cantidad de espacio de almacenamiento en una memoria expresada como un nmero de bits o de palabras. CAS antes de RAS Mtodo para refrescar una memoria RAM dinmica que tenga contadores de refresco internos. Cuando la entrada CAS es llevada a "bajo" y se mantiene ah mientras la seal RAS es pulsada a "bajo", una operacin interna de refresco se realiza en la direccin de la fila dada por el contador de refresco interno.

Celda de memoria Dispositivo que guarda un slo bit. CI bipolar Categora de circuitos digitales integrados en que los principales elementos de circuito son transistores NPN y PNP. CI unipolar Circuitos digitales integrados en los que el principal elemento de circuito son los transistores unipolares de efecto de campo (MOSFET)

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

99 Ciclo de ejecucin Periodo durante el que la unidad de control de una computadora obtiene de la memoria los cdigos de instruccin. Circuito de muestreo y retencin Tipo de circuito que emplea una amplificador de aislamiento con ganancia unitaria en conjuncin con un capacitor con el objeto de lograr un proceso de conversin analgico-digital ms estable. Circuito lgico Cualquier circuito que se comporta de acuerdo con un conjunto de reglas lgico. Circuito NOR exclusivo Circuito lgico con dos entradas que produce una salida ALTO slo cuando las entradas son iguales. Circuito NOT Vase INVERSOR. Circuito OR exclusivo Circuito lgico con dos entradas que produce una salida ALTO slo cuando las entradas son diferentes. Circuitos de inhibicin Circuitos lgicos que controlan el paso de una seal de entrada hacia la salida. Circuitos digitales integrados Circuitos digitales en un solo encapsulado que han sido fabricados mediante el uso de varias tecnologas para la fabricacin de circuitos integrados. Circuitos lgicos combinatorios Circuitos construidos con combinaciones de compuertas lgicas, sin ninguna retroalimentacin de las salidas hacia las entradas. Crculos (inversores) pequeos smbolos que aparecen sobre las lneas de entrada o salida de los smbolos de circuito lgico y que representan la inversin de una seal en particular. Si el crculo est presente, se dice entonces que la entrada o salida es activa en BAJO. CMOS (semiconductor metal-xido complementario) Tecnologa de circuito integrado que emplea transistores MOSFET como elemento principal de circuito. Esta familia lgica pertenece a la categora de CI digitales unipolares. Codificador Circuito digital que produce un cdigo de salida que depende de cul de las entradas se encuentre activa. Codificador de 3 a 8 lneas Circuito digital que genera un cdigo de tres bits que depende de cul de las lneas de entrada est activada.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

100 Codificador de prioridad Tipo especial de codificador que detecta cuando dos o ms entradas son activadas al mismo tiempo y genera un cdigo que corresponde a la entrada con mayor prioridad. Codificador octal a binario Vase codificador de 8 a 3 lneas. Cdigo ASCII (American Standard Code for Information Interchange, Cdigo Americano estndar para el intercambio de informacin) Cdigo alfanumrico de siete bits empleado por la mayora de los fabricantes de computadoras. Cdigo binario puro Representacin de un numero decimal mediante su equivalente binario. Cdigo de operacin Parte de una instruccin de computadora que define el tipo de operacin que sta debe ejecutar sobre un dato especfico. Cdigo decimal codificado en binario (cdigo BCD) Cdigo de cuatro bits empleado para representar cada dgito de un nmero decimal mediante su equivalente binario de cuatro bits. Cdigo Gray Cdigo en el que nunca cambia ms que un slo bit al ir de un valor al siguiente. Cdigos alfanumricos Cdigos que representan nmeros, letras, signos de puntuacin y caracteres especiales. Colisin de la cabeza Contacto entre una cabeza de L/E y la superficie de un disco duro que daa la superficie de ste. Comparador de magnitud Circuito digital que compara dos cantidades binarias de entrada y que genera como salida un indicador que seala si las entradas son iguales; si no lo son entonces la salida indica cul es la mayor. Compatible elctricamente Cuando dos CI de diferentes series lgicas se pueden conectar directamente sin tomar ninguna medida especial para asegurar en forma apropiada su operacin. Compatible en terminal (pin) Cuando las terminales de dos diferentes CI tienen la misma funcin. Complemento Vase Inversin. Compuerta NAND Circuito digital que lleva a cabo la operacin AND seguida por un INVERSOR. La salida de una compuerta NAND es BAJO (nivel lgico 0) slo si todas las entradas son ALTO (nivel lgico 1).

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

101 Compuerta NOR Circuito lgico que opera como una compuerta OR seguida por un INVERSOR. la salida de una compuerta NOR es BAJO (nivel lgico 0) si cualquiera o todas las entradas son ALTO (nivel lgico 1). Compuerta OR Circuito digital que realiza la operacin OR. La salida de este circuito es ALTO (nivel lgico 1) si cualquiera de sus entradas se encuentra en ALTO. Computadora digital Sistema de circuitos (hardware) que realiza operaciones aritmticas y lgicas, maneja datos y toma decisiones. Conmutacin Proceso de cambio de un estado binario hacia otro. Contador ascendente Contador que cuenta desde cero hasta un mximo. Contador asncrono Tipo de contador en el que la salida de cada flip-flop sirve como la entrada de reloj del siguiente que se encuentra en la cadena. Contador BCD Contador binario que cuenta desde 00002 hasta 10012 antes de volver a comenzar en el conteo con 00002. Contador binario Grupo de flip-flops conectados en una configuracin especial en la que los estados de los flip-flops representan el nmero binario equivalente al nmero de pulsos que se ha presentado en la entrada del contador. Contador de anillo Registro de corrimiento en el que la salida del ltimo flip-flop est conectada a la entrada del primero. Contador de dcadas Cualquier contador que es capaz de pasar por diez estados lgicos diferentes. Contador de frecuencia Circuito que puede medir y presentar visualmente la frecuencia de una seal. Contador de programa (PC) Registro del CPU que guarda la direccin donde se encuentra la siguiente instruccin. Contador de refresco Contador que mantiene el rastro de las direcciones de fila durante la operacin de refresco a una DRAM. Contador de rizo Vase Contador asncrono. Contador descendente Contador que cuenta en forma descendente desde un mximo hasta cero. Contador Johnson Registro de corrimiento en el que se invierte la salida del ltimo flipflop y se conecta a la entrada del primero.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

102 Contador multietapa Contador en el cual varias etapas estn interconectadas, de modo que la salida de una etapa sirve como seal de reloj a la entrada de la siguiente, con lo que se obtiene un mayor rango de divisin de frecuencia. Contador paralelo Vase contador sncrono. Contador preiniciable Contador que se puede preiniciar en cualquier valor inicial ya sea de manera sncrona o asncrona. Contador sncrono Contador en el que todos los flip flops estn sincronizados simultneamente por un reloj. Contienda por el canal Situacin en que las salidas de dos o ms dispositivos activos son colocadas en la misma lnea del canal y al mismo tiempo. Controlador de DRAM CI empleado para manejar las operaciones de regeneracin y multiplexado que son necesarias en los sistemas DRAM. Conversin de paralelo a serial Proceso por el que todos los bits de datos se presentan simultneamente en la entrada del circuito y entonces son trasmitidos hacia la salida de ste uno a la vez. Convertidor analgico-digital de doble pendiente Tipo de convertidor analgico-digital que carga linealmente un capacitor a partir de una corriente que es proporcional a VA durante un intervalo fijo de tiempo, despus de lo cual incrementa un contador a medida que el capacitor se descarga linealmente hasta llegar a cero. Convertidor analgico-digital (ADC) Circuito que convierte una entrada analgica en su correspondiente salida digital. Convertidor digital-analgico (DAC) Circuito que convierte una entrada digital en una salida analgica. Corrimiento de reloj Llegada de una seal de reloj a las entradas de reloj de diferentes flip-flops en distintos tiempos como consecuencia de los retardos de propagacin. Convertidor de nivel de voltaje Circuito que toma un conjunto de niveles de voltaje de entrada y lo convierte a otros niveles diferentes en su salida. Cosumando Nmero que se suma al sumando. CT = 0 Cuando se emplea en la etiqueta de una entrada dentro de un smbolo IEEE/ANSI, seala que el contenido del contador ser borrado cuando la entrada vaya hacia su estado activo.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

103 CTR Cuando aparece dentro de un smbolo IEEE/ ANSI, la etiqueta indica que el CI es un contador. D Cuando se emplea dentro de un smbolo IEEE/ ANSI, la etiqueta indica "dato" DAC bipolar Convertidor digital-analgico que acepta como entrada nmeros binarios con signo y produce como salida el correspondiente valor analgico positivo y negativo. DAC con red escalera R/2R Tipo de convertidor digital analgico cuyos valores de resistencia interna abarcan slo rangos de 2 a 1. Decodificador Circuito digital que convierte un cdigo binario de entrada en su correspondiente salida numrica. Decodificador activo en ALTO (BAJO) Decodificador que produce un estado lgico ALTO (BAJO) en la salida cuando se presenta una deteccin. Decodificador BCD a decimal Decodificador que convierte una entrada BCD en una salida decimal equivalente. Decodificador de 1 a 10 Vase Decodificador de BCD a decimal. Decodificador de 4 a 10 Vase Decodificador de BCD a decimal. Decodificador/manejador de BCD a siete segmentos Circuito digital que toma una entrada BCD de cuatro bits y activa las salidas requeridas para presentar el dgito decimal equivalente sobre un dispositivo de visualizacin de siete segmentos. Demultiplexor (DEMUX) Circuito lgico que, dependiendo del estado de sus entradas de seleccin, canaliza los datos que estn en su entrada hacia una de las varias salidas. Desacoplamiento de la fuente de alimentacin Conexin de un pequeo capacitor de RF entre tierra y VCC, cerca de cada circuito TTL que se encuentra sobre la tarjeta de circuito impreso. Detector de flanco Circuito que produce espigas positivas de corta duracin cuya aparicin coincide con la transicin activa del reloj. Desborde de la capacidad mxima de representacin (overflow) Se presenta cuando al sumar nmeros binarios con signo, se genera un acarreo de 1, proveniente de la posicin MSB del nmero hacia la posicin correspondiente al bit del signo. Diagrama de tiempos Ilustracin de los niveles lgicos en funcin del tiempo. Digitalizacin Proceso mediante el que una seal analgica es convertida en un dato digital.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

104 Dgito binario Bit. Dgito ms significativo (MSD) Dgito que tiene el mayor peso en un nmero en particular. Dgito menos significativo (LSD) Dgito que tiene el menor peso en un nmero en particular. DIP Encapsulado de doble lnea. Es el tipo ms comn de encapsulado para CI. Direccin Nmero que identifica de manera nica la ubicacin de una palabra en la memoria. Direccin del operando Direccin de memoria donde se encuentra o va a guardarse un operando. Disco duro Disco rgido de metal utilizado para almacenamiento secundario. Disparado por flanco Forma en la que se activa un flip-flop mediante la transicin de una seal. Un flip-flop puede ser disparado ya sea por flanco positivo o por flanco negativo. Disparador Seal de entrada de un flip-flop o multivibrador monoestable que provoca que la salida cambie hacia un estado que depende de las condiciones de las seales de control. Disparador Schmitt Circuito digital que acepta una seal que cambia con lentitud y que produce su salida una seal rpida libre de oscilaciones. Dispositivo lgico programable (PLD) CI que contiene un nmero muy grande de funciones lgicas interconectadas. El usuario puede programar el CI para una determinada funcin al interrumpir las conexiones apropiadas. Distribuidores de datos Vase demultiplexor. DIVn Cuando se emplea dentro de un smbolo IEEE/ ANSI, seala que el circuito es un contador de mdulo n. ECL Lgica de emisor acoplado; tambin se conoce como lgica en modo de corriente. Entrada flotante Seal de entrada que se deja sin conectar en un circuito lgico. Entrada paralela/salida serial Tipo de registro donde los datos se cargan en paralelo y slo tiene una salida que es serial.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

105 Entrada serial/salida paralela Tipo de registro que puede cargarse de manera serial y cuyas salidas son paralelas. Entrada serial/salida serial Tipo de registro que se puede cargar de manera serial y cuya salida tambin es serial. Entradas asncronas Entradas del flip-flop que pueden afectar su operacin en forma independiente de las entradas de sincrona y de reloj. Entradas de accin inmediata Sinnimo de entradas asncronas. Entradas de control Seales de entrada que estn sincronizadas con la transicin activa del reloj y que determinan el estado de la salida de un flip-flop. Entradas sncronas Vase entradas de control. Equivalente funcional Cuando dos funciones lgicas realizadas por dos diferentes CI son exactamente iguales. Error de cuantizacin Error causado por la resolucin diferente de cero de un convertidor analgico-digital; ste es un error inherente al dispositivo. Error de desvo (offset) Desviacin de la salida ideal de cero volts de un convertidor digital-analgico cuando la entrada es cero. En realidad, para esta situacin, el voltaje de salida es muy pequeo. Error de escala completa Trmino utilizado por algunos fabricantes de convertidores digitales-analgicos para especificar la exactitud de un convertidor digitalanalgico. Este error se define como la mxima desviacin de la salida de un convertidor digital-analgico de su valor ideal esperado. Error de linealidad Trmino empleado por algunos fabricantes de convertidores digitalanalgico para especificar la exactitud del dispositivo. Se define como la mxima desviacin en el tamao de paso con respecto al tamao de paso ideal. ESCRITURA Trmino utilizado para describir la condicin donde el CPU enva datos hacia otro elemento. ESPIGA Vase seal falsa. Estado borrado Estado Q = 0 de un flip-flop. Estado casi estable Estado en el que permanece temporalmente un multivibrador monoestable (normalmente Q = 1) antes de regresar a su estado estable (por lo general, Q = 0).

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

106 Estado de inicio Estado Q = 1 de un flip-flop. Factor de carga Vase factor de carga de la salida. Factor de carga de la salida Nmero mximo de entradas lgicas estndar que la salida de un circuito digital puede manejar en forma confiable. Firmware Programa de computadora almacenado en una ROM. Flip-flop Dispositivo de memoria capaz de almacenar un nivel lgico. FIip-flop D sincronizado por reloj Tipo de flip-flop en el que la entrada D (dato) es la entrada sncrona. Flip-flop J-K sincronizado por reloj Tipo de flip-flop en el que las entradas J y K son las entradas sincrnas. Flip-flops maestro/esclavo Flip-flops ya en desuso que tienen en su estructura interna dos flip-flops - un maestro y un esclavo. Flip-flops sincronizados por reloj Flip-flops que tienen una entrada de reloj. Forma de onda en escalera Tipo de forma de onda generado en la salida de un convertidor digital-analgico a medida que su entrada cambia de manera creciente. Forma de suma de productos Expresin lgica que est formada por la disyuncin de dos o ms trminos productos) AND. G Etiqueta empleada dentro de un smbolo IEEE/ANSI para indicar una dependencia AND. Generacin defunciones lgicas Implantacin de una funcin lgica directamente de una tabla de verdad mediante un CI digital tal como un multiplexor. Generador de funciones Circuito que produce varias formas de onda distintas; se puede construir usando una ROM, un DAC y un contador. Generador de paridad Circuito que toma un conjunto de bits y produce el bit de paridad correcto para dicho conjunto. Glitch Abrupto cambio en voltaje de muy corta duracin, de naturaleza adulterada. HPRI/BCD Cuando se emplea dentro de un smbolo IEEE/ANSI, seala que la funcin del CI es convertir una entrada activa con la mayor prioridad en su correspondiente cdigo BCD.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

107 IEEE/ANSI Instituto de Ingenieros Elctricos y en Electrnica / Instituto Americano de Estndares Nacionales. Indeterminado Dcese del voltaje de un nivel lgico cuando se encuentra fuera de los intervalos correspondientes a los niveles lgicos 0 y 1. INICIO Trmino sinnimo de DC SET. Inicio en DC Entrada asncrona de un flip-flop empleada para poner de inmediato un 1 en la salida ( Q = 1 ). Inmunidad al ruido Capacidad de un circuito para tolerar el voltaje de ruido de sus terminales. Instruccin de mltiples bytes Instruccin de computadora que est representada por ms de un byte. Instruccin de mltiples direcciones Palabra de instruccin de computadora que contiene ms de una direccin. Interfaz Unin de diferentes dispositivos de manera que sean capaces de funcionar en forma compatible y coordinada; conexin de la salida de un sistema a la entrada de otro diferente con distintas caractersticas elctricas. Interruptor bilateral Circuito CMOS que acta como interruptor de un polo un tiro controlado por el nivel lgico de una entrada. Intervalo de muestreo Ventana de tiempo durante la que un contador de frecuencias recolecta muestras para determinar la frecuencia de una seal. Inversin Operacin que lleva a un nivel lgico hacia su estado opuesto. INVERSOR Tambin se conoce como circuito NOT; circuito lgico que implanta la operacin NOT. Un inversor tiene slo una entrada y el nivel lgico de su salida siempre es el opuesto al de la entrada. Jam Transfer Vase tambin transferencia asncrona. Latch-up Condicin peligrosa de alta corriente en un CI CMOS provocada ya sea por espigas de alto voltaje u oscilacin (ringing) en las entradas y salidas del dispositivo. LCD Dispositivo de visualizacin de cristal lquido. Lectura Trmino empleado para describir la condicin en la que el CPU recibe datos provenientes de otro elemento.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

108 LED Diodo emisor de luz. Lenguaje de alto nivel Lenguaje de programacin de computadoras que emplea el idioma ingls con el propsito de facilitar la escritura de un programa para computadora. Lenguaje de mquina Lenguaje de programacin de computadoras en el que se emplean grupos de unos y ceros para representar las instrucciones. El lenguaje de mquina es el nico lenguaje que en realidad entiende la computadora. Lnea de datos bidireccional Trmino utilizado cuando una lnea de datos funciona ya sea como lnea de entrada o de salida dependiendo de los estados de las entradas de habilitacin. Lgica de toma de corriente (Current sinking logic) Familia lgica en la cual la salida de un circuito lgico toma corriente de la entrada del circuito lgico que est impulsando. Logica de suministro de corriente Familia lgica en la cual la salida de un circuito suministra corriente al circuito al que est impulsando. Lgica en un arreglo programable (PAL) Clase de dispositivos lgicos programables. El arreglo AND es programable, mientras que el arreglo OR es alambrado. LSI Gran escala de integracin (desde l00 hasta 9999 compuertas). Manejador Trmino tcnico que algunas veces se aade a la descripcin de un CI para indicar que sus salidas pueden operar con lmites de corriente o voltaje mayores que los de un CI estndar. Manejadores de canal Circuitos intermedios entre las salidas de los dispositivos conectados a un canal comn y el propio canal; se emplean cuando un nmero muy grande de dispositivos comparte el mismo canal. Mapa de Karnaugh Formato bidimensional de una tabla de verdad empleado para simplificar una expresin que est en la forma de suma de productos. Maxicomputadora Sistema de cmputo grande que se emplea para mantener y actualizar grandes cantidades de datos e informacin. Mxima frecuencia aplicable al reloj (FMAX) La mayor frecuencia que se puede aplicar en la entrada de reloj de un flip-flop y para la que ste dispara de manera confiable. Memoria Habilidad de la salida de un circuito para permanecer en un estado despus de que ha desaparecido la condicin de entrada que le dio origen.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

109 Memoria auxiliar Aquella parte de la memoria de una computadora que se separa de la memoria interna de trabajo de la mquina. Generalmente tiene alta densidad y alta capacidad, similar a un disco magntico. Memoria de acceso aleatorio (RAM) Memoria en la que el tiempo de acceso a cualquier localidad es el mismo. Memoria de acceso secuencial (SAM) Memoria en la que el tiempo de acceso cambia de acuerdo con la ubicacin del dato guardado en ella. Memoria de destello (FLASH) CI de memoria no voltil que tiene alta velocidad de acceso y la capacidad de borrado dentro del circuito que tienen los EEPROM pero con mayores densidades y ms bajo costo. Memoria de disco magntico Memoria de almacenamiento secundario que guarda los datos como puntos magnetizados sobre la superficie de un disco plano que da vueltas. Memoria de disco ptico Clase de dispositivo de memoria secundaria que emplea un haz lser para escribir y leer con la misma facilidad. Memoria de lectura/escritura (RWM) Cualquier memoria en la que se puede escribir y leer con la misma facilidad. Memoria intermedia (buffer) con velocidades de transmisin de datos diferentes Aplicacin de los FIFO en la que se describen datos en forma secuencial y con cierta velocidad, y stos se leen con una velocidad diferente. Memoria interna Porcin de la memoria de alta velocidad de una computadora que mantiene el programa y los datos que la mquina est trabajando. Tambin llamada memoria principal o memoria de trabajo. Memoria no voltil Memoria que guarda la informacin sin necesidad de potencia elctrica. Memoria primero en entrar-primero en salir (FIFO) Memoria de semiconductor de acceso secuencial en la que las palabras de datos se leen en el mismo orden en que fueron escritas. Memoria nicamente de lectura (ROM) Dispositivo de memoria diseado para aplicaciones donde la relacin entre las operaciones de lectura y las de escritura es muy grande. Memoria voltil Memoria que requiere de energa elctrica para mantener la informacin que se encuentra almacenada en ella.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

110 Mtodo de paridad Esquema utilizado para detectar los errores que ocurren durante la transmisin de datos. Microcomputadora Nuevo miembro de la familia de computadoras que est formado por microprocesador, circuitos de memoria y pastillas de interface E/S. En algunos casos, los componentes anteriores se encuentran todos en un solo CI. Microprocesador (MPU) CI. LSI que contiene la unidad de central de procesamiento (CPU). Minicomputadoras Computadoras que en general son ms grandes y rpidas y que adems poseen ms capacidades que las microcomputadoras. Minuendo Nmero del que se resta el sustraendo. Mnemotcnico Abreviatura que representa el cdigo de operacin de una instruccin de computadora. Modo de transicin (toggle) Modo de operacin en el que un flip-flop cambia de estado con cada pulso de reloj. Monotonicidad Propiedad mediante la cual la salida de un convertidor digital-analgico se incrementa o permanece en el mismo valor a medida que la entrada aumenta. MOSFET Transistor de efecto de campo semiconductor metal-xido. MSI Mediana escala de integracin (entre 12 y 99 compuertas).

Multiplexado Proceso de seleccin de una entrada entre varias y transmisin de los datos seleccionados hacia un slo canal de salida. Multiplexado de direcciones Multiplexado empleado en las RAM dinmicas que permite ahorrar terminales de CI que participan en la recepcin de las dos mitades en que se divide una direccin completa y que se envan al CI en pasos separados. Multiplexor (MUX) Circuito lgico que, dependiendo del estado de sus entradas de seleccin, lleva uno de sus varios datos a su salida. Multiplicador binario Circuito digital especial capaz de llevar a cabo la operacin aritmtica de multiplicacin sobre dos nmeros binarios. Multivibrador estable Circuito digital que oscila entre dos estados de salida inestables. Multivibrador biestable Nombre que algunas veces se emplea para designar al flip-flop.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

111 Multivibrador monoestable Circuito que pertenece a la familia de los flip-flops pero que tiene un slo estado estable (por lo general Q = 0). Multivibrador monoestable no reactivable Tipo de multivibrador monoestable que no responde a una seal aplicada en la entrada de disparo mientras se encuentra en su estado casi estable. Multivibrador monoestable reactivable Tipo de multivibrador monoestable que responde a una seal aplicada en la entrada dc disparo mientras se encuentra en su estado casi estable. Nivel lgico Estado de un voltaje variable. Los estados 1 (ALTO) y 0 (ALTO) corresponde a los dos rangos de voltaje utilizables de un dispositivo digital. Nivel lgico activo Nivel lgico para el que se considera que el circuito es activo. Si el smbolo para el circuito incluye un crculo (inversor), el circuito es activo en BAJO. Por otro lado, si ste no tiene un crculo (inversor), entonces el circuito es activo en ALTO. NMOS (Semiconductor metal-xido de canal N) Tecnologa de circuito integrado que emplea transistores MOSFET de canal N como elemento principal de circuito. No asegurado Trmino utilizado para describir el estado de una seal lgica; sinnimo de inactivo. "No importa" Situacin en la que se puede asignar, para un conjunto dado de condiciones de entrada, el nivel de la salida de un circuito ya sea como 0 1. Notacin de dependencia Mtodo empleado para representar de manera simblica la relacin que existe entre las entradas y salidas de un circuito lgico. Este mtodo hace uso de smbolos calificadores colocados cerca de la parte superior central o del centro geomtrico del smbolo. Nmero de mdulo Nmero de diferentes estados por los que puede pasar una secuencia del contador; relacin de divisin en frecuencia de un contador. Observacin/anlisis Proceso empleado para detectar problemas en circuitos o sistemas con la finalidad de predecir las posibles fallas antes de tomar un instrumento de medicin. Cuando se emplea este proceso, el tcnico debe comprender la operacin del circuito, observar los sntomas de la falla y entonces razonar durante el proceso de operacin del circuito. Octetos Grupos de ocho unos que son adyacentes entre s dentro de un mapa de Karnaugh. Operacin AND Operacin del lgebra booleana en la que se emplea el smbolo para sealar la conjuncin de dos o mas variables lgicas. El resultado de una operacin

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

112 AND ser ALTO (nivel lgico 1) slo si todas las variables se encuentran en ALTO. Operacin de escritura Operacin en la que se coloca una nueva palabra en cierta localidad de memoria. Operacin de lectura Operacin en la que se ubica una palabra en una localidad de memoria especfica para, posiblemente ser transferida hacia otro dispositivo. Operacin NOT Operacin del lgebra booleana en la que se emplea un smbolo de barra o comilla para sealar la inversin de una o ms variables lgicas. Operacin OR Operacin del lgebra booleana en la que se emplea el smbolo + para indicar la disyuncin de dos o ms variables lgicas. El resultado de la operacin OR ser ALTO (nivel lgico 1) si una o ms variables se encuentran en ALTO. Operando Datos sobre los que opera la computadora a medida que ejecuta un programa. Oscilador controlado por voltaje (VCO) Circuito que produce como salida una seal que tiene una frecuencia que es proporcional al voltaje aplicado en la entrada del oscilador. Osciloscopio de almacenamiento digital Instrumento que muestrea, digitaliza, almacena y presenta visualmente formas de onda analgicas. Palabra Grupo de bits que representan cierta unidad de informacin. Palabra de computadora Grupo de bits que forma la unidad primaria de informacin en una computadora. Palabra de memoria Grupo de bits en la memoria que representa instrucciones o datos de algn tipo. Perifricos Dispositivos de entrada y salida de las computadoras. Plano posterior Conexin elctrica comn a todos los segmentos de un LCD. Porcentaje de resolucin Relacin entre el tamao de paso y el valor a escala completa de un convertidor digital-analgico. Tambin se puede definir como el recproco del nmero mximo de pasos de un convertidor digital-analgico. Prediccin de acarreo Habilidad de algunos sumadores para predecir, sin tener que esperar a que el acarreo se propague por todos los sumadores completos, si se generar o no el bit de acarreo (CSAL) como resultado de una adicin; de este modo se reduce el tiempo total de retardo.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

113 PREINICIO Entrada asncrona utilizada para poner Q = 1 de manera inmediata. Primer complemento a 1 Resultado obtenido cuando se complementa cada bit de un nmero binario. Producto velocidad-potencia Valor numrico (en joules) utilizado con frecuencia para comparar dos familias lgicas diferentes. Se obtiene al multiplicar el retardo de propagacin por la disipacin de la potencia del circuito lgico. Programa Secuencia de instrucciones codificadas en binario y diseadas para realizar una tarea con la computadora. Programa de carga e iniciacin (bootstrap) Programa de almacenamiento en ROM que la computadora ejecuta inmediatamente despus de su encendido. Propagacin del acarreo Retardo intrnseco del circuito para algunos sumadores, que impide que el bit de acarreo (Csal) y el resultado de la adicin aparezcan en la salida al mismo tiempo. Prueba de exactitud esttica Prueba en la que se aplica un valor binario fijo en la entrada de un convertidor digital-analgico y se mide con exactitud su salida. El resultado medido debe encontrarse dentro del intervalo especificado por el fabricante del convertidor digital analgico. Prueba en escalera Proceso mediante el que se incrementa la entrada de un convertidor digital-analgico y se observa su salida para determinar si exhibe o no un formato tipo escalera. Pulsador lgico Herramienta de prueba que genera un pulso de corta duracin cuando se acciona manualmente. Punta de prueba lgica Herramienta para la deteccin de fallas digitales que detecta e indica el nivel lgico particular de un punto en particular de un circuito. Punto binario En un nmero binario, signo que separa la parte entera de la fraccionaria. R Cuando se emplea como etiqueta de una entrada dentro de un smbolo IEEE/ANSI, seala una funcin de reiniciacin (reset). RAM dinmica (DRAM) Tipo de memoria de semiconductor que almacena datos como cargas en capacitores que necesitan regenerarse de manera peridica. RAM esttica (SRAM) RAM de semiconductor que guarda informacin en celdas formadas por flip flops y que no necesita de un refresco peridico.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

114 RAM no voltil Combinacin sobre el mismo circuito de un arreglo de RAM esttica y de una EEPROM. La EEPROM sirve como respaldo no voltil de la SRAM. Regeneracin Proceso mediante el que se recargan las celdas de una memoria dinmica. Registro Grupo de flip-flops capaces de almacenar datos. Registro bsico D Circuito que contiene un circuito de cerrojo con compuertas NAND y otras dos compuertas NAND de conduccin. Registro bsico (latch) Tipo de flip-flop. Registro bsico (latch) de compuertas NAND Flip flop construido con dos compuertas NAND acopladas entre s. Registro bsico (latch) de compuertas NOR Flip flop construido con dos compuertas NOR conectadas entre s. Registro con entrada y salida paralela Tipo de registro que puede ser cargado de manera paralela y que tiene disponibles salidas paralelas. Registro de corrimiento Circuito digital que acepta datos binarios de una fuente de entrada y entonces los desplaza, un bit a la vez, a travs de la cadena de flip-flops. Registro de corrimiento circular Registro de corrimiento en el que una de las salidas del ltimo flip-flop est conectada a una de las entradas del primero. Registro intermedio (buffer) Registro que retiene datos de manera temporal. REINICIO Trmino que es sinnimo de BORRAR. Estado Q = 0 de un flip-flop. Reloj Seal digital que tiene la forma de un tren de pulsos rectangular o de una onda cuadrada. Representacin analgica Representacin de una cantidad que vara sobre un intervalo continuo de valores. Representacin digital Representacin de una cantidad que cambia en pasos discretos sobre un determinado intervalo de valores. Resolucin En un convertidor digital-analgico, el cambio ms pequeo que se observa en la salida para un cambio en la entrada digital. Tambin recibe el nombre de tamao de paso. En un convertidor analgico-digital, la cantidad ms pequea de cambio en la entrada analgica que produce un cambio en la salida digital.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

115 Retardos de propagacin Tiempo que transcurre desde que la seal se aplica en una entrada hasta que la salida cambia de estado. ROM programable y borrable elctricamente (EEPROM) ROM que puede programarse, borrarse y volverse a programar elctricamente. ROM programable y borrable (EPROM) ROM que puede ser programada elctricamente por el usuario. Se puede borrar (en general con luz ultravioleta) y volverse a programar las veces que sea necesario. ROM programable (PROM) ROM que puede ser programada elctricamente por el usuario. No se puede borrar ni tampoco volver a programarse. ROM programada por mascarilla (MROM) ROM programada por el fabricante de acuerdo con las especificaciones del cliente. No se puede borrar o volver a programar. Ruido Fluctuaciones no deseadas en el voltaje, que pueden originarse en el medio ambiente y que provocan mal funcionamiento en los circuitos digitales. Salida a escala completa Mximo valor posible que puede tener la salida de un convertidor digital-analgico. Salida de colector abierto Tipo de estructura de salida de algunos circuitos TTL en la que se emplea slo un transistor con colector flotante. Salida de tres estados Tipo de estructura de la salida que permite tres estados: ALTO, BAJO y de alta impendancia (Z alta). Salida de ttem Trmino utilizado para describir la forma en que estn conectados dos transistores bipolares en la salida de la mayor parte de los circuitos TTL. SBD Diodo de barrera Schottky empleado en todos los circuitos de la serie Schottky TTL. Segundo complemento Resultado obtenido cuando se suma 1 al bit menos significativo de un nmero binario expresado en forma complemento a uno. Seleccin Tcnica empleada con frecuencia para eliminar las espigas de decodificacin. Seleccin de la direccin de la columna Seal empleada para fijar la direccin de la columna en una memoria DRAM. Selectores de datos Vase multiplexor. Semisumador Circuito lgico con dos entradas y dos salidas. Las entradas son un bit del cosumando y otro para el adendo, respectivamente. Las salidas son el bit de suma

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

116 producido por la adicin de los bits correspondientes al adendo y al cosumando, y el acarreo (CSAL) que ser sumado en la siguiente etapa. Sigma Letra griega que representa la adicin y que a menudo se emplea para sealar los bits de salida de un sumador paralelo. Sistema analgico Combinacin de dispositivos diseados para operar sobre cantidades fsicas que estn representadas en forma analgica. Sistema binario Sistema numrico en el que slo son posibles dos dgitos: 0 y 1. Sistema de numeracin octal Sistema numrico en base 8; para expresar un nmero en octal se emplean los dgitos desde 0 al 7. Sistema de valores posicionales Sistema en el cual el valor de un dgito depende de su posicin relativa dentro de un nmero. Sistema decimal Sistema numrico que emplea lo diferentes dgitos o smbolos para representar una cantidad. Sistema digital Combinacin de dispositivos diseada para manejar cantidades fsicas que estn representadas en forma digital. Sistema hbrido Sistema que emplea tcnicas tanto analgicas como digitales. Sistema lgico secuencial Sistema lgico en el que los estados lgicos de las salidas as como la secuencia de operaciones dependen de las condiciones de entrada tanto pasadas como presentes. Sistemas sncronos Sistemas en que las salidas de un circuito slo pueden cambiar de estado durante las transiciones de la seal de un reloj. Software de desarrollo para PLD Software que toma el diseo lgico introducido por el usuario y lo traduce a un archivo (grfica de fusibles) de salida para ser transferido al dispositivo programador, que luego acta fundiendo los fusibles adecuados. El software CUPL utilizado en este trabajo es un ejemplo de software de desarrollo de alto nivel. SRGn Cuando se emplea en la etiqueta de un bloque de control comn en un smbolo IEEE/ANSI, seala el CI es un registro de corrimiento de n bits. SSI Pequea escala de integracin (menos de 12 compuertas). Substrato Pieza de material semiconductor que forma parte del bloque bsico de cualquier CI.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

117 Sumador BCD Sumador especial que contiene dos sumadores paralelos de cuatro bits y un circuito de deteccin y correccin. Cada vez que la suma de dos cdigos BCD es mayor que 10012 (910), el circuito de deteccin y correccin se da cuenta de esto, suma al resultado el factor de correccin 01102 (610) y genera un acarreo para la siguiente posicin decimal. Sumador completo Circuito lgico con tres entradas y dos salidas. Las entradas son un bit de acarreo (CENT) que proviene de la etapa previa, un bit de consumando y otro del adendo, respectivamente. Las salidas son el bit de suma y un bit de acarreo (CSAL) generado por la adicin del bit del adendo con el bit del cosumando y CENT. Sumador paralelo Circuito digital formado por sumadores completos y empleado para sumar al mismo tiempo todos los bits del sumando al cosumando. Sustraendo Nmero que se sustrae del minuendo. Tabla de excitacin de un J-K Tabla que muestra las condiciones de las entradas J y K necesarias para cada posible transicin de estado para un slo flip-flop. Tabla de excitacin del circuito Tabla que muestra las posibles transiciones del estado PRESENTE al SIGUIENTE junto con los niveles requeridos J y K en cada flip flop. Tabla de verdad Tabla lgica que contiene las respuestas de un circuito para las diferentes combinaciones de los niveles lgicos en sus entradas. Tamao de paso Vase Resolucin. Tecnologa de bajo voltaje Nueva lnea de dispositivos lgicos que operan a un voltaje nominal de 3.3 Volts. Temporizador 555 CI compatible con TTL que se puede alambrar para que opere en modos diferentes, tales como el monoestable y el astable. Teoremas booleanos Reglas que se aplican en el lgebra booleana para simplificar expresiones lgicas. Teoremas de DeMorgan (1) Teorema que afirma que el complemento de una suma (operacin OR) es igual al producto (operacin AND) de los complementos, y (2) teorema que afirma que el complemento de un producto (operacin AND) es igual a la suma (operacin OR) de los complementos. Tiempo de acceso En una operacin de lectura, tiempo que transcurre entre el momento en que la memoria recibe como entrada una nueva direccin y el instante en que el dato se encuentra disponible en la salida.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

118 Tiempo de estabilizacin Tiempo necesario para que la salida de un convertidor digitalanalgico vaya desde cero hasta la mitad de su valor a escala completa cuando los bits de entrada se cambian desde todos en cero hasta todos en uno. Tiempo de establecimiento Intervalo de tiempo que precede de manera inmediata a la transicin activa de la seal de reloj y durante el que la entrada de control debe mantenerse en el nivel apropiado. Tiempo de retencin Intervalo de tiempo que sigue a la transicin activa del reloj y durante el que deben mantenerse estables los niveles de las entradas de control. Transductor Dispositivo que convierte una variable fsica en una elctrica (por ejemplo, una fotocelda o un termocople). Transferencia asncrona Transferencia de datos realizada sin la ayuda del reloj. Transferencia paralela de datos Operacin mediante la simultneamente todo el contenido de un registro hacia otro. cual se transfiere

Transferencia serial de datos Transferencia de datos de un lugar hacia otro un bit a la vez. Transferencia sncrona Transferencia de datos realizada por las entradas sncronas y de reloj de un flip-flop. Transicin con pendiente positiva (TPP) Ocurre cuando la seal de reloj cambia del 0 lgico hacia el 1 lgico. Transicin falsa (glitch) Cambio momentneo, abrupto y de corta duracin en el voltaje. Transistor activo en nivel alto Vase Transistor de fuente de corriente. Transistor activo en el nivel bajo Vase Transistor de carga de corriente. Transistor de disipacin de corriente Nombre dado al transistor de salida (Q4) de un circuito TTL. El transistor se enciende cuando el nivel lgico de la salida es BAJO. Transistor de suministro de corriente Nombre dado al transistor de salida (Q3) de la mayor parte de los circuitos TTL. Este transistor conduce cuando el nivel lgico de la salida es ALTO. Transitorios de corriente Espigas de corriente generadas por la estructura de salida en forma de ttem de un circuito TTL y que son causados cuando ambos transistores se encienden al mismo tiempo. Transmisin paralela Transferencia simultnea de todos los bits de un nmero binario de un lugar a otro.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

119 Transmisin serial Transferencia de informacin binaria de un lugar hacia otro un bit a la vez. Transparente Trmino que se refiere a la operacin de un registro bsico (latch) tipo D donde la salida Q sigue a la entrada D. Trazador de corriente Herramienta de prueba que detecta un cambio en la corriente que circula por un alambre o sobre la pista de una tarjeta de circuito impreso. TTL de bajo consumo de potencia Subfamilia TTL que emplea el circuito bsico TTL con excepcin de que los valores de todas las resistencias son mayores. TTL Schottky Subfamilia TTL que emplea circuitos estndar TTL con la excepcin de que emplea diodos de barrera Schottky (SBD) conectados entre la base y el colector de cada transistor. TTL Schottky de bajo consumo de potencia Subfamilia TTL que emplea un circuito TTL Schottky idntico pero con valores de resistencia ms grande. TTL (lgica transistor-transistor) Tecnologa de circuito integrado que emplea transistores bipolares como su elemento principal de circuito. ULSI Ultra gran escala de integracin (ms de 100,000 compuertas). Unidad aritmtica-lgica (ALU) Circuito digital utilizado en computadoras para efectuar varias operaciones aritmticas y lgicas. Unidad central de procesamiento (CPU) Parte de una computadora que est compuesta por una unidad aritmtico-lgica (ALU) y una de control. Unidad de carga (UL) Forma en que algunos fabricantes especifican las corrientes de entrada y salida. En un circuito lgico TTL estndar, una unidad de carga es igual a 40 micro Amperes en el estado ALTO mientras que en el estado BAJO sta es igual a 1.6 mili Amperes. Unidad de control Parte de una computadora que se encarga de decodificar las instrucciones de un programa y de proporcionar las seales de temporizacin necesarias para la ejecucin de tales instrucciones. Unidad de entrada Parte de una computadora que facilita la alimentacin de informacin hacia la unidad de memoria o la ALU de la computadora. Unidad de memoria Parte de una computadora que almacena las instrucciones y datos recibidos desde la unidad de entrada as como los resultados obtenidos por la unidad aritmtica-lgica.

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

120 Unidad de salida Parte de una computadora que recibe los datos enviados por la unidad de memoria o la ALU y los presenta al mundo externo. Verificacin por suma total (checksum) Palabra de datos especial que se guarda en la ltima localidad de una ROM. Se obtiene de la adicin de todas las dems palabras de datos que estn en la ROM y se emplea con fines de verificacin de errores. Verificador de paridad Circuito que toma un conjunto de bits (incluyendo el de paridad) y comprueba si ste tiene la paridad correcta. VLSI Muy grande escala de integracin (entre 10,000 y 99, 999 compuertas).

Aprenda PLDs Principios y Aplicaciones.

L. Gerardo Flores R.

Potrebbero piacerti anche