Está en la página 1de 14

Electrónica digital

Sesión 13 Programación de dispositivos lógicos


programables(PLD)
saber hacer para competir

Objetivo
Describir el proceso de programación de los dispositivos digitales programables.

Estructurar un programa de circuitos lógicos combinacionales y secuenciales a partir de la función


lógica o su diagrama esquemático y, además, programar circuitos lógicos combinacionales y
secuenciales en dispositivos lógicos programables PAL o GAL.

Introducción

En la sesión anterior, se presentó, de manera breve, la arquitectura interna de los dispositivos


lógicos programables (PLD). Ahora es momento de que empieces a involucrarte en la programación
de los mismos y en el procedimiento que se ha de seguir para realizar esta tarea.

Es importante conocer el lenguaje de programación llamado, por lo común, Lenguaje de Estructura


Hardware, con el fin de poder seguir la lógica de programación; es decir, las instrucciones, así como
su sintaxis, y para declarar datos.

De este modo, se pueden transformar los enormes circuitos digitales que requieran demasiados
componentes en un programa que pueda cargarse en un solo CI (circuito integrado).

Esto ayuda a optimizar espacio, consumo de energía, costos y, con ello, el implemento de circuitos
lógicos combinacionales y secuenciales en dispositivos lógicos programables PAL o GAL.

1
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

1. Aspectos importantes para considerar al programar un PLD


Antes de exponer el procedimiento de programación del PLD, deben considerarse algunos
aspectos importantes para luego explicar el funcionamiento del software que se utiliza para la
programación.

Los programas usados para la programación de PLD son nombrados también compiladores lógicos.
Su función es la de procesar y sintetizar el diseño lógico mediante un método específico:

• Ecuación booleana

• Diagrama de estado

• Tabla de verdad

Los PLD más simples —PROM, PAL, GAL— usan un grabador de dispositivos lógicos para
programarse.

No se necesitan introducir al grabador de dispositivos lógicos programables los CPLD y FPGA.


La programación se hace a través de elementos auxiliares dentro de la tarjeta de CI (circuito
integrado).

2
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

1.1. HDL y VHDL


HDL (Lenguajes de descripción en hardware) y VHDL (Hardware Description Language)

Los HDL (Lenguajes de descripción en hardware) surgen de la necesidad de integrar un mayor


número de dispositivos en un solo circuito integrado, ésta es una herramienta de diseño utilizado
para integrar sistemas de mayor complejidad.

Los HDL evolucionaron hasta VHDL (Hardware Description Language) los cuales son lenguajes
de descripción en hardware que permiten abordar un problema lógico solo conociendo las
entradas y las salidas. Tienen gran capacidad para describir los diseños desde distintos niveles de
funcionalidad, transferencia de registros RTL y lógico o nivel de compuertas.

Los distintos niveles de descripción de diseño son:

• Algoritmo: Relación funcional entre entrada y salida del sistema. No hace referencia a la
realización final.

• Transferencia de registros RTL: Participación del sistema en bloques funcionales.

• Lógico o de compuerta: El circuito se expresa en términos de ecuaciones lógicas o de


compuertas.

El VHDL

El VHDL es un lenguaje que sirve para describir y evaluar el comportamiento de un sistema


electrónico digital. También permite la integración de sistemas digitales sencillos de baja o alta
capacidad.

Uno de los cuidados que se deben tener al momento de manipular físicamente estos dispositivos es
tener cuidado al tocar los pines, ya que las cargas estáticas del cuerpo pueden afectar el PLD.

3
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

2. Programación de PLD tipo GAL


El procedimiento para la programación de un PLD tipo GAL es el siguiente:

1.Esquematizar el circuito

2. Definir la solución del sistema (ecuación booleana, tabla de verdad, ecuación de estado,
etc.)

Por ejemplo. Realiza la conexión para obtener los siguientes productos indicados en la parte
izquierda del diagrama propuesto.

La solución se presenta en la siguiente tabla y enseguida los pasos generales para la


programación.

a. Las salidas de los puntos 1, 2 y 3 son:

Salida 1 Ā•B

Salida 2 A • Ḃ

Salida 3 A • Ā

b. 2. La conexión es

3. Una vez obtenidas las ecuaciones, se introduce en la computadora el archivo o fuente de


entrada. En este se encuentran los datos que el compilador deberá realizar.

