Logo Studenta

Investigación de Dispositivos Lógicos Programables

¡Estudia con miles de materiales!

Vista previa del material en texto

Dispositivos Lógicos Programables
Dispositivos Lógicos Programables
Marı́a Fernanda Maldonado B.
Escuela de Ingenierı́a Mecatrónica, Universidad Internacional del Ecuador, Quito, Ecuador
Electrónica II
I. INTRODUCCIÓN
Los dispositivos lógicos programables han tenido un
crecimiento exponencial desde la aparición de los sis-
temas digitales. Microcontroladores, y todos los com-
ponentes lógicos ahora caben en una sola matriz de
compuertas lógicas programable en campo. Todo esto
va de la mano con los lenguajes de descripción del
hardware, que son la forma en la que las computadoras
describen hardware. La mayorı́a de los circuitos lógicos
en la actualidad se implementan usando PLDs.
II. DISPOSITIVOS LÓGICOS PROGRAMABLES (PLDS)
Son dispositivos configurados electrónicamente para
formar circuitos lógicos. El alambrado de estos dispos-
itivos tiene la caracterı́stica de ser “programable”. Esto
quiere decir que en un mismo circuito integrado ten-
dremos varias compuertas lógicas y podremos controlar
de qué forma queremos usarlas.
Figura 1. Matriz de conexiones [1]
La Figura 1 muestra como se ve una parte de las
conexiones de un circuito lógico programable. Cada
cruce de alambres es una conexión programable. Debido
a que estos dispositivos tienen miles de conexiones a 1
lógico o 0 lógico, conectar manualmente cada conexión
serı́a imposible. Y ası́ es como los dispositivos lógicos
programables nos brindan automatización en el proceso
de diseño y desarrollo de un circuito lógico. Mediante
un software que va a tener su lenguaje de descripción
para PLDs.
Con esta gran ventaja entre manos, el proceso de diseño
e implementación de sistemas digitales se reduce a:
• Identificar entradas y salidas.
• Establecer la lógica entre las entradas y salidas.
• Usar un PLD para implementar el circuito.
III. HARDWARE DE UN PLD
Existen algunas formas de realizar estos miles de
conexiones que tienen los PLDs, por ejemplo, se podrı́a
realizar mediante una Matriz de Conmutación, la Figura
1 representa una matriz de conmutación.
Como se ve en la figura la matriz consta de entradas
(alambres verticales) y de salidas (alambres horizon-
tales). Cada intersección es programable, como ya se
habı́a dicho antes, y esto se logra mediante interruptores
que pueden conectarse y desconectarse a voluntad del
usuario por medio de lenguajes de descripción. Los
interruptores pueden ser de varios tipos como inter-
ruptores mecánicos, enlaces de fusibles, interruptores
electromagnéticos (relevadores) o transistores. [1]
En los PLDs esta matriz de conmutación se denomina
Arreglo Programable Lógico (PAL).
IV. PROGRAMACIÓN DE UN PLD
Cuando se dice que se va a programar un PLD se
requieren de los siguientes elementos:
• El chip del PLD: Es el circuito integrado al que le
colocaremos nuestra lógica.
1 / 3
Dispositivos Lógicos Programables
Figura 2. Arquitectura de una PAL tı́pica. [1]
• Programador: Dispositivo en el que colocaremos el
chip del PLD para que sea programado.
• Software de desarrollo: Por medio una computadora
personal, por ejemplo, podemos programar la lógica
del PLD mediante algún software de desarrollo.
Después de retirar el chip del PLD y colocarlo en
el programador, se usa el software de desarrollo el
cual contiene bibliotecas sobre varios chips que son
programables, entre esos debe estar el que queremos
programar. El programador deberá estar conectado con
la computadora para realizar la programación.
También existe otra manera de programar un PLD, en
donde no es necesario retirar el chip del PLD. Este
método se llama programación en sistema (ISP). Esta
interfaz consiste en que el chip debe tener 4 terminales
para almacenar datos. Ası́, mediante un cable a la
computadora se puede establecer contacto con estas 4
terminales del circuito integrado. Y transmitir mediante
algún software la información deseada.
V. SOFTWARE DE DESARROLLO
Se usan lenguajes de descripción de hardware (HDL)
para describirle a una computadora un circuito lógico.
Dos de ellos son el lenguaje de descripción de hardware
de Altera (AHDL) y el lenguaje de descripción de
hardware para circuitos integrados de muy alta velocidad
(VHDL). [1]
VHDL es un lenguaje universal que está diseñado para
describir cualquier circuito lógico mientras que AHDL
se usa para programar sistemas digitales en PLDs de la
compañı́a Altera.
Para programar un PLD se necesita de algún software de
desarrollo, el software permitirá programar el PLD me-
diante diagramas esquemáticos, lenguaje de descripción
o diagramas de tiempos. Se puede utilizar distintos
métodos y luego unirlos entre si también. A esto se le
conoce como diseño jerárquico.
Cuando programemos en el software de desarrollo se
nos pedirá ingresar el tipo de chip usado, el número de
entradas y salidas que vamos a usar, el nombre (variable)
que representará a esta entrada/salida y relación lógica
entre estas variables.
A. Proceso de diseño y desarrollo
Después de diseñar el circuito, el compilador del
software le indicará si existen errores en su lógica. El
programador no entenderá su lógica hasta que esta no
contenga errores.
También existen software de desarrollo que permiten
simular el circuito para visualizar lo que hará cada
componente o el estado lógico de estos durante un
determinado tiempo.
2 / 3
Dispositivos Lógicos Programables
Figura 3. Diagrama para el diseño de PLDs. [1]
VI. APLICACIONES
En vista que se puede programar para varias cosas, se
pueden realizar todo tipo de lógicas con los PLDs, aquı́
unos ejemplos:
• Contadores.
• Codificadores y decodificadores.
• Verificadores de paridad y chequeo de errores.
• Controladores de memoria y E/S para microproce-
sadores.
VII. FPGAS
Los PLDs pueden clasificarse en tres tipos distintos:
dispositivos lógicos programables simples (SPLDs), dis-
positivos lógicos programables complejos (CPLDs) o
matrices de compuertas programables en campo (FP-
GAs). A los CPLDs y FPGAs se les conoce como dispos-
itivos lógicos programables de alta capacidad (HCPLDs).
Las FPGAs son varios módulos lógicos programables
independientes, comúnmente cada módulo maneja 4 o
5 variables de entrada. A diferencia de los dispositivos
lógicos programables simples, los HCPLDs contienen
muchas más compuertas, miles. Por esto, los HCPLDs
sirven para sistemas digitales complejos. Para introducir
la lógica deseada dentro de los FPGAs se usan Tablas de
búsqueda (LUT), en donde similar a una tabla de verdad,
le podemos asignar una salida a cada posible entrada.
Figura 4. Arquitectura de FPGA. [1]
En la figura 4 podemos ver la arquitectura de un
FPGA, las lı́neas punteadas representan las interconex-
iones programables entre los bloques lógicos. Para pro-
gramar un FPGA podemos usar las tecnologı́as SRAM,
Flash y antifusible.
A. Aplicaciones
• Redes neuronales artificiales.
• Redes de transporte ópticas.
• Procesamiento de red.
• Interfaces de conectividad.
BIBLIOGRAFÍA
[1] R. Tocci, N. Widmer, and G. Moss, Sistemas Digitales Principios
y Aplicaciones, décima edi ed. Pearson Educación, México,
2007, 2007.
3 / 3

Continuar navegando