APRENDA PLD's, PRINCIPIOS Y APLICACIONES ELABORADO POR

120
APRENDA PLD’s, PRINCIPIOS Y APLICACIONES ELABORADO POR: ING. LUIS GERARDO FLORES RODRIGUEZ

Transcript of APRENDA PLD's, PRINCIPIOS Y APLICACIONES ELABORADO POR

APRENDA PLD’s, PRINCIPIOS Y APLICACIONES

ELABORADO POR:

ING. LUIS GERARDO FLORES RODRIGUEZ

2 DERECHOS RESRVADOS © 2002 Ing. Luis Gerardo Flores Rodríguez. Esta obra y sus características son propiedad del autor, cualquier reproducción total o

parcial, queda estrictamente prohibida, de acuerdo a los derechos de autor que marca la ley.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

3

Resumen

En el capítulo 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 capítulo dos, se detalla que es la lógica programable, los tipos de PLD’s, ventajas,

limitaciones, selección, nomenclatura, las Macroceldas de salida lógica (OLMC),

fabricantes de PLD’s, y los pasos necesarios para la programación.

En el capítulo tres, se describe el software de desarrollo utilizado en este trabajo, el

WinCUPL (Compilador Universal de Lógica Programable bajo el sistema Windows), este

software de la compañía Logic Devices Co., es uno de los mas populares en el mercado.

En el capítulo cuatro, se menciona los tres posibles métodos de programación en la lógica

combinacional, donde se incluyen un ejemplo en cada método de implementación, dando

explicación paso a paso para su programación.

Y por ultimo, el capítulo cinco nos indica las dos maneras de programación en la lógica

secuencial; por secuencia y por ecuaciones. En ambas formas mostramos un ejemplo

práctico, dando por conclusión el mismo resultado.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

4

Contenido

Derechos de autor

Resumen

Contenido

Figuras

Antecedentes

1. INTRODUCCIÓN.

1.1 Sistemas analógicos y digitales

1.2 Sistemas Numéricos

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 Minitérminos y Maxitérminos

1.6.1 Minitérminos.(Suma de Productos).(Σm).

1.6.2 Maxitérminos.(Productos de Suma).(πM).

1.6.3 Minimización de funciones combinacionales

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

5

1.7 Mapas de Karnaugh

1.7.1 Definición.

1.7.2 Redundancias.(Σd).

2. DISPOSITIVOS LÓGICOS PROGRAMABLES.

2.1 ¿Qué es la lógica 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 PLD’s.

2.3 Limitaciones de las PLD’s.

2.4 Selección del modelo adecuado para cada aplicación.

2.5 Nomenclatura generalizada de las PLD’s.

2.6 PALs programables varias veces : serie PALCExxx y GALs.

2.7 Fabricantes de PALs y GALs.

2.8 Programación de los PLD´s.

Aprenda PLD’s 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 símbolos reservados.

3.4.2.1 Palabras reservadas.

3.4.2.2 Símbolos reservados.

3.4.3 Comentarios.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

7

3.4.4 Notación de listas.

3.4.5 Archivo Plantilla.

3.4.6 Declaración de Pines y Campos.

3.4.6.1 Declaración de pines.

3.4.6.2 Declaración de campos de bits.

3.4.7 Comandos de Preprocesamiento.

3.4.8 Operadores Lógicos.

3.4.9 Extensiones.

3.4.10 Expresiones.

3.4.11 Ecuaciones Lógicas.

4. LOGICA COMBINACIONAL.

4.1 Ejemplo usando tabla de verdad.

4.2 Ejemplo usando ecuaciones booleanas.

4.3 Ejemplo usando el programa esquemático.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

8 5. LOGICA SECUENCIAL.

5.1 La macrocelda lógica 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 máquinas de estados.

5.6 Ejemplo.

5.6.1 Implementación utilizando la secuencia de estados.

5.6.2 Implementación usando ecuaciones minimizadas.

Bibliografía.

Abreviaturas.

Glosario.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

9

Figuras Figura 1.1 Ejemplo de representaciones análogas y digitales.

Figura 1.2 Mapas de Karnaugh.

Figura 1.3 Ejemplo de minimización.

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 Constitución de Macroceldas de salida lógica (OLMC’s) 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 PLD’s.

Figura 3.3 Pantalla general del WinCUPL.

Figura 4.1 Modo de programar el PLD.

Figura 4.2 Pantalla de creación de un nuevo archivo.

Figura 4.3 Pantalla de edición .

Figura 4.4 Pantalla de inserción 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 compilación .

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

10 Figura 4.14 Pantalla de cabecera del WinSim.

Figura 4.15 Pantalla de resultados de la simulación.

Figura 4.16 Minimización de la ecuación.

Figura 4.17 Pantalla de cabecera.

Figura 4.18 Pantalla de Edición .

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 Implementación lógica de la ecuación de números 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 simulación 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 máquinas de estado.

Figura 5.6 Distribución física del problema de control de semáforos.

Figura 5.7 Comportamiento del circuito.

Figura 5.8 Tabla equivalente con valores boléanos.

Figura 5.9 Minimización 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 simulación.

Figura 5.12 Minimización de las salidas de los flip-flop’s “D”.

Figura 5.13 Programa fuente, utilizando ecuaciones lógicas.

Figura 5.14 Resultado de la simulación.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

11

Antecedentes

El incremento de popularidad y de utilización de los dispositivos lógicos programables o

PLDs está siguiendo un proceso solamente comparable al que hace algunos años acompañó

a los microprocesadores. Los PLDs se utilizan en casi todos los nuevos equipos

electrónicos de control, industriales, de consumo, de oficina, de comunicaciones, etc.

Desde finales de la década de los sesenta, los equipos electrónicos digitales se han

construido utilizando circuitos integrados de función lógica fija, realizados en pequeña o

mediana escala de integración. Para las realizaciones muy complejas que exigirían un

número elevado de circuitos integrados (CI) de función fija, se utilizan circuitos diseñados

a medida que sólo sirven para una aplicación. Son los llamados CI específicos a una

aplicación 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 más fiables, consumen

menos energía y en grandes series resultan más baratos que los equipos equivalentes

realizados con CI de función fija. Por otro lado, estos circuitos son muy difíciles de copiar.

Diferentes modalidades de ASICs son; los Circuitos a Medida (Full Custom), las Matrices

de Puertas (Gate Arrays), las Células 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 pequeñas ASICs configurables por el

usuario capaces de realizar una determinada función lógica. La mayoría de los PLD

consisten en una matriz de puertas AND seguida de otra matriz de puertas OR. Mediante

esta estructura, puede realizarse cualquier función como suma de términos productos.

Aunque las memorias PROM, EPROM y EEPROM son PLDs, muchas veces se las excluye

de esta denominación debido a que su contenido se define utilizando elementos de

desarrollo propios de microprocesadores, tales como; ensambladores, emuladores y

lenguajes de programación de alto nivel. Otras veces, cuando estas memorias se usan para

realizar una función lógica y no para guardar un programa de un microprocesador, se las

incluye dentro del término PLD.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

12 Los PLDs están situados en una zona intermedia entre los dispositivos a medida y la lógica

de catálogo formada por los CI de función fija. Tienen casi todas las ventajas de los ASICs

sin estar penalizados por un costo elevado para pequeñas series. Además el ciclo de diseño

con PLDs es mucho más rápido que los de las matrices de puertas o las células

normalizadas. En determinadas aplicaciones, un PLD puede sustituir desde unos pocos

hasta unas decenas de CI de función 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 llevarán a un ASIC más complejo.

El trabajo con PLDs proporciona: facilidad de diseño, prestaciones, fiabilidad, economía y

seguridad.

Las herramientas de soporte al diseño con PLDs facilitan enormemente este proceso. Las

hojas de codificación que se utilizaban en 1975 han dejado paso a los ensambladores y

compiladores de lógica programable (PALASM, AMAZE, ABEL, CUPL, OrCAD/PLD,

etc.). Estas nuevas herramientas permiten expresar la lógica de los circuitos utilizando

formas variadas de entrada tales como; ecuaciones, tablas de verdad, procedimientos para

máquinas de estados, esquemas, etc. La simulación digital posibilita la depuración de los

diseños antes de la programación de los dispositivos. Todo el equipo de diseño 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 conmutación tan rápidos como los

circuitos integrados de función fija más veloces. Los PLDs ECL son todavía más rápidos.

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 tecnología 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 más complejo es un circuito, más probabilidades hay de que alguna de sus partes

falle. Puesto que los PLDs reducen el número de chips en los sistemas, la probabilidad de

un fallo disminuye. Los circuitos impresos con menor densidad de CI son más fáciles de

construir y más fiables. Las fuentes de ruido también se reducen.

En cuanto economía, hay aspectos que resultan difíciles de cuantificar. Por ejemplo, los

costos de pérdida de mercado por una introducción tardía de un producto.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

13 Otros son más claros, por ejemplo, la reducción del área de las placas de circuito impreso

obtenida gracias a que cada PLD sustituye a varios circuitos integrados de función fija.

Muchas veces se consigue reducir el número de placas de circuito impreso economizándose

en conectores. La reducción de artículos en almacén también aporta ventajas económicas.

De la misma manera que para altos volúmenes de producción 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 diseños frente a copias.

Además de los puntos mencionados, podemos añadir que los PLDs facilitan el ruteado de

las placas de circuito impreso debido a la libertad de asignación de patillas que

proporcionan. Permiten realizar modificaciones posteriores del diseño y en ocasiones hacen

posible la reutilización de circuitos impresos con algunos fallos, mediante una reasignación

de los PLDs.

Existen en la actualidad infinidad de arquitecturas diferentes de PLDs y su número se

incrementa día a día. Aunque resulta casi imposible hacer una referencia completa de todos

los tipos de PLDs en el mercado, en este trabajo sólo se presentarán algunas de las más

comunes.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

14 1. INTRODUCCIÓN.

1.1 Sistemas analógicos y digitales. En la ciencia, la tecnología, la administración y, de hecho, muchos otros campos de la

actividad humana, constantemente se manejan cantidades. Estas se miden, monitorean,

registran, manipulan aritméticamente, observan o, en alguna otra forma, se utilizan en

muchos sistemas físicos. Cuando se manejan diversas cantidades es importante que

podamos representar sus valores con eficiencia y exactitud. Existen básicamente dos

maneras de representar el valor numérico de las cantidades: La analógica y la digital.

• Representaciones analógicas.- en la representación analógica, una cantidad se

denota por medio de otra que es proporcional a la primera.

• Las cantidades analógicas tienen una característica importante: Pueden variar

gradualmente sobre un intervalo continuo de valores.

• Representaciones digitales.- las cantidades no se denotan por valores

proporcionales, sino por símbolos denominados dígitos.

ANALÓGICA ≡ CONTINUO DIGITAL ≡ DISCRETO

Figura 1.1 Ejemplo de representaciones análogas y digitales.

• Sistema digital.- es una combinación de dispositivos diseñada para manipular

cantidades físicas o información que estén representadas en forma digital; esto es,

que solo pueden tomar valores discretos.

• Sistemas analógicos.- contienen dispositivos que manipulan cantidades físicas

representadas en forma analógica. En un sistema de este tipo, las cantidades varían

sobre un intervalo continuo de valores.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

15

“Ventajas de las técnicas digitales”.

1. Los sistemas digitales son más fáciles de diseñar.

2. Facilidad para almacenar la información.

3. Mayor exactitud y precisión.

4. Programación de la operación.

5. El ruido afecta en forma mínima a los circuitos digitales.

“Limitaciones de la técnicas digitales”.

Solo un problema: El mundo real es fundamentalmente ANALÓGICO

(velocidad, temperatura, distancia, sonido,... etc).

Cuando se tienen entradas y salidas analógicas, deben seguirse tres pasos para aprovechar

las técnicas digitales:

1. Convertir las entradas analógicas del “mundo real” a la forma digital.

2. Procesar ( realizar operaciones) con la información digital.

3. Convertir de nuevo las salidas digitales a la forma analógica del mundo

real.

Cada vez es más frecuente observar dentro de un mismo sistema el empleo de técnicas

analógicas y digitales para obtener mayor beneficio de ambas. En estos sistemas híbridos,

uno de los aspectos más importantes de la fase de diseño es determinar que partes del

sistema serán analógicos y cuales digitales.

1.2 Sistemas Numéricos. El sistema numérico decimal fue inventado por matemáticos hindúes hace más de dos mil

años y los árabes lo introdujeron al mundo occidental en el siglo trece. Consta de diez

símbolos que van del cero al nueve, introduce el concepto del valor posicional, en el que

cada posición representa la base elevada a una potencia. En base 10 el dígito que se

encuentra en la posición 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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

16 existen muchos otros sistemas numéricos, los cuales comparten con el sistema decimal las

siguientes propiedades:

• El número de símbolos diferentes (dígitos) usados por el sistema es igual a la base.

• El dígito mayor es siempre una unidad menor a la base.

• En cada posición se multiplica el valor del dígito por la base elevada a la potencia

correspondiente. Para un número entero, el último dígito (o sea el de la derecha)

está multiplicado por la base elevada a la potencia cero, el penúltimo está

multiplicado por la base elevada a la potencia uno, el antepenúltimo por la base

elevada a la potencia dos, y así sucesivamente.

• Los acarreos en sumas y restas, se propagan hacia la siguiente posición con mayor

peso ponderal.

El sistema numérico binario solo encuentra aplicación práctica hasta hace

aproximadamente 50 años 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 señal para representar cada dígito.

El sistema binario consta de dos dígitos 0 y 1. Al representar un número entero en

binario la posición de la derecha está multiplicado por 20, la siguiente a 21, la siguiente

por 22, etc.

A cada dígito 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 más significativo”.

Ejemplo.- determine el valor del número 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 razón se emplean

