Los Dispositivos Lógicos Programables.docx

  • Uploaded by: Ana Luisa Salazar
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Los Dispositivos Lógicos Programables.docx as PDF for free.

More details

  • Words: 1,330
  • Pages: 4
Los Dispositivos Lógicos Programables (PLD´s) son circuitos integrados, que proporcionan una solución al diseño de forma análoga. VHDL TIPOS DE DESCRIPCION DE PROGRAMA (ESTRUCTURA) Como se ha dicho antes, VHDL sirve para describir un circuito electrónico, pero el mismo circuito puede ser descrito de varias formas. Las formas de hacerlo son: - Descripción de comportamiento - Descripción de flujo de datos (RTL Registred Transfer Level) - Descripción estructural Los tres ejemplos de código son sólo las arquitecturas, los tres podrían tener como entidad:

Descripción de comportamiento Una descripción de comportamiento de un multiplexor de dos entradas, una salida y una señal de selección sería: la salida será igual a la primera entrada si la señal de control está desactivada y la salida será la segunda entrada si la señal de control está activada. En VHDL la arquitectura de este multiplexor para la entidad llamada mux sería:

Descripción de flujo de datos En una descripción de flujo de datos del mismo multiplexor la salida sería la ecuación lógica: s=(entrada1 AND NOT control) OR (entrada2 AND control) En VHDL la arquitectura sería:

Descripción estructural Una descripción estructural consistiría en decir que el circuito tiene una puerta inversora U1, dos puertas AND de dos entradas U2 y U3 y una puerta lógica OR de dos entradas U4, además también describe las conexiones entre estas puertas, un ejemplo sería: la entrada de U1 es la señal de control, la salida de U1 se conecta a la segunda entrada de U2, la primera entrada de U1 es entrada1, etc. El código VHDL sería:

En el código anterior se deberían haber definido previamente las puertas inversor, and_2_entradas y or_2_entradas. DISEÑO CON VHDL El lenguaje VHDL es en principio independiente del dispositivo programable que debamos utilizar. Puede incluso utilizarse para hacer una simulación sin hacer referencia al CI programable. Además, el lenguaje es suficientemente flexible para que un mismo problema admita diferentes codificaciones. Sin embargo, no todas estas codificaciones darán los mismos resultados en cuanto a prestaciones y uso de recursos a la hora de programar un circuito dado. Aunque los programas informáticos permiten optimizar el paso de un código VHDL al fichero de programación de un CI programable, no podemos esperar en la actualidad que la solución encontrada sea la mejor. Por otro lado, optimizar puede tener sentidos distintos. Un diseñador puede estar interesado en obtener la máxima frecuencia de trabajo, o bien en reducir la utilización de recursos del CI, de forma que quede espacio para programar otras lógicas. Es tarea del diseñador ayudar “a mano” a que el resultado final sea lo más eficiente posible. Es más, a veces la forma de escribir el código VHDL depende del dispositivo que se use (por ejemplo si es una FPGA o un CPLD). El ciclo de diseño se puede dividir, en general, en 3 fases: especificación, validación, materialización. En la especificación se introduce el diseño bien mediante captura esquemática, bien mediante un lenguaje de descripción hardware (HDL). El diseño debe verificarse sintácticamente. Con la generación del “netlist” (síntesis) tenemos la descripción de una serie de elementos lógicos conectados y podemos pasar a realizar la validación del diseño, mediante la simulación. La simulación puede ser funcional, considerando los elementos como ideales (sin retrasos), o estructural, en el que la herramienta informática incorpora modelos más elaborados de los elementos lógicos que permiten realizar la simulación incorporando retrasos. En este último caso, podemos abordar además el análisis de los tiempos de setup y de hold. La simulación funcional es más rápida y se aconseja realizarla primero hasta que la lógica de nuestro diseño se compruebe. Una vez que se ha realizado la simulación funcional podemos pasar a la implementación física, es necesario una etapa de síntesis y ajuste (“fitting”) en el que el diseño se divide en elementos asimilables a los recursos físicos de nuestra PLC (sumas de productos, multiplexores, memoria embebida). Se puede observar en la figura que se pueden generar netlist tomando como base diferentes tipos de