4. Indicar el dispositivo de PLD que se va a usar.

5. Numerar los pines de entrada y salida.

6. Introducir las variables del diseño.

4
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

7. Definir la función lógica en forma de ecuación booleana o la definida para el compilador.

El ejemplo anterior constituye una forma rápida de representar la secuencia de programación.

Para ilustrar este procedimiento, se presenta la programación del PLD GAL22V10.

Se usará WinCupl para editarlo, y el software de simulación Proteus, para simularlo.

En este ejemplo, se programarán las operaciones booleanas NOT, AND, OR, XOP, NAND, NOR, y
XNOR para tres variables de entrada en el PLD GAL22V10.

En esta primera parte, se observan los pines en el PLD:


•Pines de alimentación a tierra, el 12, y para el voltaje, el 24.

•Pines del 1 al 11 y también el 13 son entradas.

•Pines del 14 al 23 funcionan como entradas/salidas

En este ejemplo, se usarán los pines 1 y 2 como entradas, y los pines del 14 al 20, como salidas.

5
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

2.1.Edición (Generación del archivo .jed)


WinCupl genera el archivo .jed. Este se puede descargar de forma gratuita de la siguiente dirección:
http://www.atmel.com/tools/WINCUPL.aspx.

1. Abrir WinCupl.

2. Aparece la ventana con el menú y las herramientas.

3. En la barra de menus da clic en File, New y Design File.

4. Genera el archivo .jed, en Device cambiar virtual por g22v10. En Name, teclea el nombre
del proyecto que se va a diseñar.

5. Al presionar OK, aparece la ventana INPUT PINS. Aquí coloca los pines de entrada
necesarios. Para este ejemplo serán 2 pines.

6
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

6. Al presionar OK, aparece otra ventana OUTPUT PINS. En esta se colocan los pines
designados como salidas. En este ejemplo son 7.

7. Presionar OK, aparece otra ventana a la cual no se le harán cambios. Presionar el botón
Maximizar.

7
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

8. Aparece la hoja de trabajo.

9. En esta pantalla de trabajo se observan los datos capturados para este PLD.

Los pines de entrada/salida aún no se han definido, tampoco los nombres de sus variables.

Se definieron los pines 1 y 2 como entradas. Debes definir los nombres de las variables y, luego,
realizar las operaciones lógicas* que definirán las funciones del dispositivo.

8
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

Para las salidas, se definieron los pines del 14 al 20, y debes efectuar el mismo procedimiento que
con las entradas.

9
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

2.2. Realización de las operaciones lógicas

Para las salidas, se definieron los pines del 14 al 20, y debes efectuar el mismo procedimiento que
con las entradas.

OPERACIONES LÓGICAS
operador Operación Ejemplos Precedencia
! NOT !A 1
& AND A&B 2
# OR A#B 3
$ XOR A$B 4

Solo se está representando la operación NOT de la variable de entrada. Las ecuaciones lógicas
quedan de la siguiente manera.

10
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

4. En Generalactivar la opción JEDEC name = PLD name.

2. Activa la pestaña Output Files en Download. Activar la opción JEDEC.

11
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

4. En Generalactivar la opción JEDEC name = PLD name.

5. Como paso siguiente, compila el código usando Run/Device Dependent Compile. En la


ventana derecha se observan los archivos generados al terminar de compilar.

12
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

6. Si no se guardaron antes los cambios, se abrirá un diálogo para hacerlo.

7. Al aceptar, se abre el siguiente cuadro con el resultado de la compilación.

13
Universidad Tecnológica Santa Catarina

• Educación a Distancia •
Electrónica digital
Sesión 13 Programación de dispositivos lógicos
programables(PLD)
saber hacer para competir

8. Una vez que se tiene el archivo .jed, se procede a la simulación del proyecto o circuito.
Para esto, se usará el software de simulación Proteus.

Conclusión
En esta sesión aprendiste cómo programar un PLD en un programa sencillo. Con estas bases, te
es posible entender la lógica de programación de estos dispositivos, por lo que podrás desarrollar
otros proyectos de programación con el software sugerido para este propósito.

Se te anima a que sigas practicando la edición y la programación, ya que el mundo de los PLD es
muy extenso, y te brinda ilimitadas posibilidades. Algunas sobrepasan los alcances de este curso.

14
Universidad Tecnológica Santa Catarina

• Educación a Distancia •

También podría gustarte