frecuentemente otros sistemas que correspondan a una representación abreviada del sistema

binario. Si se considera que existen 16 posibles combinaciones para un grupo de 4 bits (24 =

16) se tiene que un dígito hexadecimal (base 16) sustituye a cuatro dígitos binarios.

En el sistema hexadecimal trabajamos con 16 símbolos que son los números 0, 1, 2, 3, 4, 5,

6, 7, 8, 9, y las letras A, B, C, D, E, F.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

17 El procedimiento para convertir de binario a hexadecimal requiere solo separar al número

binario en grupos de 4 bits y sustituir cada grupo por el dígito hexadecimal

correspondiente. Para convertir de hexadecimal a binario se invierte el procedimiento.

Ejemplo.- Convertir de binario a hexadecimal el número 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 lógico se

llama tabla de verdad.

Variables lógicas:

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 Símbolo Función lógica F =A*B

Ap

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

A B

F

renda PLD’s Principios y Aplica

ciones. L. Gerardo Flores R.

18 OR.- Tabla de verdad Símbolo Función lógica INVERSOR.- Tabla de verdad Símbolo Función lógica A F F =A 0 1 1 0 1.4.2 Compuertas compuestas.

NAND.- Tabla de verdad lógica NOR.- Tabla de verdad lógica

F

B

Aprenda PLD’s Principios y Aplicaci

A

Símbolo Función

B

on

A B

Símbolo Función

A B

A B

F

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

es. L.

F =A +

Gerar

F = A

F

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

FB A F 0 0 1 0 1 0 1 0 0 1 1 0

F =A+B

do Flores R.

19 XOR.- OR exclusivo.- Tabla de verdad Símbolo Función lógica NOREX.- NOREX.- NOR Exclusivo Tabla de verdad Símbolo Función lógica F

FA B

F =A B + A B = A⊕B

F =A B + A B A

B

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

0 0 1 B A F

0 1 0 1 0 0 1 1 1

1.5 Álgebra Booleana.

Método matemático 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 matemático inglés George Boole

(1815-1864).

Funciones, Leyes y Propiedades del Álgebra Booleana:

Función AND. Función OR. Inversor.

0 * 0 = 0 0 + 0 = 0 0 = 1 0 * 1 = 0 0 + 1 = 1 1 * 0 = 0 1 + 0 = 1 1 = 0 1 * 1 = 1 1 + 1 = 1

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

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

20 Absorción. Identidad. Propiedad de la AND. X + X * Y =X X + X * Y = X + Y X * 0 = 0 X*(X + Y) =X X * (X + Y) = X *Y 0 * X = 0 X * 1 = X 1 * X = X Propiedades de la OR. Combinando. Doble complemento. X + 0 = X X * X = X 0 + X = X X * X = 0 X = X X + 1 = 1 X + X = X 1 + X = 1 X +X = 1 Leyes de Morgan de la complementación. X + Y =X * Y X * Y = X + Y

1.6 Minitérminos y Maxitérminos.

1.6.1 Minitérminos.(Suma de Productos).(Σm)

Una forma de sintetizar una función es a partir de la tabla de verdad.

Suma de productos.- Si en cada término de la función aparecen todas las variables, a esta

expresión se le llama función canónica externa (FCA) o suma de productos estándar.

Ejemplo.-

F (C, B, A) = A +AB + ABC suma de productos.

F (C, B, A) = ABC + ABC + ABC FCA.

A los términos que tienen todas las variables se les llama minitérminos.

Para obtener la FCA partiendo de una tabla de verdad, se procede con lo siguiente:

Se toman los renglones donde la función es 1, si la variable es 1 se deja tal cual, si es cero

se niega, después se suman lógicamente los productos lógicos correspondiente a dicho

renglón.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

21 Ejemplo:

1.6.2 Maxitérminos.(Productos de Suma).(πM)

Cuando en cada término ( producto) aparecen todas las variables se llama maxitérmino y a

la expresión formada por maxitérminos se le llama función canónica conjunta o producto

de suma estándar (FCC).

F(C, B, A) = (A + B)( C + A) productos de suma

F(C, B, A) = (A +B + C)(A + B +C) FCC

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

F = AB +AB

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, después se multiplican lógicamente los maxitérminos asociados a cada renglón.

1.6.3 Minimización de funciones combinacionales.

La tarea de un diseñador lógico consiste en implementar una función lógica al mínimo

costo.

Métodos de Minimización:

• Veitch

• Karnaugh

• Quine McCluskey

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

22 1.7 Mapas de Karnaugh. Así como una tabla de verdad representa una función lógica, en los mapas se asocia un área

a la combinación de las variables y la función se representa por un ”1” o un “0” en dichas

áreas. Mapas de Karnaugh.

Figura 1.2 Mapas de Karnaugh

1.7.1 Definición.

Dos términos son lógicamente adyacentes cuando difieren en una variable

AB C

ABC

DC B A

DCBA

0 1

0

1

0 1

00 01 11 1000 01 11 10

00 01 11 10

0

1

Aprenda PLD’s Principios y Aplicaciones. L.

Cuatro variables.

Tres variables.

únicamente.

Son lógicamente adyacentes

No son lógicamente adyacentes.

Una variable.

Dos variables.

Gerardo Flores R.

23 Una función será mínima cuando contiene el mínimo número de términos y cada término el

número mínimo de variables.

El proceso de Minimización es el siguiente:

Del mapa de Karnaugh se asocia el máximo número de unos (será en potencia de dos, o

sea, 1, 2, 4, 8, …) que sean lógicamente adyacentes entre sí.

El proceso de Minimización se lleva a cabo por una aplicación interactiva del teorema:

AB +AB = A.

El término minimizado contendrá las variables que no cambian, así mismo, los unos que

hayan sido asociados se pueden volver a asociar según el teorema:

A +A = A.

00 01 11 10 00 1 0 0 0 01 1 1 1 0 11 1 1 1 0 10 1 0 0 0

F = WY +WX

Figura 1.3 Ejemplo de minimización.

1.7.2 Redundancias.(Σd)

En ciertas ocasiones la función no depende de ciertas combinaciones de las variables de

entrada, ya que estas combinaciones no se presentan. Se dice que el valor de la función “ no

importa” (don’t care). En la columna de salida esto se representa por los siguientes

símbolos y se les llama redundancias:

X

Redundancias ∅

*

En el proceso de mini

convenga.

Aprenda PLD’s Princip

mización la redundancia se toma como uno ó como cero según más

ios y Aplicaciones. L. Gerardo Flores R.

24 Ejemplo.- Implementar la siguiente función:

F = Σm(0, 3, 4, 8, 12) + Σd(1, 2, 10)

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

F = AB + CD

D C B A

F

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

25 2. DISPOSITIVOS LÓGICOS PROGRAMABLES.

2.1 ¿Qué es la lógica programable?. La lógica programable, como el nombre implica, es una familia de componentes que

contienen conjuntos de elementos lógicos (AND, OR, NOT, LATCH, FLIP-FLOP) que

pueden configurarse en cualquier función lógica 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 PLD’s

surgieron como un compromiso entre desempeño 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 pérdida de un poco de flexibilidad eso se compensa mediante la

oferta de varias configuraciones básicas y la incorporación de las GALs, sobre las cuales

trataremos unas líneas más adelante.

Hay varias clases de dispositivos lógicos programables: ASICs, FPGAs, PLAs, PROMs,

PALs, GALs, y PLDs complejos.

2.1.1 ASIC.

ASIC significa Circuitos Integrados de Aplicación Específica y son dispositivos definibles

por el usuario. Los ASICs, al contrario que otros dispositivos, pueden contener funciones

analógicas, digitales, y combinaciones de ambas. En general, son programables mediante

máscara o sea, que los fabricantes configuran el dispositivo según las especificaciones del

usuario, y no por el usuario. Se usan para combinar una gran cantidad de funciones lógicas

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 teléfonos celulares, juegos de video,...,etc.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

26 2.1.2 PROM.

Las PROM son memorias programables de sólo lectura. Aunque el nombre no implica la

lógica programable, las PROM, son de hecho lógicas. La arquitectura de la mayoría de las

PROM consiste generalmente en un número fijo de términos AND que alimenta una matriz

programable OR. Se usan principalmente para decodificar las combinaciones de entrada en

funciones de salida.

Aprenda

“AND” FIJA

“OR” PROGRAMABLE

Figura 2.1 Arquitectura elemental del PROM

PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

27 2.1.3 PAL.

Las PAL son dispositivos de matriz programable. La arquitectura interna consiste en

términos AND programables que alimentan términos OR fijos. Todas las entradas a la

matriz pueden ser combinadas mediante AND entre si, pero los términos AND específicos

se dedican a términos OR específicos. Las PAL tienen una arquitectura muy popular y son

probablemente el tipo de dispositivo programable por usuario más empleado. Si un

dispositivo contiene macrocélulas, comúnmente tendrá una arquitectura PAL. Las

macrocélulas típicas pueden programarse como entradas, salidas, o entrada / salida (E/S)

usando una habilitación tri-estado. Normalmente tienen registros de salida que pueden

usarse o no conjuntamente con el pin de E/S asociado. Otras macrocélulas tiene más de un

registro, varios tipos de retroalimentación en las matrices, y ocasionalmente realimentación

entre macrocélulas.

“AND” PROGRAMABLE

“OR” FIJO

Figura 2.2 Arquitectura elemental del PAL.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

28 2.1.4 GAL.

Las GAL son dispositivos de matriz lógica genérica. Están diseñados para emular muchas

PAL pensadas para el uso de macrocélulas. Si un usuario tiene un diseño 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 número de dispositivos

diferentes en existencia y aumenta la cantidad comprada. Comúnmente, una cantidad

grande del mismo dispositivo debería rebajar el costo individual del dispositivo. Estos

dispositivos también son eléctricamente borrables, lo que los hace muy útiles para los

ingenieros de diseño.

2.1.5 PLA.

Las PLA son matrices lógicas programables. Estos dispositivos contienen ambos términos

AND y OR programables lo que permite a cualquier término AND alimentar cualquier

término OR. Las PLA probablemente tienen la mayor flexibilidad frente a otros

dispositivos con respecto a la lógica funcional. Normalmente poseen realimentación desde

la matriz OR hacia la matriz AND que puede usarse para implementar máquinas de estado

asíncronas. La mayoría de las máquinas de estado, sin embargo, se implementan como

máquinas síncronas. Con esta perspectiva, los fabricantes crearon un tipo de PLA

denominado Secuencial (Sequencer) que posee registros de realimentación desde la salida

de la matriz OR hacia la matriz AND.

Figura 2.3 Arquitectura elemental de un PLA.

Aprenda PLD’s 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 Lógica

Programable. Se consideran PAL muy grandes que tienen algunas características de las

PLA. La arquitectura básica es muy parecida a la PAL con la capacidad para aumentar la

cantidad de términos AND para cualquier término OR fijo. Esto se puede realizar quitando

términos AND adyacentes o empleando términos AND desde una matriz expandida. Esto

permite que cualquier diseño 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 eléctricamente programables que contienen múltiples niveles de lógica. Las FPGA

se caracterizan por altas densidades de puerta, alto rendimiento, un número grande de

entradas y salidas definibles por el usuario, un esquema de interconexión flexible, y un

entorno de diseño similar al de matriz de puertas. No están limitadas a la típica matriz

AND-OR. Por contra, contienen una matriz interna configurable de relojes lógicos (CLBs)

y un anillo de circunvalación de bloques de E/S (IOBs).

Cada CLB contiene lógica programable combinacional y registros de almacenamiento. La

sección de lógica combinacional es capaz de implementar cualquier función 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. También contiene flip-flops que pueden usarse

como buffers de entrada y salida. Los recursos de interconexión son una red de líneas 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 líneas

cercanas. Las líneas largas recorren la anchura o longitud entera del dispositivo,

estableciendo intercambios para proporcionar una distribución de señales críticas con la

mínima demora o distorsión.

Los diseñadores que usan FPGAs pueden definir funciones lógicas en un circuito y revisar

estas funciones como sea necesario. Así, las FPGAs pueden diseñarse y verificarse en unos

días, a diferencia de las varias semanas necesarias para las matrices de puerta

programables.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

30

2.2 V

Apren

Figura 2.4 Arquitectura elemental de un FPGA.

entajas del uso de PLD’s.

• Reducción de retardos de propagación de las lógicas.

• Reducción del número de puntos de soldadura y de cables o pistas. Con

ello se logra aumentar la confiabilidad.

• Facilidad para cambiar el diseño.

• Menor número de circuitos integrados, y por ende, disminución del

consumo de energía y de las fuentes posibles de ruido y aumento de la

confiabilidad del circuito.

• Menor superficie ocupada en la placa.

• Protección del diseño (fusible de seguridad).

• Su tiempo de propagación ronda los 5 a 10 ns, equivalente al de las

compuertas que puede reemplazar; pero con una sola PLD se pueden

da PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

31

reemplazar varios niveles o retardos de compuertas.

• Facilidad de diseño y montaje.

• Reducción de la variedad de circuitos integrados usados en el circuito,

disminuyendo su costo de producción seriada.

• Optimización del diseño a bajo costo.

2.3 Limitaciones de las PLD’s.

• Las PAL son OTP, es decir, sólo se pueden programar una vez.

• Su precio es un poco mayor a las compuertas simples o

compuestas.

• No se encuentran comúnmente en tiendas comerciales de

electrónica.

• Dado que el número de minitérminos es limitado, algunas lógicas

necesitarían varios PLD’s para ser implementadas y quizás resulta más

simple y menos costoso implementarla con compuertas.

2.4 Selección del modelo adecuado para cada aplicación. Características a evaluar:

• Número de entradas.

• Número de salidas.

• Número de líneas 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.

• Número de minitérminos.

• Realimentación de salidas.

• Macroceldas.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