elementos, por ejemplo, puertas elementales al inicio del diseño, o bien los elementos que realmente se encuentran en un dispositivo programable, una vez que sabemos cuál vamos a utilizar. Requerimientos y limitaciones. En un diseño existen una serie de requerimientos previos como pueden ser: - El diseño debe estar terminado en una cierta fecha. - Debe funcionar correctamente, con el mínimo de material. - Debe ser capaz de operar a una cierta frecuencia. - No puede superar un cierto coste económico. - Debe ajustarse a un circuito más complejo (limitaciones de espacio y compatibilidad). El orden de los requerimientos puede ayudar a tomar decisiones. Por ejemplo, si la fecha limite es el requerimiento más importante, el diseñador no dedica más tiempo a mejorar un diseño que ya cumple el resto de requerimientos. Si la frecuencia de operación es un parámetro más crítico que el coste, no se pierde tiempo intentando reducir el área si las prestaciones ya son suficientes. Es necesario tener en cuenta también las limitaciones de los CI programables: - Número de salidas/entradas. - Número de biestables. - El número de términos producto (o capacidad booleana). - Las posibles combinaciones de reset/preset que admita. - Los posibles esquemas de distribución reloj. - La capacidad de interconexión interna de señales. A la hora de decidir entre una CPLD o una FPGA es importante tener en cuenta algunas consideraciones. Las CPLDs proporcionan habitualmente las mejores prestaciones, pero también contienen menos registros que las FPGAs. Las CPLDs pueden implementar funciones más complicadas en un sólo pase (sin que la salida sea realimentada al integrado) y en ellas el análisis de tiempos es más fácil. Las FPGAs son más flexibles en cuanto a la construcción de celdas lógicas en cascada debido a su granularidad más fina (celdas lógicas más sencillas, pero en mayor número que en una CPLD, y con mayor capacidad de conexión). La optimización y el análisis de tiempos son más difíciles en una FPGA. Antes de elegir un dispositivo, es conveniente entender qué recursos necesita un diseño, su funcionamiento, así como los objetivos de prestaciones, coste y otros. Con todos los requerimientos en una lista, se pueden comparar las necesidades con lo que un dispositivo puede ofrecer. Finalmente, hay que contar por supuesto con un software adecuado y manejable. Las etapas de síntesis y ajuste La síntesis (synthesis) es el proceso de crear las ecuaciones lógicas o las listas de nodos a partir del código VHDL. El proceso de ajuste (fitting) consiste en encontrar la manera de que esa lógica sea realizada por un dispositivo programable. Una optimización específica del dispositivo se puede dar tanto en un proceso como en otro. El término fitting se usa normalmente para referirse a CPLDs. El software de ajuste (fitter) se encarga de repartir la lógica entre las macroceldas y de conectar y enviar las señales a través de la matriz de interconexiones. El análogo en FPGA es el término de colocación y conexionado (place and routing), que es el proceso de determinar qué celdas lógicas serán utilizadas y cómo las señales se transmitirán de una a otra. El software de síntesis puede pasar al software de ajuste unas ecuaciones lógicas que indiquen qué recursos se

utilizarán, o puede pasar unas ecuaciones no optimizadas, siendo tarea del "fitter" dicha optimización. Lo importante es que los programas de síntesis y ajuste estén bien acoplados, es decir que el "fitter" reciba la información del algoritmo de síntesis de una forma que le permita producir la mejor implementación. Si el "fitter" no produce ninguna optimización, entonces el proceso de síntesis debe pasar una ecuaciones lógicas y una información de forma que el "fitter" no tenga más que situar la lógica.

Flip-Flops El "Flip-flop" es el nombre común que se le da a los dispositivos de dos estados, que sirven como memoria básica para las operaciones de lógica secuencial. Los Flip-flops son ampliamente usados para el almacenamiento y transferencia de datos digitales y se usan normalmente en unidades llamadas "registros", para el almacenamiento de datos numéricos binarios.

Related Documents


More Documents from ""

Proyecto Metrologia.pdf
November 2019 10
November 2019 15
Dibujos.docx
November 2019 12
Unidad Ii.pptx
November 2019 10