Descarga la aplicación para disfrutar aún más
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
Compartir