32 2.5 Nomenclatura generalizada de las PLD’s. Tecnología:

PAL = Programmable Array Logic (TTL) GAL = Generic Array Logic (E2CMOS) PL = Factory Programmed PAL Número 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) Número de Salidas Velocidad: Sin símbolo = 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 Cerámica 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 más caras que las PALs pero pueden

implementar diseños hechos para varios tipos de PALs. No necesitan ser borradas

previamente a su programación y permiten la reprogramación en campo de pruebas. Los

circuitos PALCExxx son PLDs de la compañía Advance Micro Devices (AMD), son

equivalentes a los circuitos GALs de la compañía Lattice. Los PALxxVxx son

reprogramables, donde la compañía Altera tiene EEPLDs (Eléctricamente borrables).

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

33 A continuación se pueden ver tres figuras, que muestran las estructuras de las GAL16V8 y

GAL20V8 y la constitución de sus macroceldas (OLMCs).

Figura 2.5 Estructuras de las GAL16V8 y GAL20V8.

Figura 2.6 Constitución de Macroceldas de salida lógica (OLMCs) de un GAL.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

34 2.7 Fabricantes de PALs y GALs.

• AMD.

• Altera.

• Atmel.

• Lattice.

• Texas Instruments.

• Xilinx.

2.8 Programación de los PLD´s.

Se necesitan algunos equipos para diseñar y construir circuitos con el empleo de PLD:

• Computadora personal (PC)

• Software para creación y desarrollo de PLD (WinCUPL, ABEL,...,etc)

• Aparato o dispositivo programador (Programador de PLD’s)

• Software para excitar el aparato programador (Software del programador de

PLD’s).

• Dispositivo de lógica programable (PAL, GAL,...,etc.)

En la figura 2.7 se muestra una disposición típica para programación. La PC, en la cual se

corre el software para desarrollo, traduce el diseño de entrada a un archivo llamado

“trazado de fusibles”. Este archivo es como un mapa que muestra cuáles fusibles se deben

fundir para abrirlos en un dispositivo programable y cuáles deben permanecer intactos.

Luego, el trazado de fusibles se traduce a un formato de archivo de salida adecuado para

transmisión al aparato de programación de dispositivos.

En seguida, se llama en la PC al software de programación que se comunica con el aparato

de programación. Esto permite al usuario informar al aparato de programación el tipo de

dispositivo

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

35 que se va a programar. Después se envía 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 envía la orden desde la computadora para programar la pieza.

Figura 2.7 Sistema necesario para el desarrollo de un PLD.

Los aparatos para programación 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 inserción (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 número de PLD.

Afortunadamente, conforme hubieron más piezas programables, los fabricantes sintieron la

necesidad de uniformizar (“estandarizar”) las asignaciones de terminales y los métodos de

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

36 programación. Como resultado, se constituyó el Joint Elearonic Device Engineering

Council (JEDEC). Uno de los resultados fue la norma (“estándar”) JED, un formato normal

para transferir los datos de programación para los PLD, independientes de cualquiera que

fuere el fabricante del dispositivo o el software de programación. También 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 programación pueden programar numerosos tipos de PLD. El software que permite al

diseñador especificar una configuración para un PLD, sólo 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 diseño al aparato programador

de PLD sería muy tedioso si se hiciera a mano. En los últimos 10 años se ha producido

software de desarrollo que permiten al usuario utilizar su diseño en alguna forma

conveniente y, luego, crear en forma automática el archivo JEDEC para el dispositivo

especificado.

Aprenda PLD’s 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 más

adelante, utilizaremos uno de los compiladores disponibles de alto nivel de uso más extenso

en la actualidad, se llama WinCUPL, se puede adquirir de la compañía Logical Devices. El

WinCUPL puede producir archivos de programación para una gran variedad de dispositivos

programables.

Este software de desarrollo esta constituido de cuatro módulos diferentes :

WinCUPL .- Es la comunicación con el usuario y cuenta con todas las herramientas de la

compilación.

WinSim.- Simula gráficamente el diseño del usuario para su verificación, antes de

programar el dispositivo programable.

Schematic.- Esta herramienta es usada para crear un diagrama esquemático, muy útil para

el análisis inicial del diseño. Si el diagrama pasa la validación del proceso,

crea un código fuente, el cual deberá ser compilado y simulado.

SMCupl.- Esta es una herramienta para crear diagramas de estado, (máquinas de

estado). Si el proceso de validación es aceptado, se genera un archivo fuente,

que será compilado y simulado después.

Aprenda PLD’s 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 diseño usando WinCUPL.

.PLD Archivo fuente

.SI Archivo simulación

.DOC Archivo documento. Ecuaciones, matriz de fusibles

.LST Archivo con la lista de errores

.MX Archivo macro expansión

.SO Archivo salida del simulador

.ABS Archivo absoluto ( Diseño en forma binaria)

.JED(1) Archivo JEDEC sin vectores

.JED(2) Archivo JEDEC con vectores

.HL Archivo en formato para los PLD’s Signetics

.HEX Archivo ASCII

.PLA Archivo en formato PALASM de Berkeley

WinSim SMCupl Schematic WinCUPL

Descripción de las extensiones de los archivos

Figura 3.1 Flujo de datos del WinCUPL

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

39 3.2 Ciclo de "desarrollo".

El primer paso en cualquier diseño es la definición minuciosa del problema y su alcance. El

resultado de este paso son las etiquetas para todas las entradas y salidas. También se define

la relación entre todas las entradas y salidas y se puede expresar en numerosas formas, tales

como tablas de verdad, tablas de estado, ecuaciones lógicas e incluso diagramas lógicos. 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 compilación se produce un buen número de diferentes archivos de salida.

El archivo de documentación (DOC para el CUPL) contiene cualquier mensaje de error

generado por el compilador. El archivo de trazado de fusibles muestra el patrón real de

fusibles que se fundirán para unirlos en el dispositivo programable. Este archivo también se

puede convenir al archivo JEDEC que utilizará el programa (es decir, el aparato de progra-

mación).

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

diseño con el empleo de un simulador; éste es un programa de computadora que calcula los

estados lógicos de salida con base en la descripción del circuito lógico y de las entradas en

curso. Se produce un grupo de entradas hipotéticas que probarán que el dispositivo trabaja

como se espera. Se les llama vectores de prueba. Si estos vectores son lo suficientemente

minuciosos, se puede probar el diseño antes de programar el primer dispositivo. Cuando el

diseñador está convencido que el diseño funcionará, se genera el archivo JEDEC y se llama

al software de programación. El archivo JEDEC sirve como archivo de entrada para el

programador y el PLD se coloca en el aparato programador. Muchos aparatos

programadores también tienen capacidad no sólo de programar la pieza, sino también de

corregir los vectores de prueba en la entrada, mientras que vigila la salida. Con esto se

comprueba que el PLD funcionará a la perfección. Después se coloca el PLD en un circuito

y se prueba su funcionamiento con todos los componentes periféricos. En el diagrama de

flujo de la figura 3.2 se demuestra el proceso completo para el proceso de desarrollo.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

40

No

¿Hay errores?

Solución de errores

Determinar falla del diseño

Editar archivo fuente

Compilar

Crear archivo fuente

¿Hay

Figura 3.2 Diagr

Aprenda PLD’s Principios y Ap

Prueba e

Program

problemas?

¿Func

ama de flujo d

licaciones.

No

No

n el circuito

ar el PLD

iona?

el ciclo de desarrollo de PLD’s.

L. Ger

HECHO

Crear archivo JEDEC

Simular

Diseño

ardo 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.

Sección de notificación de errores.

Sección de archivos generados.

Sección de edición.

Figura 3.3 Pantalla general del WinCUPL.

Menú de comandos de archivo.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

42

3.3.1 Comandos de la barra de herramientas.

Aprenda PLD’s

Pegar. Compila dependiendo del dispositivo.

P

Cortar. Copiar.

Abrir un nuevo archivo. Abrir un archivo existente.

Salvar archivo. Imprimir.

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).

rincipios y Aplicaciones. L. Gerardo Flores R.

43 3.3.2 Comandos del menú File:

El me ú frece los siguientes comandos: n File o

ecto ó archivo texto.

.

vo nombre.

rtos.

istente.

oject

Import Importa archivo fuente escrito en un lenguaje diferente y lo convierte a

etup impresora seleccionada.

... s activos más recientemente usados.

xit Salir del WinCupl.

New Crea un nuevo diseño, proy

Open Abre un archivo existente

Close Cierra la ventana activa.

Save Salva el archivo activo.

Save As Salva el archivo activo con un nue

Save All Salva todos los archivos abie

Open Project Abre un proyecto ex

Close Pr Cierra el proyecto.

código fuente del CUPL.

Export Exporta código fuente CUPL a otro lenguaje.

Print S Envía el documento activo a la

Print Imprime el documento activo.

MRU Contiene los archivo

E

Aprenda PLD’s 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

tes com

comando o acción del comando.

do.

t

laza

Update Macro Symbol Table Actualiza el macro-símbolo de la tabla a macro-

aria.

entas.

ar

siguien andos:

Undo Invierte la última edición del

Cut Borra el texto seleccionado.

Copy Copia el texto seleccionado.

Paste Pega el texto selecciona

Find Buscar texto.

Find Nex Sigue buscando texto.

Replace Encuentra y remp el texto por otro.

Insert CUPL Macro Reference Inserta un macro-referencia del CUPL.

Insert CUPL Macro Definition Inserta un macro-definición del CUPL.

referencia.

Insert Table Inserta una tabla bin

3.3.4 Comandos del menú View:

El menú de comandos View ofrece las siguientes opciones:

Toolbar Presenta o esconde la barra de herrami

Status B Presenta o esconde la barra de status.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

45 Projec Presenta o esconde la vet ntana del proyecto al lado derecho del usuario.

formatos desplegados en el editor.

CUPL.

r

.

del medio ambiente del WinCUPL.

l dispositivo.

omp

el circuito

mente.

HDL Analysis Corre el análisis de un archivo VHDL.

Font Cambia el tipo de letra.

Refresh Actualiza los colores y

3.3.5 Comandos del manú Options:

El menú de Options ofrece los siguientes comandos:

Compiler Activar las opciones del compilador

Simulato Activar las opciones del simulador.

VHDL Activar las opciones de análisis y compilación del VHDL

WinCUPL Activar las opciones

3.3.6 Comandos del menú Run:

El menú Run ofrece los siguientes comandos:

Device Dependent Compile Compila dependiendo de

Device Independent Compile C ila virtualmente.

Device Dependent Simulation Simula dependiendo d

Device Independent Simulation Simula virtual

VHDL Compile Compila un archivo VHDL.

V

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

46 3.3.7 Comandos del menú Utilities:

El menú U ies ofrece los siguientes cotilit mandos:

tition.

ramientas dwl Win CUPL.

ind w ofre

da.

.

nos de ventanas cerradas.

n .

bout WinCupl Despliega el número de versión para esta aplicación.

BackPin Corre la utilería BackPin.

PlPartition Configura y corre la utilería PlPar

ISP Download Corre la utilería ISP Download.

CUPL Tools Despliega las cuatro her

3.3.8 Comandos del menú Window:

El menú W o ce los siguientes comandos:

Cascade Despliega las ventanas en forma de casca

Tile Horizontal Despliega las ventanas horizontalmente

Tile Vertical Despliega las ventanas verticalmente.

Arrange Icons Despliega íco

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 O Despliega el díalogo de búsqueda para temas de ayuda

A

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

47

acteres alfanuméricos (strings) que especifican los pines del elemento,

odos internos, constantes, señales de entrada, señales de salida, señales intermedias o

as variables pueden iniciar con un número, un carácter alfabético o un subrayado (_), pero

o se aceptan espacios dentro de un nombre de variable. Use el subrayar para separar

as variables no pueden contener un símbolo reservado del CUPL. (Mas adelante están

s introducidas en el archivo fuente deben ser escritas con sintaxis inglesa,

l CUPL no entiende las tildes, la ~, los apóstrofes, la diéresis, etc. No los permite aún en

.4.2 Palabras y símbolos reservados.

3.4 Elementos del lenguaje. 3.4.1 Variables.

Son cadenas de car

n

estados de señales.

L

debe contener al menos un carácter alfabético.

Las variables distinguen entre las mayúsculas y las minúsculas.

N

palabras.

Las variables pueden contener hasta 31 caracteres.

L

listados).

No pueden usarse palabras reservadas del CUPL como nombres de variables.

Todas las palabra

e

los comentarios.

33.4.2.1 PALABRAS RESERVADAS

APPEND FORMAT PIN

ASSEMBLY FUNCTION PINNODE

ASSY IF PRESENT

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

48

SEQUENCET

FIELD OUT TABLE

-

( ^ =

'

.4.3 Comentarios.

ímbolos /* y */.

a lista es comúnmente usada en la declaración de pines y nodos, campos de bits,

ecuaciones lógicas y operacio es como sigue:

le, variable, .., variable]

ables.

COMPANY JUMP REV

CONDITION LOC REVISION

DATE LOCATION SEQUENCE

DEFAULT MACRO SEQUENCED

DESIGNER MIN SEQUENCEJK

DEVICE NAME SEQUENCERS

ELSE NODE

FLD PARTNO

3.4.2.2 SÍMBOLOS RESERVADOS.

