ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tutoral VHDL En Español


Enviado por   •  25 de Septiembre de 2011  •  10.129 Palabras (41 Páginas)  •  887 Visitas

Página 1 de 41

1.1 Dispositivos Lógicos Programables

Un dispositivo lógico programable, o PLD (Programmable Logic Device), es un dispositivo cuyas características pueden ser modificadas y almacenadas mediante programación. El principio de síntesis de cualquier dispositivo lógico programable se fundamenta en el hecho de que cualquier función booleana puede ser expresada como una suma de productos. El dispositivo programable más simple es el PAL (Programmable Array Logic). El circuito interno de un PAL consiste en un arreglo, o matriz, de compuertas AND y un arreglo de compuertas OR. El arreglo AND es programable mientras que el OR generalmente es fijo. Mediante una matriz de conexiones se seleccionan cuales entradas serán conectadas al arreglo AND, cuyas salidas son conectadas al arreglo OR y de esta manera obtener una función lógica en forma de suma de productos. Una matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección.

La mayoría de los PLDs están formados por una matriz de conexiones, una matriz de compuertas AND, y una matriz de compuertas OR y algunos, además, con registros. Con estos recursos se implementan las funciones lógicas deseadas mediante un software especial y un programador. Las matrices pueden ser fijas o programables. El tipo más sencillo de matriz programable, que data de los años 60, era una matriz de diodos con un fusible en cada punto de intersección de la misma. En la figura 1.1 se muestran los circuitos básicos para la mayoría de los PLDs.

Figura 1.1 Estructuras básicas de un PLD

1.1.1 Matriz Genérica Programable

Una Matriz Genérica Programable (GAL, Generic Array Logic) es una denominación que utilizaba originalmente Lattice Semiconductor y que más tarde se licenció a otros fabricantes. Un GAL en su forma básica es un PLD con una matriz AND reprogramable, una matriz OR fija y una lógica de salida programable mediante una macrocelda. Esta estructura permite implementar cualquier función lógica como suma de productos con un numero de términos definido.

En los PLDs no reprogramables la síntesis de las ecuaciones lógicas se realiza mediante quema de fusibles en cada punto de intersección de los pines de entrada con las compuertas.

En el caso de un GAL es básicamente la misma idea pero en vez de estar formada por una red de conductores ordenados en filas y columnas en las que en cada punto de intersección hay un fusible, el fusible se reemplaza por una celda CMOS eléctricamente borrable (EECMOS). Mediante la programación se activa o desactiva cada celda EECMOS y se puede aplicar cualquier combinación de variables de entrada, o sus complementos, a una compuerta AND para generar cualquier operación producto que se desee. Una celda activada conecta su correspondiente intersección de fila y columna, y una celda desactivada desconecta la intersección. Las celdas se pueden borrar y reprogramar eléctricamente. A continuación se muestran la estructura típica de un GAL y la macrocelda de salida del GAL22V10.

Figura 1.2 Estructura típica de un GAL

FIGURA 1.3 Macrocelda de un GAL22V10

1.2 CPLD

Un CPLD (Complex Programmable Logic Device) extiende el concepto de un PLD a un mayor nivel de integración ya que permite implementar sistemas con un mejor desempeño porque utilizan menor espacio, mejoran la confiabilidad en el circuito, y reducen costos. Un CPLD se forma con múltiples bloques lógicos, cada uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones lo cual hace más eficiente el uso del silicio, conduciendo a un mejor desempeño y un menor costo. A continuación se explican brevemente las principales características de la arquitectura de un CPLD.

Figura 1.4 Arquitectura Básica de un CPLD

1.2.1 Matriz de Interconexiones Programables

La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del bloque lógico, o las salidas del bloque lógico a las entradas de otro bloque lógico o inclusive a las entradas del mismo. La mayoría de los CPLDs usan una de dos configuraciones para esta matriz: interconexión mediante arreglo o interconexión mediante multiplexores.

El primero se basa en una matriz de filas y columnas con una celda programable de conexión en cada intersección. Al igual que en el GAL esta celda puede ser activada para conectar/desconectar la correspondiente fila y columna. Esta configuración permite una total interconexión entre las entradas y salidas del dispositivo o bloques lógicos. Sin embargo, estas ventajas provocan que disminuya el desempeño del dispositivo además de aumentar el consumo de energía y el tamaño del componente.

En la interconexión mediante multiplexores, existe un multiplexor por cada entrada al bloque lógico. Las vías de interconexión programables son conectadas a las entradas de un numero de multiplexores por cada bloque lógico. Las líneas de selección de estos multiplexores son programadas para permitir que sea seleccionada únicamente una vía de la matriz de interconexión por cada multiplexor la cual se propagara a hacia el bloque lógico. Cabe mencionar que no todas las vías son conectadas a las entradas de casa multiplexor. La rutabilidad se incrementa usando multiplexores de mayor tamaño, permitiendo que cualquier combinación de señales de la matriz de interconexión pueda ser enlazada hacia cualquier bloque lógico. Sin embargo, el uso de grandes multiplexores incrementa el tamaño de dispositivo y reduce su desempeño.

1.2.2 Bloques Lógicos

Un bloque lógico es similar a un PLD, cada uno pose un arreglo de compuertas AND y OR en forma de suma de productos, una configuración para la distribución de estas sumas de productos, y macroceldas. El tamaño del bloque lógico es una medida de la capacidad del CPLD, ya que de esto depende el tamaño de la función booleana que pueda ser implementada dentro del bloque. Los bloques lógicos usualmente tienen de 4 a 20 macroceldas.

Figura 1.5 Estructura de un Bloque Lógico en dispositivos de

las familias MAX340 y MAX5000

1.2.3 Distribución de Productos

Existen pequeñas diferencias en cuanto a las matrices de productos, esto dependerá del CPLD y del fabricante. Obviamente el tamaño de las sumas sigue siendo el factor más importante para la implementación de funciones booleanas. Cada fabricante distribuye los productos de diferente forma. La familia MAX de CPLDs fue desarrollada por Cypress Semiconductor junto con Altera Corporation, siendo los primeros en sacar al mercado unan familia de CPLDs. Altera la llamó MAX5000 y Cypress por su parte la clasificó como

...

Descargar como (para miembros actualizados) txt (64 Kb)
Leer 40 páginas más »
Disponible sólo en Clubensayos.com