Software y Logica Programable

SOFTWARE Y LOGICA PROGRAMABLE INTRODUCCION En este capítulo, se analiza la arquitectura (organización y estructura inter

Views 25 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

SOFTWARE Y LOGICA PROGRAMABLE INTRODUCCION En este capítulo, se analiza la arquitectura (organización y estructura interna) de los dispositivos SPLD, CPLD y FPGA. Las explicaciones sobre las herramientas de desarrollo software cubren el flujo de diseño genérico para programar un dispositivo, incluyendo la introducción del diseño, la simulación funcional, la síntesis, la implementación, la simulación de temporización y la descarga. LÓGICA PROGRAMABLE: DISPOSITIVOS SPLD Y CPLD Dos de los principales tipos simples de dispositivos de lógica programable (SPLD) son la PAL y la GAL. SPLD: la PAL Una PAL (Programmable Array Logic, dispositivo lógico de matriz programable) consta de una matriz programable de puertas AND que se conecta a una matriz fija de puertas OR. Generalmente, las PAL se implementan con tecnología de proceso basada en fusibles y es, por tanto, programable una sola vez (OTP). La estructura PAL permite implementar cualquier expresión lógica de tipo suma de productos (SOP, sumof-products) con un número definido de variables.

Cada conexión programable, que es un fusible en el caso de una PAL, se denomina celda. Implementación de una expresión suma de productos. En la Figura 11.2 se muestra cómo se programaría un ejemplo de PAL simple

SPLD: la GAL

SPLD: la GAL La GAL es esencialmente una PAL que puede reprogramarse. La diferencia básica es que la GAL utiliza una tecnología de proceso reprogramable, como por ejemplo EEPROM (E2 CMOS), en lugar de emplear fusibles. Notación simplificada para diagramas PAL/GAL Los dispositivos PAL y GAL reales tienen numerosas puertas AND y OR además de otros elementos, y son capaces de aceptar muchas variables, junto con sus complementos .La mayoría de los diagramas PAL y GAL que podremos ver en una hoja de características utilizan notación simplificada. Las variables de entrada a una PAL o a una GAL suelen pasarse por un buffer para evitar cargarlas con el gran número de entradas de puertas AND a las que están conectadas.

EJEMPLO Mostrar cómo se programaría una PAL para la siguiente función lógica de 3 variables:

Solución

Diagrama de bloques general de una PAL/GAL Recuerde que la diferencia básica es que una GAL tiene una matriz reprogramable mientras que la PAL sólo puede programarse una vez. El conjunto formado por una puerta OR y su lógica de salida asociada suele denominarse macrocelda. Macroceldas

Macroceldas Generalmente, una macrocelda consiste en una puerta OR y cierta lógica de salida asociada. Las macroceldas varían en su complejidad dependiendo del tipo concreto de PAL o GAL. Una macrocelda puede configurarse para implementar lógica combinacional, lógica registrada o una combinación de ambos tipos de lógica. La lógica registrada significa que existe un flip-flop en la celda que permite implementar funciones de lógica secuencial.

Dispositivos SPLD Generalmente, los encapsulados de los SPLD suelen tener entre 20 y 28 pines. Dos factores que pueden usarse para determinar si una cierta PAL o GAL resulta adecuada para un diseño lógico determinado son el número de entradas y salidas y el número de puertas equivalentes o densidad del dispositivo.

Dispositivos CPLD Un dispositivo CPLD (Complex Programmable Logic Device) consta básicamente de múltiples matrices SPLD con interconexiones programables. Aunque la organización interna de los dispositivos CPLD varía de unos fabricantes a otros, la figura representa un dispositivo CPLD genérico. Cada una de las matrices SPLD de un CPLD se denomina LAB (Logic Array Block, bloque de matriz lógica). También se utilizan otras designaciones, bloque funcional, bloque lógico o bloque genérico.

DISPOSITIVOS CPLD DE ALTERA Altera fábrica varias familias de dispositivos CPLD incluyendo las familias MAX II, MAX 3000 y Max 7000. En esta sección, nos vamos a centrar principalmente en la familia MAX 7000 para ilustrar los conceptos de la arquitectura tradicional de los CPLD. CPLD MAX 7000 La arquitectura de un CPLD es la forma en que están organizados y dispuestos los elementos internos del dispositivo. La arquitectura de la familia MAX 7000 es similar al diagrama de bloques de un CPLD genérico. Tiene la estructura clásica PAL/GAL que permite generar funciones suma de producto.

La macrocelda. En la Figura 11.12 se muestra un diagrama simplificado de una macrocelda de la serie MAX 7000. La macrocelda contiene una pequeña matriz AND programable con cinco puertas AND, una puerta OR, una matriz de selección de términos producto para conectar las salidas de las puertas AND a la puerta OR y una lógica asociada que puede programarse para actuar como entrada, como salida de lógica combinacional o como salida registrada. Líneas de expansión compartidas. En cada macrocelda de un bloque LAB hay disponible un término producto complementado que puede utilizarse para incrementar el número de términos producto en una expresión suma de productos. Cada macrocelda MAX 7000 puede generar hasta cinco términos producto mediante su matriz AND. Si una macrocelda necesita más de cinco términos producto para generar su salida suma de productos, puede emplear un término de expansión procedente de otra macrocelda. Términos de expansión paralelos. Otra forma de incrementar el número de términos producto de una macrocelda consiste en utilizar términos de expansión paralelos, en los que los términos producto adicionales se combinan mediante una operación OR con los términos generados en la macrocelda en lugar de combinarse en la matriz AND, como sucede en los términos de expansión compartidos. Cada macrocelda puede apropiarse de términos producto no utilizados en las macroceldas vecinas (hasta cinco términos producto de otras tres macroceldas en los dispositivos MAX 7000).

El CPLD MAX II La arquitectura del CPLD MAX II difiere enormemente de la familia MAX 7000 y es lo que Altera denomina un dispositivo CPLD "post-macrocelda". Como se muestra en el diagrama de bloques de la Figura 11.17, este dispositivo contiene bloques de matriz lógica (LAB) cada uno de los cuales está compuesto por múltiples elementos lógicos (LE, Logic Element). Él LE es la unidad básica de diseño lógico y su papel es análogo al de la macrocelda.