& + [ /*

* . ] */

: , ¨ /

; $ !

@

# )

3

Van encerrados entre los s

3.4.4 Notación de listas.

L

nes de agrupamiento. El formato

[variab

donde:

[ ] denotan un conjunto de vari

Ejemplos:

[UP, DOWN, LEFT, RIGHT]

[A0,Al,A2,A3]

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

49

un conjunto de variables indicadas secuencialmente se colocan de menor a

eso, así:

del índice serán removidos, es decir:

00..03] será leído como [A0, Al, A2, A3] no como [A00, A0l, A02, A03].

ribirse como:

ntilla. e asiste al usuario en la edición del archivo fuente y que se muestra a

;

ion XXXXX;

************************************************************/

arget Device Types: */

******************************************************/

Cuando es

mayor p

[Variable m. .n]

Ejemplo:

[A0..3]

Los ceros a la izquierda

[A

La lista [A0. .7] puede esc

[A0..2, A3, A4, A5..7]

3.4.5 Archivo PlaEs un archivo quontinuación: c

ame XXXXX; N

artno XXXXXP

ate XX/XX/XX; D

evision XX; R

esigner XXXXX; D

ompany XXXXX; C

ssembly XXXXX; A

ocatL

****/

* */ /

* */ /

****************************************************************/ /

* Allowable T/

**********/

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

50

* Inputs **/

in = ; /* */

in = ; /* */

in = ; /* */

in = ; /* */

in = ; /* */

* Declarations and Intermediate Variable Definitions **/

/** g

Este archivo contiene las siguientes secciones:

• Información de cabecera : Palabras reservadas acompañadas de XXXs que se

La declaración NAME es muy importante, pues el nombre que se escriba aquí será

compilación. (.LST,

Un ejem la información de cabecera es el siguiente:

/* P P P Pin = ; /* */ Pin = ; /* */ /** Outputs **/

P P Pin = ; /* */ Pin = ; /* */

/*

Lo ic Equations **/

reemplazan con los textos que identificarán el archivo para hacer revisiones

posteriores.

el mismo con el que se generarán todos los archivos durante la

.DOC, .JED, etc.).

plo del formato de

Name CODER

Partno P9000285;

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

51

s;

Location none;

Device P22V10;

Format j;

a compañía, (como el NIT).

chivo.

programada.

Location : código de localidad estadounidense. Nosotros la declaramos "none".

l archivo plantilla provee todas las declaraciones excepto DEVICE y FORMAT. Estas son

i se deja alguna información sin declarar el CUPL emite un mensaje, pero continúa con la

com l

en este

Revision 02;

Date 10/14/95;

Designer Gerardo Flore

Company U A de C;

Assembly none;

• Partno : identifica el número de un

• Revisión : aumenta su número cada vez que se entra en el ar

• Date: se renueva cada vez que se entra en el archivo.

• Designer : nombre del diseñador.

• Assembly : tarjeta PC donde trabajará la PLD

• Device : código de la PLD a utilizar.

• Format: formato en el cuál se va a compilar.

E

opcionales de ser declaradas, al fin y al cabo, en el momento de correr CUPL deben

declararse.

S

pi ación. No ocurre lo mismo si se utilizan símbolos que indican acento (como tildes),

caso se emite el mensaje y la compilación se detiene.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

52

• Declaración de pines: Palabras reservadas y operadores propios del formato de

as líneas /*Input*/ y /*Output*/ son sólo de lectura y no interfieren en la compilación, así

que

utilizan no se debe caer en el error

e declararlos dos veces, pues se causaría un error de compilación.

• e variables intermedias : Espacio para declarar campos

de bits (registros) y para escribir ecuaciones intermedias.

• cio para escribir las ecuaciones lógicas que describen el

3.4.6.1 Declaración de pines.

Declarar los pines es definir los nom ue se asignan a los números de pin

an a utilizar. Cada elemento en la librería tiene los pines ya numerados.

PIN pinn = [!]var;

donde:

inn es un número decimal, o una lista de números agrupados usando la notación de listas,

• Bloque titular: Símbolos de comentarios que encierran un espacio para llenarlo con

la descripción del diseño que se va a implementar y las posibles PLDs que aceptan

tal diseño.

declaración de pines de entrada y salida. Espacios de comentario para describir las

funciones de cada pin. Las líneas sobrantes de declaración de pin deben ser

removidas, de otra forma se producirá un error de sintaxis en la compilación.

L

se pueden declarar los pines como se desee. Esta aclaración se hace por que a veces se

pines que hacen la función de entrada y salida a la vez y

d

Declaraciones y definición d

Ecuaciones lógicas: Espa

funcionamiento de la PLD.

3.4.6 Declaración de Pines y Campos.

bres de variables q

que se v

El formato para declarar un pin es el siguiente:

p

que es:

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

53

[pinn1, pinn2, pinn3,…, pinnn]

es el operador de asignación

ar es un nombre de variable ó una lista de nombres de variables usando la notación de

stas, así:

laración.

pines son:

in 1 = clock; /*Reloj de registro*/

o) no se especifica en la

eclaración de los pines. El compilador infiere la naturaleza del pin durante el proceso

siguiendo la e nombre de variable de dicho pin. Si la

ror denotando el uso impropio del pin.

3.4.6.2 Declar

laración de campos de bits asigna un nombre de variable a un grupo de bits. El

LD var = [var, var, var,..., var];

! es un signo de admiración opcional que define la polaridad de la señal de entrada ó salida.

=

v

li

[var1 ,var2,..,varn]

; es el punto y coma que marca el fin de la dec

Algunos ejemplos de declaraciones válidas de

p

pin 2 = !enable; /*Habilita I/O de la puerta*/

pin[3,4] = ! [stop,go] /*Control de señales*/

pin[5..7] = [a0..2] I*Direcciona bits 0-2*/

La naturaleza del pin (entrada, salida ó bidireccionamient

d

specificación lógica hecha para el

especificación lógica y las características físicas del integrado son incompatibles, CUPL

exhibe un mensaje de er

ación de campos de bits.

Una dec

formato es el siguiente

FIE

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

54

IELD es una palabra reservada.

ar es un nombre válido de variable.

es el operador de asignación.

a que marca el fin de la declaración.

efinición de variables intermedias" del archivo fuente y provista por el archivo plantilla.

.

pera sobre el archivo fuente antes de ser pasado

ciones del compilador. La siguiente es una lista de

cesamiento disponibles:

IF $UNDEF

$IFDEF

os es el primer carácter en todos los comandos de preprocesamiento y debe ser

$DEFINE.

ste comando reemplaza un string de caracteres por un número, símbolo u otro operador

o. El formato es como sigue:

donde:

F

v

=

; es el punto y com

La declaración de campos de variables se coloca en la sección de "declaraciones y

d

Después de asignado un nombre de variable a un grupo de bits, puede usarse el nombre en

una expresión. La operación especificada en la expresión es aplicada a cada bit en el grupo.

3.4.7 Comandos de Preprocesamiento

La parte de preprocesamiento de CUPL o

por el evaluador gramatical y otras sec

los comandos de prepro

$DEFINE $IFNDEF

$ELSE $INCLUDE

$END

El signo pes

usado en la columna uno de la línea. Se puede escribir el comando en mayúsculas ó en

minúsculas.

E

especificad

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

55

$DEFINE argumento1 argumento2

UNDEF.

cancela una instrucción $DEFINE. El formato es como sigue:

$UNDEF argumento

$INCLUDE.

ste comando incluye un archivo especificado en el archivo fuente para ser procesado por

formato es como sigue:

$INCLUDE archivo

$IFDEF.

ste comando compila condicionalmente secciones de un archivo fuente. El formato es

$IFDEF argumento

$IFNDEF.

ste comando condiciona la compilación de secciones en el archivo fuente. El formato es

omo sigue:

$ENDIF.

ste comando finaliza una condición de compilación inicializada con los comandos

IFDEF ó $IFNDEF. El formato es como sigue:

$ENDIF

$

Este comando

E

CUPL. El

E

como sigue:

E

c

$IFNDEF argumento

E

$

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

56

ELSE.

Este comando invierte las condiciones de ión definidas con los comandos $IFDEF

mo sigue:

radores Lógicos.

sadas para expresiones booleanas.

a sigu na li e os ope en su orden de mayor a menor prioridad en el

pl ipción

& A&B AND

A#B OR

riables para indicar funciones específicas

sociadas con los nodos internos principales de las PLDs. La siguiente es una lista de las

r verifica el uso de la extensión para

rm

.

.

$

compilac

ó $IFNDEF. El formato es co

$ELSE

3.4.8 Ope

CUPL maneja las cuatro operaciones básicas estándar u

L iente es u sta de s radores

paquete.

Operador Ejem o Descr

! !A NOT

#

$ A$B XOR

3.4.9 Extensiones.

Se pueden adicionar extensiones a nombres de va

a

extensiones soportadas por CUPL. El compilado

dete inar si es válida para la PLD especificada.

Extensión Descripción

.D Entrada D de un flip-flop tipo D.

.L Entrada D de un lazo transparente.

.J Entrada J de un flip-flop tipo JK.

.K Entrada K de un flip-flop tipo JK.

.S Entrada S de un flip-flop tipo SR

.R Entrada R de un flip-flop tipo SR.

.T Entrada T de un flip-flop tipo T

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

57

.

te.

flop.

flop.

).

tro D.

.

gistro T.

in.

KMUX Seleccionar como reloj de multiplexor.

solamente los flip-flops que físicamente se encuentran internamente

os en ellas. Cuando los operadores en la expresión tienen el mismo nivel de

.DQ Salida Q de un flip-flop tipo D

.LQ Salida Q de un lazo transparen

.AP Preset asíncrono de flip-flop.

.AR Reset asíncrono de flip-flop.

.SP Preset síncrono de flip-flop.

.SR Reset síncrono de flip-

.CK Reloj programable de flip-

.OE Salida de habilitación programable.

.CA Matriz complemento.

.PR Precargado programable.

.CE Entrada CE de un flip-flop tipo D-CE habilitado.

.LE Lazo habilitado programable.

.OBS Observabilidad programable de nodos internos.

.BYP Dirección de registro programable (register bypass

.DFB Selección de ruta de realimentación de regis

.LFB Selección de ruta de realimentación de lazo D

.TFB Selección de ruta de realimentación de re

.IO Selección de ruta de realimentación de p

.INT Selección de ruta de realimentación interna.

.C

.OEMUX Seleccionar tri-estado del multiplexor.

.TEC Selección de fusible dependiendo de la tecnología.

El compilador acepta

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 expresión puede estar compuesta de sub-expresiones.

Las expresiones son evaluadas de acuerdo al nivel de prioridad de los operadores

involucrad

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

58

pueden ser utilizados

ara cambiar el orden de la evaluación; la expresión en el interior del paréntesis se evalúa

rimero.

a siguiente lista muestra el orden de evaluación de las expresiones:

prioridad la evaluación se hace de izquierda a derecha. Los paréntesis

p

p

L

Expresión Resultado

A#

&C B

A#B&C

!(A&B)

A#B&(C#D)

!A&B

(A#B)&C

A#B&C#D

Aprenda PLD’s Principios y Aplicaciones.

A&C

# B&C

!A&B

!A

A#

#!B

D# B&C

A#

B&C # B&D

L. Gerardo Flores R.

59 3.4.11 Ecuaciones Lógicas.

ato para las ecuaciones lógicas es el siguiente:

:

ndo se usa una lista de variables la expresión es aplicada a cada variable de la

s.

es el operador de asignación; este asigna el valor de una expresión a una variable ó grupo

l operador complemento puede ser usado para expresar la ecuación en lógica negativa. El

lementada antes de ser asignada a la variable.

e nodo), pues

ueden ser escritas para un nombre de variable arbitrario. Una variable definida de esta

as variables intermedias se colocan en la sección de "declaraciones y definición de

provista por el archivo plantilla.

El form

[!]var[.ext] = exp;

donde

var es un nombre de variable ó una lista de nombres de variables usando la notación de

listas. Cua

lista.

.ext es una extensión opcional para asignar una función a los nodos principales internos de

una PLD.

exp es una expresión, es decir, una combinación de variables y operadore

=

de variables.

! es un signo de admiración opcional que define la polaridad de la señal.

E

operador se antepone al nombre de variable (sin espacios) y denota que la expresión al lado

derecho de la ecuación será comp

Las ecuaciones lógicas se colocan en la sección "Ecuaciones Lógicas" del archivo fuente y

provista por el archivo plantilla.

Las ecuaciones lógicas no están limitadas solamente a variables de pin (ó d

p

manera es una variable intermedia. Utilizando variables intermedias se producen,

generalmente, archivos fuente con mayor facilidad de lectura y comprensión.

L

variables intermedias" del archivo fuente y

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

60 4. LOGICA COMBINACIONAL Hay tres formas de programar el PLD en la lógica combinacional:

- Tabla de verdad.

-

Figura 4.1 Modo de programar el PLD.

- Ecuaciones Booleanas.

Diseño esquemático.

61

im ir del menú File

New> , como se m

de detectar el número primo de tres bits, donde A, B, y C

y salidas,

sin pinnodes, nos carga el WinCUPL el editor, como se muestra en la figura 4.3:

4.1 Ejemplo usand

El pr

o tabla de verdad.

er paso para crear un archivo PLD es abrir un nuevo diseño al oprim

uestra en la figura 4.2: <

Figura 4.2 Pantalla de creación de un nuevo archivo.

La práctica que haremos, es la

son las entradas y X la salida.

Después de llenar la cabecera de información, donde especificamos las entradas

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

62

Figura 4.3 Pantalla de edición.

Después en la pantalla de edición se declaran los valores de los pines:

/* ********************** INPUT PINS **************************/

PIN 2 = C ; /*ENTRADA C */

PIN 3 = B ; /*ENTRADA B*/

PIN 4 = A ; /*ENTRADA A*/

/* ********************** OUTPUT PINS ************************/

PIN 12 = X ; /*SALIDA X*/

Para crear la tabla de verdad, seleccionaremos el <Insert Table> del menú Edit, donde

asignaremos las entradas y la salida. El número de columnas van a ser de ocho, debido a

que tenemos tres bits:

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

63

Figura 4.4 Pantalla de inserción de la tabla.

El seteo de la tabla de verdad es dada antes de darle <OK> a la pantalla. Después se inserta

automáticamente a la sección de Edición del archivo fuente.

Después de la inserción de la tabla, hay que definir los campos de entrada y salida usando

el comando <FIELD>, como se muestra a continuación:

FIELD ENTRADAS = [C,B,A];

FIELD SALIDA = [X];

Estos comandos van antes de la tabla de verdad, dándonos la pantalla de la figura 4.5:

Aprenda PLD’s 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 más.

Output Files. En esta opción seleccionamos:

Figura 4.6 Pantalla Output Files.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

65 Mnimization. En esta opción seleccionamos:

Figura 4.7 Pantalla Minimization.

Optimization. En esta opción no hay ninguna selección:

Figura 4.8 Pantalla Optimization.

Device. En esta opción seleccionamos el PLD que vamos ha utilizar. Para este ejemplo y

los siguientes, utilizaremos el GAL16v8, de la compañía LATTICE. Hay que tomar en

Aprenda PLD’s 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 opción del compilador.

Figura 4.9 Pantalla Devices.

Library. En esta opción, se da la dirección en donde se encuentra los archivos de la librería

del WinCUPL. Por default, desde la instalación se respeta la misma trayectoria, a menos

que el usuario haya dado otra dirección.

Figura 4.10 Pantalla Library.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

67 General. En esta opción seleccionamos lo siguiente:

Figura 4.11 Pantalla General.

Después damos clic en <Apply> y luego en <OK>.

Ahora seleccionamos del menú de comandos de archivo la opción <Simulator>. Esta

opción nos da tres alternativas, las tres deben estar seleccionadas:

Figura 4.12 Pantalla de Opciones del simulador.

Ya que están las opciones <Compiler> y <Simulator> , corremos la compilación al dar clic

en el menú de comandos de la barra de herramienta <Compilar dependiendo del

dispositivo>. Si existe algún error se tendrá que volver al archivo fuente y encontrar el o los

errores, hasta lograr que la compilación haya sido exitosa, dándonos la pantalla de la figura

4.13:

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

68

Figura 4.13 Pantalla de los resultados de la compilación.

Una vez logrado la compilación con éxito, se invoca el WinSim, en donde se va ha simular

el programa

fuente. Aquí nos

colocamos en el

menu <File> y

tomamos la

opción <New>,

la cual nos

presenta la

pantalla de la

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”, después damos <OK>.

Inmediatamente se nos presenta una pantalla cuadriculada. En esta pantalla hay que agregar

las señales y la cantidad de vectores ha simular.

Para agregar las señales damos <clic> en <Add Signal>, y nos estará preguntando las

señales que deseamos agregar, al terminar damos <Done>.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

69 Para agregar los vectores damos <clic> en <Add Vector>, aquí daremos los vectores

necesarios para la combinación de las tres variables de entrada, en nuestro caso serán siete.

Después damos la combinación de las variables de entrada con el botón 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 simulación.

Una vez compilado y simulado, en la pantalla general del WinCUPL, en la sección 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 programación, en donde se le especifica el

dispositivo a utilizar, y por ultimo la carga del archivo .JED al circuito integrado.

Finalmente probar el diseño.

Aprenda PLD’s 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 minimización de la ecuación. Siguiendo con el

mismo ejemplo, el detectar el numero primo de 3 bits, debemos realizar la minimización,

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:

C B A 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

A

Una vez teniendo la ecu

donde crearemos un nue

como se muestra en la

ecuaciones es el de

Aprenda PLD’s Principio

B

00 01 11 10

C

0 0 1 1 1

1 0 1 1 0

X = A + B C

Figura 4.16 Minimización de la ecuación.

ación minimizada, procedemos abrir el programa WinCUPL, en

vo diseño y nuevamente nos va a aparecer la pantalla de cabecera

figura 4.17. Para este ejemplo el nombre del archivo .PLD, con

Numprim_eq.

Figura 4.17 Pantalla de Cabecera.

s y Aplicaciones. L. Gerardo Flores R.

71 Una vez llenada la cabecera, se le da los valores de entrada-salida. Nuevamente serán tres

entradas y una salida, con cero Pinnodes.

Al terminar de dar estos valores, nos presenta la pantalla de edición como se muestra en la

figura 4.18:

Figura 4.18 Pantalla de Edición.

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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

72 Después de asignar los valores en la sección de entrada y salida, abrimos un nuevo

comentario de ecuaciones lógicas, en donde se escribe la función minimizada obtenida en el

mapa de Karnaugh, como se muestra en seguida:

/************** EQUATIONS LOGICS ****************/

X = A # B & !C ;

Después de haber agregado la ecuación en la sección de edición, nos vamos a la sección

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 opción “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 opción de “None”, esto debido a que nosotros ya realizamos la minimización.

Ahora se escoge de la sección menú de comandos de archivo la opción <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 compilación,

dándonos la pantalla de la figura 4.13.

Al darnos la compilación sin errores, se invoca el WinSim, en donde le solicitamos archivo

nuevo, y al presentarnos la pantalla de cabecera del WinSim, en la opción <Design File>, le

damos la trayectoria del archivo fuente “Numprim_eq.pld”, dándonos la pantalla de la

figura 4.19.

Después de tener los datos de cabecera, tenemos que agregar la señales y los vectores.

Nuevamente nos vamos a la opción <Add signal>, en donde agregamos las señales de

entrada y salida, y después nos vamos a la opción <Add vectors>, una vez seteado las

señales de entrada con unos y ceros, se simula, dándonos la pantalla de la figura 4.20.

Aprenda PLD’s 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, después

podemos verificar en la sección 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 PLD’s.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

74 4.3 Ejemplo usando el programa esquemático.

Como se comentaba en el inicio de este capítulo, otra forma para generar el archivo JED, es

usando el programa <Schematic>.

En este programa nos proporciona una librería de compuertas lógicas, en donde nosotros

dibujamos el circuito de la ecuación 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 opción <File> en donde se selecciona

<New>, dándonos la pantalla de la figura 4.21:

Figura 4.21 Pantalla general del programa Schematic.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

75 En esta pantalla se puede observar, las herramientas para desarrollar el dibujo de la

ecuación lógica, estas herramientas y su descripción, se ve en la figura 4.22.

Figura 4.22 Botones de herramienta.

1 2 3

Botón 1: En este botón se encuentran las librerías de las compuertas a utilizar.

Botón 2: En este botón hacemos la conexión entre las compuertas.

Botón 3: En este botón especificamos las variables de entrada y salida.

Una vez realizado la implementación de la ecuación lógica obtenida del mapa de Karnaugh

se nos presenta la pantalla de la figura 4.23:

Figura 4.23 Implementación lógica de la ecuación de números primos.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

76 Una vez terminada la implementación lógica se escoge la opción <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 características 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 diseño con el nombre que le dimos al

programa en Schematic, como se muestra en la figura 4.25.

Aprenda PLD’s 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 número de

entradas, salidas y pinnodes, a todos les damos cero.

Al crear la pantalla de edición, nos posicionamos al final de la información 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 PLD’s 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 además 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 sección de ecuaciones booleanas para la compilación y la simulación, dándonos como

resultado la figura 4.28:

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

79

Figura 4.28 Pantalla de los resultados de simulación 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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

80 5. LOGICA SECUENCIAL

5.1 La macrocelda lógica de salida (OLMC) del GAL22V10

Una OLMC contiene circuitos lógicos 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 automática,

mediante la programación de un conjunto de celdas que están separadas de las celdas de la

matriz lógica.

La Figura 5.1 muestra el diagrama lógico básico de la OLMC de la gal22vl0. Las entradas

de la compuerta OR procedentes de las compuertas AND conectadas a la matriz varían de

diez a dieciséis. La lógica 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 líneas de entrada al buffer de tres esta-

dos de salida en función del estado de las dos entradas de selección, 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 PLD’s 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

través de un buffer a la matriz AND, en función del estado de S1. Los bits de selección, S0 y

S1 , para cada OLMC, se programan en un grupo dedicado de celdas de la matriz mediante

el software de compilación, 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 asín-

crona (AR) pone al flip-flop en estado 0 lógico (Q = 0) independientemente de la señal de

reloj. La entrada de inicialización síncrona (SP) activa el flip-flop poniéndolo en estado 1

(Q = 1) en el flanco de subida del impulso de reloj. La GAL22V10 tiene términos 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 mayoría 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 lógico básico de la OLMC de la GAL16V8. Cada

OLMC está formada por dos celdas globales, SYN y AC0, que afectan a todas OLMCs.

Existen también dos celdas locales para cada OLMC, AC1(n) y XOR, que sólo 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 configuración. SYN = 0 y AC0 = 1 establecen el

modo secuencial, y SYN = 1 y AC0 = 0 determinan los modos combinacionales. El bit

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

82 AC1 controla la configuración 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

programación. En el modo combinacional, S1S0= 10 ó S1S0= 11. Las Figuras 5.3 muestra

los caminos lógicos a través de la OLMC para obtener una salida activa a nivel bajo y a

nivel alto, junto con el esquema lógico efectivo de la OLMC, para cada caso. En el modo

combinacional el flip flop no se utiliza.

En la Figura 5.3(a), la inversión del buffer triestado produce una salida activa a nivel bajo.

En la parte (b), la inversión del multiplexor 4 a 1 y la cancelación del buffer de tres estados

dan lugar a la salida activa a nivel alto.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

83

(a) OLMC en modocombinacional activo a nivelbajo y diagrama lógico efectivo.

(b) OLMC en modocombinacional activo a nivelalto y diagrama lógico efectivo.

Figura 5.3 Modo combinacional para salidas activas a nivel bajo y a nivel alto. Las

líneas gruesas indican los caminos lógicos para cada caso

5.4 El modo secuencial

En el modo secuencial, S1S0 = 00 ó S1S0 = 01. Las Figuras 5.4 muestra los caminos lógicos

a través de la OLMC que proporcionan salidas secuenciales activas a nivel alto, junto con la

lógica efectiva de la OLMC para cada caso. En la parte (a), la inversión del buffer de tres

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

84 estados produce una salida activa a nivel bajo. En la parte (b), la inversión del flip-flop

(salida Q) y la cancelación del buffer de tres estados, dan lugar a una salida activa a nivel

alto. Observe que la realimentación a la matriz AND a través 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 activoa nivel bajo y diagrama lógicoefectivo.

(b) OLMC en modo secuencial activoa nivel alto y diagrama lógicoefectivo.

Figura 5.4 Modo secuencial para salidas activas a nivel bajo y a nivel alto. Las líneas

gruesas indican los caminos lógicos para cada caso.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

85 5.5 Tipos de máquinas de estados

Los circuitos lógicos secuenciales se pueden clasificar dentro de la categoría de circuitos

conocidos como máquinas de estados, de las que existen dos tipos básicos. En la máquina

de estados de Moore que se muestra en la Figura 5.5 (a), la salida depende sólo del estado

interno y de cualquier entrada sincronizada con el circuito. Ejemplos de las máquinas

estados de tipo Moore son los contadores, en las que los flip-flops son los elementos de

memoria.

En la máquina de estado Mealy, las salidas vienen determinadas por el estado interno y por

entradas que no están 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 máquinas de estado.

5.6 Ejemplo

Especificaciones del problema:

Los semáforos que controlan el tráfico en la intersección de dos calles utilizan un sistema

digital de control (CT), cuya tarea es la encender y apagar los semáforos en una secuencia

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

86 que responda al flujo de vehículos 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 señales de un conjunto de botones marcados con la palabra CAMINE, que aprietan los

peatones que desean cruzar la calle. Si no hay peatones, los semáforos permiten que el

tráfico de NS fluya durante un minuto; es decir, están en verde en la dirección NS y en rojo

en la dirección EO. Después, las luces cambian automáticamente para permitir que el

tráfico 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 peatón aprieta un botón

marcado con CAMINE, todos los semáforos 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 tráfico.

Figura 5.6 Distribución física del problema de control de semáforos.

Los botones peatonales se representarán colectivamente con una sola variable binaria x. La

señal x = 1 indica a CT que se ha apretado un botón peatonal y x = 0 indica que no se ha

apretado dicho botón. Supondremos que CT tiene dos señales de salida primarias: z1 para

que el semáforo esté en verde (z1 = 1) o en rojo (z1 = 0) en la dirección EO y z2 para que el

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

87 semáforo esté en verde (z2 = 1) o en rojo (z2 = 0) en la dirección NS. De esta manera, la

condición de todos los semáforos en rojo, cuando pueden cruzar los peatones, se indica con

z1 = z2 = 0. Como el periodo mínimo que estará un semáforo 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 transición de estados, y la tabla de transición

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) (b)

Figura 5.7 Comportamiento del circuito.

Para poder representar los estados, se le debe asignar variables booleanas, como son cuatro

estados, es necesario utilizar dos bits para dicha representación (B y A). De esta manera

obtenemos:

B A

S0 es representado en binario por = 0 0

S1 es representado en binario por = 0 1

S2 es representado en binario por = 1 0

S3 es representado en binario por = 1 1

Por lo tanto, la tabla de estados de la figura 5.7(b), sustituyendo con los valores boléanos

obtenidos con las variables A y B, nos da la tabla de la figura 5.8.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

88 Estados Estados Salidas Flip-Flop’s a utilizar

Presente Siguiente

X B A B+ A+ Z2 Z1 DB DA

0 0 0 0 1 0 1 0 1

0 0 1 0 0 1 0 0 0

0 1 0 0 1 0 0 0 1 Figura 5.8 Tabla

0 1 1 0 0 0 0 0 0 con valores booleanos.

1 0 0 1 0 0 1 1 0

1 0 1 1 1 1 0 1 1

1 1 0 0 1 0 0 0 1

1 1 1 0 0 0 0 0 0

Al tener la tabla de la figura 5.8 , podemos implementar el diseño de las siguientes dos

maneras:

• Utilizando la secuencia de los estados, ó

• Utilizando las ecuaciones minimizadas de los flip-flop’s, 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 señales de salida, en esta practica utilizaremos el GAL16v8.

5.6.1 Implementación utilizando la secuencia de estados.

Abrimos el WinCUPL y seleccionamos un nuevo diseño, llenamos los datos de cabecera,

los pines de entrada, los pines de salida y los pinnodes, estos últimos serán cero.

Hay que tomar en cuenta en los pines de entrada el pin 1, que es la entrada del pulso de

reloj, y también el pin 11, que es el habilitador de las salidas de los flip-flop’s 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-flop’s B y A, solamente se mencionan en la

sección de salidas, para tomar referencia en la sección de secuencia, por lo tanto,

obtendremos el programa fuente de la figura 5.10.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

89

x 00 01 11 10 00 01 11 10

0 1 0 0 0 0 0 1 0 0

1 1 0 0 0 1 0 1 0 0

Z1= Ā B Z2= A B

BAx

BA

Figura 5.9 Minimización 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 compilación, invocamos el simulador, damos de

alta las señales de entrada y salida, agregamos los vectores. Hay que poner la señal de pulso

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

90 de reloj en “clk” y la señal de “!oe” debe estar en cero. Al probar la simulación, nos da la

figura 5.11.

Figura 5.11 Resultado de la simulación.

Podemos observar la señal de control “x”, que, cuando vale cero, los semáforos (Z1 y Z2),

están intercalando sus valores. Pero cuando “x” vale uno, los semáforos duran un ciclo en

rojo ambos, dando el permiso al peatón a que cruce la calle.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

91 5.6.2 Implementación usando ecuaciones minimizadas.

En la implementación con ecuaciones, es necesario minimizar las salidas de los flip-flop’s

“D”, en este caso DA y DB de la figura 5.8, que es nuestra tabla de transición de estados.

Las salidas Z1 y Z2 ya tenemos las ecuaciones (figura 5.9). La minimización de los flip-

flop’s, se puede ver en la figura 5.12.

BA BA

X 00 01 11 10 X 00 10 11 10

0 0 0 0

1 1 0 0

DA = A B + A X + A B X DB = B X

1 0 0 1

0 1 0 1

0 1

0 1

Figura 5.12 Minimización de las salidas de los flip-flop’s “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 consideración, que para indicar salida de flip-flop tipo “D”, es necesario

agregar la extensión .D, esto se muestra en el programa fuente, en la sección de ecuaciones

lógicas, como se muestra en la figura 5.13 .

Al momento de compilar, en las opciones de minimización, 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 simulación, es igual a las

señales de la figura 5.11, que fue con secuencia de estados.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

92

Figura 5.13 Programa fuente, utilizando ecuaciones lógicas.

Figura 5.14 Resultado de la simulación.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

93

Bibliografía

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 síntesis y modelado de circuitos. Fernando Pardo, José A. Boluda. Alfaomega (2000). Fundamentos de Sistemas Digitales. T.L. Floyd. Prentice Hall (1997). Introducción al Diseño Lógico Digital. John P. Hayes. Addison Wesley (1996). Diseño digital, principios y practicas. John F. Wakerly. Prentice Hall (1992). Análisis y Diseño de circuitos lógicos digitales. Victor P. Nelson, H. Troy Nagle, Bill D. Carrol, J. David Irwin. Prentice Hall (1996).

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

94

Abreviaturas

ASIC (Application Specific Integrated Circuits). Circuitos Integrados de

Aplicación Específica.

BIT (Binary digIT). Digito Binario.

CI (Integrated Circuit “IC”). Circuito Integrado.

CLB (Configurable Logic Block). Bloque Lógico Configurable.

CLK (Clok). Pulso de Reloj.

CMOS (Complementary Metal Oxide Semiconductor). Semiconductor de Oxido de

Metal Complementado.

CPLD (Complex Programmable Logic Device). Dispositivo Lógico Programable

Complejo.

E/S (Input/Output “I/O”). Entrada y Salida.

EEPLD (Elctrically Erasable Programmable Logic Device). Dispositivo Lógico

Programable Eléctricamente Borrable.

EEPROM (Electrically Erasable Programmable Read Only Memory). Memoria

Programable de Solo Lectura Electricamente Borrable.

EPROM (Erase Programmable Read Only Memory). Memoria Programable de Solo

Lectura Borrable.

FPGA (Field Programmable Gate Array). Campos de Arreglos de Compuertas

Programables.

GAL (Generic Array Logic). Arreglo Lógico Genérico.

I/O (Input/Output). Entrada y Salida.

IOB (Input Output Block). Bloque de Entrada y Salida.

JEDEC (Joint Electronic Device Engineering Council).

NS (Nano segundo). Notación científica de 10-9 segundos.

OE (Output Enable). Habilitar Salida.

OLMC (Output Logic Macro Cell). Macro Celda de Salida Lógica.

PAL (Programmable Array Logic). Lógica de Arreglo Programable.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

95 PC (Personal Computer). Computadora Personal.

PLA (Programmable Logic Array). Arreglo Lógico Programable.

PLD (Programmable Logic Device). Dispositivo Lógico Programable.

PROM (Programmable Read Only Memory). Memoria de Solo Lectura

Programable.

TTL (Transistor Transistor Logic). Logica Transistor Transistor.

WinCUPL (Windows Compiler Universal Programmable Logic). Compilador Universal

de Lógica Programable bajo el sistema Windows.

WinSim (Windows Simulator). Simulador bajo Windows.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

96

Glosario

& Cuando se emplea dentro de un símbolo IEEE/ ANSI, indica una función AND o una compuerta AND.

+ Cuando se emplea dentro de un símbolo 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 símbolo IEEE/ ANSI y sobre la entrada del reloj,

señala que el contador será reducido en uno cuando aparezca la entrada de reloj. → Al emplearse en la etiqueta de una entrada dentro de un símbolo IEEE/ ANSI,

indica que cuando se presente una transición activa en la entrada, esto da como resultado una operación de corrimiento hacia la derecha.

/ Cuando se emplea un símbolo IEEE/ ANSI como etiqueta de una salida, señala la

separación de dos funciones. Acarreo del contador de rizo Véase propagación del acarreo. Acarreo Dígito o bit que se genera cuando se suman dos números y el resultado es mayor

que la base del sistema numérico empleado para efectuar la operación. Actuador Dispositivo controlado eléctricamente que controla una variable física. Acumulador Registro principal de una unidad aritmética-lógica (ALU). ADC de aproximaciones sucesivas Tipo de convertidor analógico-digital en el que se

utilizan un registro paralelo interno y una lógica compleja para llevar a cabo la conversión. El tiempo de conversión para este tipo de convertidor siempre es el mismo, sin importar cuál sea el valor de la señal de entrada analógica.

ADC de destello (flash) Tipo de convertidor analógico-digital que tiene la mayor

velocidad de conversión disponible en la actualidad. ADC de rampa digital Tipo de convertidor analógico-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 conversión. El tiempo de conversión para este tipo de convertidor analógico-digital varía y esto depende del valor de la señal analógica de entrada.

ADC de rampa digital ascendente / descendente Tipo de convertidor analógico digital

que emplea un contador ascendente descendente para aumentar o disminuir el

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

97

voltaje a la salida del convertidor digital analógico hasta que éste intersecte el valor de la entrada analógica.

ADC de voltaje a frecuencia Tipo de convertidor analógico digital que convierte el

voltaje analógico en un tren de pulsos de frecuencia variable los cuales son contados para producir una salida digital.

Adendo Número que se va a sumar a otro. Adquisición de datos Proceso mediante el cual una computadora adquiere datos

analógicos digitalizados. Agrupamiento Combinación de celdas adyacentes en un mapa de Karnaugh que contienen

unos, con la finalidad de simplificar una expresión que tiene la forma de una suma de productos.

Álgebra booleana Proceso algebraico utilizado como herramienta para el análisis y diseño

de sistemas digitales. En el álgebra booleana sólo 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 Término empleado para describir la función lógica creada cuando se

conectan entre sí dos salidas de colector abierto. Arreglo lógico programable (PLA) Clase de dispositivos lógicos programables. Los

arreglos AND y OR son programables. También recibe el nombre de arreglo lógico de campo programable (FPLA).

Asegurado Término utilizado para describir el estado de una señal lógica; sinónimo de

"activo". BCD/DEC Cuando se emplea dentro de un símbolo IEEE/ANSI, señala una función de

decodificación BCD a decimal. BIN/OCT Cuando se emplea dentro de un símbolo IEEE/ANSI, indica una función de

decodificación de binario a octal. Bit Dígito del sistema binario de numeración. Bit de paridad Bit adicional que acompaña a cada grupo de un código, de forma tal que el

número de unos que se transmite sea siempre par (o impar). Bit de signo Bit que se añade a la posición extrema izquierda de un número binario para

indicar si éste representa una cantidad positiva o negativa.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

98 Bit más 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 más

pequeño) de una cantidad expresada en binario. Bloque común de control Símbolo empleado por el estándar IEEE/ANSI para describir

situaciones donde una o más entradas son comunes a más de uno de los circuitos que constituyen el CI.

BORRAR Entrada asíncrona 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 símbolo IEEE/ANSI, éste

señala que la entrada controla la forma en que los datos ingresan al elemento de almacenamiento.

Canal de control Conjunto de líneas de señal que se emplean para sincronizar las

actividades del CPU y los demás elementos. Canal de datos Líneas bidireccionales que llevan los datos entre el CPU y la memoria, ó

entre el CPU y los dispositivos de E/S. Canal de direcciones Líneas unidireccionales que llevan la dirección 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 están en

su estado de alta impedancia. Capacidad Cantidad de espacio de almacenamiento en una memoria expresada como un

número de bits o de palabras. CAS antes de RAS Método para refrescar una memoria RAM dinámica que tenga

contadores de refresco internos. Cuando la entrada CAS es llevada a "bajo" y se mantiene ahí mientras la señal RAS es pulsada a "bajo", una operación interna de refresco se realiza en la dirección de la fila dada por el contador de refresco interno.

Celda de memoria Dispositivo que guarda un sólo bit. CI bipolar Categoría 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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

99 Ciclo de ejecución Periodo durante el que la unidad de control de una computadora

obtiene de la memoria los códigos de instrucción. Circuito de muestreo y retención Tipo de circuito que emplea una amplificador de

aislamiento con ganancia unitaria en conjunción con un capacitor con el objeto de lograr un proceso de conversión analógico-digital más estable.

Circuito lógico Cualquier circuito que se comporta de acuerdo con un conjunto de reglas

lógico. Circuito NOR exclusivo Circuito lógico con dos entradas que produce una salida ALTO

sólo cuando las entradas son iguales. Circuito NOT Véase INVERSOR. Circuito OR exclusivo Circuito lógico con dos entradas que produce una salida ALTO

sólo cuando las entradas son diferentes. Circuitos de inhibición Circuitos lógicos que controlan el paso de una señal de entrada

hacia la salida. Circuitos digitales integrados Circuitos digitales en un solo encapsulado que han sido

fabricados mediante el uso de varias tecnologías para la fabricación de circuitos integrados.

Circuitos lógicos combinatorios Circuitos construidos con combinaciones de compuertas

lógicas, sin ninguna retroalimentación de las salidas hacia las entradas. Círculos (inversores) pequeños símbolos que aparecen sobre las líneas de entrada o salida

de los símbolos de circuito lógico y que representan la inversión de una señal en particular. Si el círculo está presente, se dice entonces que la entrada o salida es activa en BAJO.

CMOS (semiconductor metal-óxido complementario) Tecnología de circuito integrado

que emplea transistores MOSFET como elemento principal de circuito. Esta familia lógica pertenece a la categoría de CI digitales unipolares.

Codificador Circuito digital que produce un código de salida que depende de cuál de las

entradas se encuentre activa. Codificador de 3 a 8 líneas Circuito digital que genera un código de tres bits que depende

de cuál de las líneas de entrada esté activada.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

100 Codificador de prioridad Tipo especial de codificador que detecta cuando dos o más

entradas son activadas al mismo tiempo y genera un código que corresponde a la entrada con mayor prioridad.

Codificador octal a binario Véase codificador de 8 a 3 líneas. Código ASCII (American Standard Code for Information Interchange, Código Americano

estándar para el intercambio de información) Código alfanumérico de siete bits empleado por la mayoría de los fabricantes de computadoras.

Código binario puro Representación de un numero decimal mediante su equivalente

binario. Código de operación Parte de una instrucción de computadora que define el tipo de

operación que ésta debe ejecutar sobre un dato específico. Código decimal codificado en binario (código BCD) Código de cuatro bits empleado

para representar cada dígito de un número decimal mediante su equivalente binario de cuatro bits.

Código Gray Código en el que nunca cambia más que un sólo bit al ir de un valor al

siguiente. Códigos alfanuméricos Códigos que representan números, letras, signos de puntuación y

caracteres especiales. Colisión de la cabeza Contacto entre una cabeza de L/E y la superficie de un disco duro

que daña la superficie de éste. Comparador de magnitud Circuito digital que compara dos cantidades binarias de entrada

y que genera como salida un indicador que señala si las entradas son iguales; si no lo son entonces la salida indica cuál es la mayor.

Compatible eléctricamente Cuando dos CI de diferentes series lógicas se pueden conectar

directamente sin tomar ninguna medida especial para asegurar en forma apropiada su operación.

Compatible en terminal (pin) Cuando las terminales de dos diferentes CI tienen la misma

función. Complemento Véase Inversión. Compuerta NAND Circuito digital que lleva a cabo la operación AND seguida por un

INVERSOR. La salida de una compuerta NAND es BAJO (nivel lógico 0) sólo si todas las entradas son ALTO (nivel lógico 1).

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

101 Compuerta NOR Circuito lógico que opera como una compuerta OR seguida por un

INVERSOR. la salida de una compuerta NOR es BAJO (nivel lógico 0) si cualquiera o todas las entradas son ALTO (nivel lógico 1).

Compuerta OR Circuito digital que realiza la operación OR. La salida de este circuito es

ALTO (nivel lógico 1) si cualquiera de sus entradas se encuentra en ALTO. Computadora digital Sistema de circuitos (hardware) que realiza operaciones aritméticas

y lógicas, maneja datos y toma decisiones. Conmutación Proceso de cambio de un estado binario hacia otro. Contador ascendente Contador que cuenta desde cero hasta un máximo. Contador asíncrono 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 configuración especial en la que

los estados de los flip-flops representan el número binario equivalente al número 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 décadas Cualquier contador que es capaz de pasar por diez estados lógicos

diferentes. Contador de frecuencia Circuito que puede medir y presentar visualmente la frecuencia de

una señal. Contador de programa (PC) Registro del CPU que guarda la dirección donde se

encuentra la siguiente instrucción. Contador de refresco Contador que mantiene el rastro de las direcciones de fila durante la

operación de refresco a una DRAM. Contador de rizo Véase Contador asíncrono. Contador descendente Contador que cuenta en forma descendente desde un máximo hasta

cero. Contador Johnson Registro de corrimiento en el que se invierte la salida del último flip-

flop y se conecta a la entrada del primero.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

102 Contador multietapa Contador en el cual varias etapas están interconectadas, de modo

que la salida de una etapa sirve como señal de reloj a la entrada de la siguiente, con lo que se obtiene un mayor rango de división de frecuencia.

Contador paralelo Véase contador síncrono. Contador preiniciable Contador que se puede preiniciar en cualquier valor inicial ya sea

de manera síncrona o asíncrona. Contador síncrono Contador en el que todos los flip flops están sincronizados

simultáneamente por un reloj. Contienda por el canal Situación en que las salidas de dos o más dispositivos activos son

colocadas en la misma línea del canal y al mismo tiempo. Controlador de DRAM CI empleado para manejar las operaciones de regeneración y

multiplexado que son necesarias en los sistemas DRAM. Conversión de paralelo a serial Proceso por el que todos los bits de datos se presentan

simultáneamente en la entrada del circuito y entonces son trasmitidos hacia la salida de éste uno a la vez.

Convertidor analógico-digital de doble pendiente Tipo de convertidor analógico-digital

que carga linealmente un capacitor a partir de una corriente que es proporcional a VA durante un intervalo fijo de tiempo, después de lo cual incrementa un contador a medida que el capacitor se descarga linealmente hasta llegar a cero.

Convertidor analógico-digital (ADC) Circuito que convierte una entrada analógica en su

correspondiente salida digital. Convertidor digital-analógico (DAC) Circuito que convierte una entrada digital en una

salida analógica. Corrimiento de reloj Llegada de una señal de reloj a las entradas de reloj de diferentes

flip-flops en distintos tiempos como consecuencia de los retardos de propagación. 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 Número que se suma al sumando. CT = 0 Cuando se emplea en la etiqueta de una entrada dentro de un símbolo IEEE/ANSI,

señala que el contenido del contador será borrado cuando la entrada vaya hacia su estado activo.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

103 CTR Cuando aparece dentro de un símbolo IEEE/ ANSI, la etiqueta indica que el CI es un

contador. D Cuando se emplea dentro de un símbolo IEEE/ ANSI, la etiqueta indica "dato" DAC bipolar Convertidor digital-analógico que acepta como entrada números binarios con

signo y produce como salida el correspondiente valor analógico positivo y negativo. DAC con red escalera R/2R Tipo de convertidor digital analógico cuyos valores de

resistencia interna abarcan sólo rangos de 2 a 1. Decodificador Circuito digital que convierte un código binario de entrada en su

correspondiente salida numérica. Decodificador activo en ALTO (BAJO) Decodificador que produce un estado lógico

ALTO (BAJO) en la salida cuando se presenta una detección. Decodificador BCD a decimal Decodificador que convierte una entrada BCD en una

salida decimal equivalente. Decodificador de 1 a 10 Véase Decodificador de BCD a decimal. Decodificador de 4 a 10 Véase 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 dígito decimal equivalente sobre un dispositivo de visualización de siete segmentos.

Demultiplexor (DEMUX) Circuito lógico que, dependiendo del estado de sus entradas de

selección, canaliza los datos que están en su entrada hacia una de las varias salidas. Desacoplamiento de la fuente de alimentación Conexión de un pequeño 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 duración cuya aparición

coincide con la transición activa del reloj. Desborde de la capacidad máxima de representación (overflow) Se presenta cuando al

sumar números binarios con signo, se genera un acarreo de 1, proveniente de la posición MSB del número hacia la posición correspondiente al bit del signo.

Diagrama de tiempos Ilustración de los niveles lógicos en función del tiempo. Digitalización Proceso mediante el que una señal analógica es convertida en un dato

digital.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

104 Dígito binario Bit. Dígito más significativo (MSD) Dígito que tiene el mayor peso en un número en

particular. Dígito menos significativo (LSD) Dígito que tiene el menor peso en un número en

particular. DIP Encapsulado de doble línea. Es el tipo más común de encapsulado para CI. Dirección Número que identifica de manera única la ubicación de una palabra en la

memoria. Dirección del operando Dirección de memoria donde se encuentra o va a guardarse un

operando. Disco duro Disco rígido de metal utilizado para almacenamiento secundario. Disparado por flanco Forma en la que se activa un flip-flop mediante la transición de una

señal. Un flip-flop puede ser disparado ya sea por flanco positivo o por flanco negativo.

Disparador Señal 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 señales de control.

Disparador Schmitt Circuito digital que acepta una señal que cambia con lentitud y que

produce su salida una señal rápida libre de oscilaciones. Dispositivo lógico programable (PLD) CI que contiene un número muy grande de

funciones lógicas interconectadas. El usuario puede programar el CI para una determinada función al interrumpir las conexiones apropiadas.

Distribuidores de datos Véase demultiplexor. DIVn Cuando se emplea dentro de un símbolo IEEE/ ANSI, señala que el circuito es un

contador de módulo n. ECL Lógica de emisor acoplado; también se conoce como lógica en modo de corriente. Entrada flotante Señal de entrada que se deja sin conectar en un circuito lógico. Entrada paralela/salida serial Tipo de registro donde los datos se cargan en paralelo y

sólo tiene una salida que es serial.

Aprenda PLD’s 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 también es serial. Entradas asíncronas Entradas del flip-flop que pueden afectar su operación en forma

independiente de las entradas de sincronía y de reloj. Entradas de acción inmediata Sinónimo de “entradas asíncronas”. Entradas de control Señales de entrada que están sincronizadas con la transición activa

del reloj y que determinan el estado de la salida de un flip-flop. Entradas síncronas Véase entradas de control. Equivalente funcional Cuando dos funciones lógicas realizadas por dos diferentes CI son

exactamente iguales. Error de cuantización Error causado por la resolución diferente de cero de un convertidor

analógico-digital; éste es un error inherente al dispositivo. Error de desvío (offset) Desviación de la salida ideal de cero volts de un convertidor

digital-analógico cuando la entrada es cero. En realidad, para esta situación, el voltaje de salida es muy pequeño.

Error de escala completa Término utilizado por algunos fabricantes de convertidores

digitales-analógicos para especificar la exactitud de un convertidor digital-analógico. Este error se define como la máxima desviación de la salida de un convertidor digital-analógico de su valor ideal esperado.

Error de linealidad Término empleado por algunos fabricantes de convertidores digital-

analógico para especificar la exactitud del dispositivo. Se define como la máxima desviación en el tamaño de paso con respecto al tamaño de paso ideal.

ESCRITURA Término utilizado para describir la condición donde el CPU envía datos

hacia otro elemento. ESPIGA Véase señal 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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

106 Estado de inicio Estado Q = 1 de un flip-flop. Factor de carga Véase factor de carga de la salida. Factor de carga de la salida Número máximo de entradas lógicas estándar 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 lógico. FIip-flop D sincronizado por reloj Tipo de flip-flop en el que la entrada D (dato) es la

entrada síncrona. Flip-flop J-K sincronizado por reloj Tipo de flip-flop en el que las entradas J y K son las

entradas sincrónas. 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-analógico a medida que su entrada cambia de manera creciente. Forma de suma de productos Expresión lógica que está formada por la disyunción de dos

o más términos productos) AND. G Etiqueta empleada dentro de un símbolo IEEE/ANSI para indicar una dependencia AND. Generación defunciones lógicas Implantación de una función lógica 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 duración, de naturaleza adulterada. HPRI/BCD Cuando se emplea dentro de un símbolo IEEE/ANSI, señala que la función del

CI es convertir una entrada activa con la mayor prioridad en su correspondiente código BCD.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

107 IEEE/ANSI Instituto de Ingenieros Eléctricos y en Electrónica / Instituto Americano de

Estándares Nacionales. Indeterminado Dícese del voltaje de un nivel lógico cuando se encuentra fuera de los

intervalos correspondientes a los niveles lógicos 0 y 1. INICIO Término sinónimo de DC SET. Inicio en DC Entrada asíncrona 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. Instrucción de múltiples bytes Instrucción de computadora que está representada por más

de un byte. Instrucción de múltiples direcciones Palabra de instrucción de computadora que contiene

más de una dirección. Interfaz Unión de diferentes dispositivos de manera que sean capaces de funcionar en

forma compatible y coordinada; conexión de la salida de un sistema a la entrada de otro diferente con distintas características eléctricas.

Interruptor bilateral Circuito CMOS que actúa como interruptor de un polo un tiro

controlado por el nivel lógico de una entrada. Intervalo de muestreo Ventana de tiempo durante la que un contador de frecuencias

recolecta muestras para determinar la frecuencia de una señal. Inversión Operación que lleva a un nivel lógico hacia su estado opuesto. INVERSOR También se conoce como circuito NOT; circuito lógico que implanta la

operación NOT. Un inversor tiene sólo una entrada y el nivel lógico de su salida siempre es el opuesto al de la entrada.

Jam Transfer Véase también transferencia asíncrona. Latch-up Condición peligrosa de alta corriente en un CI CMOS provocada ya sea por

espigas de alto voltaje u oscilación (ringing) en las entradas y salidas del dispositivo.

LCD Dispositivo de visualización de cristal líquido. Lectura Término empleado para describir la condición en la que el CPU recibe datos

provenientes de otro elemento.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

108 LED Diodo emisor de luz. Lenguaje de alto nivel Lenguaje de programación de computadoras que emplea el idioma

inglés con el propósito de facilitar la escritura de un programa para computadora. Lenguaje de máquina Lenguaje de programación de computadoras en el que se emplean

grupos de unos y ceros para representar las instrucciones. El lenguaje de máquina es el único lenguaje que en realidad entiende la computadora.

Línea de datos bidireccional Término utilizado cuando una línea de datos funciona ya sea

como línea de entrada o de salida dependiendo de los estados de las entradas de habilitación.

Lógica de toma de corriente (Current sinking logic) Familia lógica en la cual la salida de

un circuito lógico toma corriente de la entrada del circuito lógico que está impulsando.

Logica de suministro de corriente Familia lógica en la cual la salida de un circuito

suministra corriente al circuito al que está impulsando. Lógica en un arreglo programable (PAL) Clase de dispositivos lógicos programables. El

arreglo AND es programable, mientras que el arreglo OR es alambrado. LSI Gran escala de integración (desde l00 hasta 9999 compuertas). Manejador Término técnico que algunas veces se añade a la descripción de un CI para

indicar que sus salidas pueden operar con límites de corriente o voltaje mayores que los de un CI estándar.

Manejadores de canal Circuitos intermedios entre las salidas de los dispositivos

conectados a un canal común y el propio canal; se emplean cuando un número muy grande de dispositivos comparte el mismo canal.

Mapa de Karnaugh Formato bidimensional de una tabla de verdad empleado para

simplificar una expresión que está en la forma de suma de productos. Maxicomputadora Sistema de cómputo grande que se emplea para mantener y actualizar

grandes cantidades de datos e información. Máxima 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 después de

que ha desaparecido la condición de entrada que le dio origen.

Aprenda PLD’s 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 máquina. Generalmente tiene alta densidad y alta capacidad, similar a un disco magnético.

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 ubicación del dato guardado en ella. Memoria de destello (FLASH) CI de memoria no volátil que tiene alta velocidad de

acceso y la capacidad de borrado dentro del circuito que tienen los EEPROM pero con mayores densidades y más bajo costo.

Memoria de disco magnético 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

láser 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 transmisión de datos diferentes

Aplicación 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 Porción de la memoria de alta velocidad de una computadora que

mantiene el programa y los datos que la máquina está trabajando. También llamada memoria principal o memoria de trabajo.

Memoria no volátil Memoria que guarda la información sin necesidad de potencia

eléctrica. 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 diseñado para

aplicaciones donde la relación entre las operaciones de lectura y las de escritura es muy grande.

Memoria volátil Memoria que requiere de energía eléctrica para mantener la información

que se encuentra almacenada en ella.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

110 Método de paridad Esquema utilizado para detectar los errores que ocurren durante la

transmisión 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 más grandes y rápidas y que además

poseen más capacidades que las microcomputadoras. Minuendo Número del que se resta el sustraendo. Mnemotécnico Abreviatura que representa el código de operación de una instrucción de

computadora. Modo de transición (toggle) Modo de operación 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-analógico 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 integración (entre 12 y 99 compuertas). Multiplexado Proceso de selección de una entrada entre varias y transmisión de los datos

seleccionados hacia un sólo canal de salida. Multiplexado de direcciones Multiplexado empleado en las RAM dinámicas que permite

ahorrar terminales de CI que participan en la recepción de las dos mitades en que se divide una dirección completa y que se envían al CI en pasos separados.

Multiplexor (MUX) Circuito lógico que, dependiendo del estado de sus entradas de

selección, lleva uno de sus varios datos a su salida. Multiplicador binario Circuito digital especial capaz de llevar a cabo la operación

aritmética de multiplicación sobre dos números 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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

111 Multivibrador monoestable Circuito que pertenece a la familia de los flip-flops pero que

tiene un sólo estado estable (por lo general Q = 0). Multivibrador monoestable no reactivable Tipo de multivibrador monoestable que no

responde a una señal 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 señal aplicada en la entrada dc disparo mientras se encuentra en su estado casi estable.

Nivel lógico 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 lógico activo Nivel lógico para el que se considera que el circuito es activo. Si el

símbolo para el circuito incluye un círculo (inversor), el circuito es activo en BAJO. Por otro lado, si éste no tiene un círculo (inversor), entonces el circuito es activo en ALTO.

NMOS (Semiconductor metal-óxido de canal N) Tecnología de circuito integrado que

emplea transistores MOSFET de canal N como elemento principal de circuito. No asegurado Término utilizado para describir el estado de una señal lógica; sinónimo de

“inactivo”. "No importa" Situación 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. Notación de dependencia Método empleado para representar de manera simbólica la

relación que existe entre las entradas y salidas de un circuito lógico. Este método hace uso de símbolos calificadores colocados cerca de la parte superior central o del centro geométrico del símbolo.

Número de módulo Número de diferentes estados por los que puede pasar una secuencia

del contador; relación de división en frecuencia de un contador. Observación/análisis Proceso empleado para detectar problemas en circuitos o sistemas

con la finalidad de predecir las posibles fallas antes de tomar un instrumento de medición. Cuando se emplea este proceso, el técnico debe comprender la operación del circuito, observar los síntomas de la falla y entonces razonar durante el proceso de operación del circuito.

Octetos Grupos de ocho unos que son adyacentes entre sí dentro de un mapa de Karnaugh. Operación AND Operación del álgebra booleana en la que se emplea el símbolo ● para

señalar la conjunción de dos o mas variables lógicas. El resultado de una operación

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

112

AND será ALTO (nivel lógico 1) sólo si todas las variables se encuentran en ALTO.

Operación de escritura Operación en la que se coloca una nueva palabra en cierta

localidad de memoria. Operación de lectura Operación en la que se ubica una palabra en una localidad de

memoria específica para, posiblemente ser transferida hacia otro dispositivo. Operación NOT Operación del álgebra booleana en la que se emplea un símbolo de barra

o comilla para señalar la inversión de una o más variables lógicas. Operación OR Operación del álgebra booleana en la que se emplea el símbolo + para

indicar la disyunción de dos o más variables lógicas. El resultado de la operación OR será ALTO (nivel lógico 1) si una o más 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 señal 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 analógicas. Palabra Grupo de bits que representan cierta unidad de información. Palabra de computadora Grupo de bits que forma la unidad primaria de información en

una computadora. Palabra de memoria Grupo de bits en la memoria que representa instrucciones o datos de

algún tipo. Periféricos Dispositivos de entrada y salida de las computadoras. Plano posterior Conexión eléctrica común a todos los segmentos de un LCD. Porcentaje de resolución Relación entre el tamaño de paso y el valor a escala completa de

un convertidor digital-analógico. También se puede definir como el recíproco del número máximo de pasos de un convertidor digital-analógico.

Predicción 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 adición; de este modo se reduce el tiempo total de retardo.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

113 PREINICIO Entrada asíncrona utilizada para poner Q = 1 de manera inmediata. Primer complemento a 1 Resultado obtenido cuando se complementa cada bit de un

número binario. Producto velocidad-potencia Valor numérico (en joules) utilizado con frecuencia para

comparar dos familias lógicas diferentes. Se obtiene al multiplicar el retardo de propagación por la disipación de la potencia del circuito lógico.

Programa Secuencia de instrucciones codificadas en binario y diseñadas para realizar una

tarea con la computadora. Programa de carga e iniciación (bootstrap) Programa de almacenamiento en ROM que la

computadora ejecuta inmediatamente después de su encendido. Propagación del acarreo Retardo intrínseco del circuito para algunos sumadores, que

impide que el bit de acarreo (Csal) y el resultado de la adición aparezcan en la salida al mismo tiempo.

Prueba de exactitud estática Prueba en la que se aplica un valor binario fijo en la entrada

de un convertidor digital-analógico y se mide con exactitud su salida. El resultado medido debe encontrarse dentro del intervalo especificado por el fabricante del convertidor digital analógico.

Prueba en escalera Proceso mediante el que se incrementa la entrada de un convertidor

digital-analógico y se observa su salida para determinar si exhibe o no un formato tipo escalera.

Pulsador lógico Herramienta de prueba que genera un pulso de corta duración cuando se

acciona manualmente. Punta de prueba lógica Herramienta para la detección de fallas digitales que detecta e

indica el nivel lógico particular de un punto en particular de un circuito. Punto binario En un número binario, signo que separa la parte entera de la fraccionaria. R Cuando se emplea como etiqueta de una entrada dentro de un símbolo IEEE/ANSI,

señala una función de reiniciación (reset). RAM dinámica (DRAM) Tipo de memoria de semiconductor que almacena datos como

cargas en capacitores que necesitan regenerarse de manera periódica. RAM estática (SRAM) RAM de semiconductor que guarda información en celdas

formadas por flip flops y que no necesita de un refresco periódico.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

114 RAM no volátil Combinación sobre el mismo circuito de un arreglo de RAM estática y de

una EEPROM. La EEPROM sirve como respaldo no volátil de la SRAM. Regeneración Proceso mediante el que se recargan las celdas de una memoria dinámica. Registro Grupo de flip-flops capaces de almacenar datos. Registro básico D Circuito que contiene un circuito de cerrojo con compuertas NAND y

otras dos compuertas NAND de conducción. Registro básico (latch) Tipo de flip-flop. Registro básico (latch) de compuertas NAND Flip flop construido con dos compuertas

NAND acopladas entre sí. Registro básico (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 través 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 Término que es sinónimo de BORRAR. Estado Q = 0 de un flip-flop. Reloj Señal digital que tiene la forma de un tren de pulsos rectangular o de una onda

cuadrada. Representación analógica Representación de una cantidad que varía sobre un intervalo

continuo de valores. Representación digital Representación de una cantidad que cambia en pasos discretos

sobre un determinado intervalo de valores. Resolución En un convertidor digital-analógico, el cambio más pequeño que se observa en

la salida para un cambio en la entrada digital. También recibe el nombre de tamaño de paso. En un convertidor analógico-digital, la cantidad más pequeña de cambio en la entrada analógica que produce un cambio en la salida digital.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

115 Retardos de propagación Tiempo que transcurre desde que la señal se aplica en una en-

trada hasta que la salida cambia de estado. ROM programable y borrable eléctricamente (EEPROM) ROM que puede

programarse, borrarse y volverse a programar eléctricamente. ROM programable y borrable (EPROM) ROM que puede ser programada

eléctricamente 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 eléctricamente 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 Máximo valor posible que puede tener la salida de un

convertidor digital-analógico. Salida de colector abierto Tipo de estructura de salida de algunos circuitos TTL en la que

se emplea sólo 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 tótem Término utilizado para describir la forma en que están 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 número binario expresado en forma complemento a uno. Selección Técnica empleada con frecuencia para eliminar las espigas de decodificación. Selección de la dirección de la columna Señal empleada para fijar la dirección de la

columna en una memoria DRAM. Selectores de datos Véase multiplexor. Semisumador Circuito lógico 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 PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

116

producido por la adición 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 adición y que a menudo se emplea para señalar los

bits de salida de un sumador paralelo. Sistema analógico Combinación de dispositivos diseñados para operar sobre cantidades

físicas que están representadas en forma analógica. Sistema binario Sistema numérico en el que sólo son posibles dos dígitos: 0 y 1. Sistema de numeración octal Sistema numérico en base 8; para expresar un número en

octal se emplean los dígitos desde 0 al 7. Sistema de valores posicionales Sistema en el cual el valor de un dígito depende de su

posición relativa dentro de un número. Sistema decimal Sistema numérico que emplea lo diferentes dígitos o símbolos para

representar una cantidad. Sistema digital Combinación de dispositivos diseñada para manejar cantidades físicas que

están representadas en forma digital. Sistema híbrido Sistema que emplea técnicas tanto analógicas como digitales. Sistema lógico secuencial Sistema lógico en el que los estados lógicos de las salidas así como la secuencia de operaciones dependen de las condiciones de entrada tanto pasadas como presentes. Sistemas síncronos Sistemas en que las salidas de un circuito sólo pueden cambiar de

estado durante las transiciones de la señal de un reloj. Software de desarrollo para PLD Software que toma el diseño lógico introducido por el

usuario y lo traduce a un archivo (gráfica de fusibles) de salida para ser transferido al dispositivo programador, que luego actúa 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 común en un símbolo

IEEE/ANSI, señala el CI es un registro de corrimiento de n bits. SSI Pequeña escala de integración (menos de 12 compuertas). Substrato Pieza de material semiconductor que forma parte del bloque básico de cualquier

CI.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

117 Sumador BCD Sumador especial que contiene dos sumadores paralelos de cuatro bits y un

circuito de detección y corrección. Cada vez que la suma de dos códigos BCD es mayor que 10012 (910), el circuito de detección y corrección se da cuenta de esto, suma al resultado el factor de corrección 01102 (610) y genera un acarreo para la siguiente posición decimal.

Sumador completo Circuito lógico 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 adición 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 Número que se sustrae del minuendo. Tabla de excitación de un J-K Tabla que muestra las condiciones de las entradas J y K

necesarias para cada posible transición de estado para un sólo flip-flop. Tabla de excitación 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 lógica que contiene las respuestas de un circuito para las diferentes

combinaciones de los niveles lógicos en sus entradas. Tamaño de paso Véase Resolución. Tecnología de bajo voltaje Nueva línea de dispositivos lógicos 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 lógicas. Teoremas de DeMorgan (1) Teorema que afirma que el complemento de una suma

(operación OR) es igual al producto (operación AND) de los complementos, y (2) teorema que afirma que el complemento de un producto (operación AND) es igual a la suma (operación OR) de los complementos.

Tiempo de acceso En una operación de lectura, tiempo que transcurre entre el momento en

que la memoria recibe como entrada una nueva dirección y el instante en que el dato se encuentra disponible en la salida.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

118 Tiempo de estabilización Tiempo necesario para que la salida de un convertidor digital-

analógico 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

transición activa de la señal de reloj y durante el que la entrada de control debe mantenerse en el nivel apropiado.

Tiempo de retención Intervalo de tiempo que sigue a la transición activa del reloj y

durante el que deben mantenerse estables los niveles de las entradas de control. Transductor Dispositivo que convierte una variable física en una eléctrica (por ejemplo,

una fotocelda o un termocople). Transferencia asíncrona Transferencia de datos realizada sin la ayuda del reloj. Transferencia paralela de datos Operación mediante la cual se transfiere

simultáneamente todo el contenido de un registro hacia otro. Transferencia serial de datos Transferencia de datos de un lugar hacia otro un bit a la vez. Transferencia síncrona Transferencia de datos realizada por las entradas síncronas y de

reloj de un flip-flop. Transición con pendiente positiva (TPP) Ocurre cuando la señal de reloj cambia del 0

lógico hacia el 1 lógico. Transición falsa (glitch) Cambio momentáneo, abrupto y de corta duración en el voltaje. Transistor activo en nivel alto Véase Transistor de fuente de corriente. Transistor activo en el nivel bajo Véase Transistor de carga de corriente. Transistor de disipación de corriente Nombre dado al transistor de salida (Q4) de un

circuito TTL. El transistor se enciende cuando el nivel lógico 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 lógico de la salida es ALTO.

Transitorios de corriente Espigas de corriente generadas por la estructura de salida en

forma de tótem de un circuito TTL y que son causados cuando ambos transistores se encienden al mismo tiempo.

Transmisión paralela Transferencia simultánea de todos los bits de un número binario de

un lugar a otro.

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.

119 Transmisión serial Transferencia de información binaria de un lugar hacia otro un bit a la

vez. Transparente Término que se refiere a la operación de un registro básico (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 básico TTL

con excepción de que los valores de todas las resistencias son mayores. TTL Schottky Subfamilia TTL que emplea circuitos estándar TTL con la excepción 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 idéntico pero con valores de resistencia más grande. TTL (lógica transistor-transistor) Tecnología de circuito integrado que emplea

transistores bipolares como su elemento principal de circuito. ULSI Ultra gran escala de integración (más de 100,000 compuertas). Unidad aritmética-lógica (ALU) Circuito digital utilizado en computadoras para efectuar

varias operaciones aritméticas y lógicas. Unidad central de procesamiento (CPU) Parte de una computadora que está compuesta

por una unidad aritmético-lógica (ALU) y una de control. Unidad de carga (UL) Forma en que algunos fabricantes especifican las corrientes de

entrada y salida. En un circuito lógico TTL estándar, 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 señales de temporización necesarias para la ejecución de tales instrucciones.

Unidad de entrada Parte de una computadora que facilita la alimentación de información

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 aritmética-lógica.

Aprenda PLD’s 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. Verificación por suma total (checksum) Palabra de datos especial que se guarda en la

última localidad de una ROM. Se obtiene de la adición de todas las demás palabras de datos que están en la ROM y se emplea con fines de verificación 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 integración (entre 10,000 y 99, 999 compuertas).

Aprenda PLD’s Principios y Aplicaciones. L. Gerardo Flores R.