Upload
francisco-perez-moya
View
226
Download
0
Embed Size (px)
Citation preview
INTRODUCCION A LOS PLD’s
Departamanto de posgradoESCOM-IPN
Av. Juan de Dios Batiz s/nUnidad Profesional Zacatenco
07738, México, D.F.
México D.F. Mayo de 2010
INTRODUCCION A LOS PLD’s
Departamanto de posgradoESCOM-IPN
Av. Juan de Dios Batiz s/nUnidad Profesional Zacatenco
07738, México, D.F.
México D.F. Mayo de 2010
IntroducciónIntroducción
La realidad del diseño lógico actualLa realidad del diseño lógico actual– Complejidad crecienteComplejidad creciente
– Tiempos menores de introducción al mercadoTiempos menores de introducción al mercado
– Disminución costos (Disminución costos (lost market oportunity-costo de oportunidadlost market oportunity-costo de oportunidad))
Las exigencias que plantea sonLas exigencias que plantea son– ConfiabilidadConfiabilidad
– Accesibilidad para pruebasAccesibilidad para pruebas
La meta principal esLa meta principal es– Contar con una solución de uso universalContar con una solución de uso universal
CostosCostos
Fijos GlobalesFijos Globales– Aprendizaje de la tecnologíaAprendizaje de la tecnología– Herramientas de diseñoHerramientas de diseño– De ingeniería del diseñoDe ingeniería del diseño– Costos no repetitivosCostos no repetitivos– Costos de iteración (repetir el diseño)Costos de iteración (repetir el diseño)
Variables por unidad Variables por unidad – Precio del componentePrecio del componente– Accesibilidad para pruebasAccesibilidad para pruebas
Costo fijo + costo unitario * volumenCosto fijo + costo unitario * volumen
Beneficios de una solución universalBeneficios de una solución universal
Fácil adaptabilidad a cambios de diseñoFácil adaptabilidad a cambios de diseño– Aumento de la vida comercial útil del productoAumento de la vida comercial útil del producto– Posibilidad de la reingeniería y compatibilidadPosibilidad de la reingeniería y compatibilidad
Mayor desempeñoMayor desempeño– Rápido, pequeño, confiable y fácil de armarRápido, pequeño, confiable y fácil de armar– Dispositivos semi-customDispositivos semi-custom
Aprovechamiento de los recursos de Aprovechamiento de los recursos de ingenieríaingeniería– Menor costo de desarrolloMenor costo de desarrollo
¿ Qué es un PLD ?¿ Qué es un PLD ?
Es un circuito integrado que contiene una gran cantidad de elementos lógicos que a través de la programación se interconectan para que realice una función específica.
¿ Qué es un PLD ?¿ Qué es un PLD ?
Es un dispositivo cuyas características pueden ser modificadas y almacenadas mediante programación.El dispositivo programable más simple consiste de una matriz de conexiones de compuertas AND y un arreglo de compuertas OR.
Una matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección, mediante el cual se seleccionan cuáles entradas del dispositivo serán conectadas al arreglo AND y cuyas salidas, a su vez, se envían al arreglo OR, para obtener una función lógica en forma de suma de productos.
Notación convencional y notación PLDNotación convencional y notación PLD
Configuraciones básicasConfiguraciones básicas
ArregloArreglo
ANDAND
FijoFijo
ArregloArreglo
OROR
ProgramableProgramable
PLE
Entradas Salidas
ArregloArreglo
ANDAND
ProgramableProgramable
ArregloArreglo
OROR
FijoFijo
PAL
Entradas Salidas
ArregloArreglo
ANDAND
ProgramableProgramable
ArregloArreglo
OROR
ProgramableProgramable
PLA
Entradas Salidas
Configuración PLE/PROMConfiguración PLE/PROM
Configuración PALConfiguración PAL
Configuración PLAConfiguración PLA
Clasificación de los PLD’sClasificación de los PLD’s
SPLD’s
CPLD’s
FPGA’s
PLD’s
Fabricante SPLDAltera Clásicos,FLASHLogicAtmel PAL
Cypress PALLattice GALPhilips PLA,PALVantis PAL
Fabricante CPLDAltera MAX 5000,7000 Y 9000Atmel ATF, ATV
Cypress FLASH370, ULTRA37000Lattice IspLSI 1000 a 8000Philips XPLAVantis MACH 1 a 5Xilinx XC9500, CoolRunner
Productos comerciales
Fabricante FPGAActel ACT 1 a 3 , MX, SXAltera FLEX 6000,8000 Y 10KAtmel AT6000, AT40KLucent ORCA 1 a 3
QuickLogic pASIC1 a 3Vantis VF1Xilinx XC4000,Virtex, Spartan
Integración en un SPLD Integración en un SPLD
PAL’s ó GAL’s
Sustituye a 100 C.I. SSI Sustituye a 100 C.I. SSI TTL o CMOSTTL o CMOS
C.I. Series 74xx y 40xx
Soy un SPLD
Arquitectura PALArquitectura PAL
La Esquema circuital de un PALLa Esquema circuital de un PAL– Se cuenta a lo largo de Se cuenta a lo largo de TODO EL CHIPTODO EL CHIP con los con los literalesliterales de todas de todas
las variables de entrada (la variable y la variable negada)las variables de entrada (la variable y la variable negada)
– Mediante lógica cableada es posible generar Mediante lógica cableada es posible generar términos producto términos producto ((ANDAND) de la cantidad de ) de la cantidad de literalesliterales que se desee que se desee
– Para generar la función sólo es posible sumar (Para generar la función sólo es posible sumar (OROR) hasta 7 u 8 ) hasta 7 u 8 términos productotérminos producto
Suma de 7términos producto
Un término productopara control de tercer estado
Líneas específicas de entrada Retroalimentación desde una E/S
Matriz de fusibles de interconexión
PAL16L8PAL16L8
64 AND de 32 entradas
8 OR de 7 entradas
8 Inversores de tercer estado
16 Buffers doble salida
Aproximadamente :
200 C.I. SSI (TTL o CMOS)
serie 74xx o 40xx
PAL16R8PAL16R8
Incorporación de elementos de memoriaIncorporación de elementos de memoria– Ideal para la síntesis de máquinas secuencialesIdeal para la síntesis de máquinas secuenciales
.................................................
Una señal global decontrol de TriState
Salidas delos registrosTri-State
Feedback desdelos registros
Un único clock global
Entradas dedicadas
Matriz de interconexión global
Arquitectura GALArquitectura GAL
• Macroceldas lógicas de salida
• Suma de 8 a 16 términos producto
La macrocelda consta de:
• Un Flip-Flop
• Dos multiplexores
Limitaciones de los SPLDLimitaciones de los SPLD
Reducida cantidad de macroceldas.Reducida cantidad de macroceldas. La exigencia de optar entre la retroalimentación desde La exigencia de optar entre la retroalimentación desde
la macrocelda o desde la entrada forza que ante la la macrocelda o desde la entrada forza que ante la necesidad de un flip-flop o de un término lógico necesidad de un flip-flop o de un término lógico intermedio a veces se deba perder una posible terminal intermedio a veces se deba perder una posible terminal de entrada/salida.de entrada/salida.
La distribución de todas la señales por todo el chip La distribución de todas la señales por todo el chip consume mucha superficie del silicio y genera retardos consume mucha superficie del silicio y genera retardos capacitivos de importancia.capacitivos de importancia.
En los primeros PAL, el uso de fusibles afectaba En los primeros PAL, el uso de fusibles afectaba
seriamente la confiabilidad del dispositivo.seriamente la confiabilidad del dispositivo.
Integración en un CPLD Integración en un CPLD
PAL’s y GAL’s
Sustituye a 50 SPLD’sSustituye a 50 SPLD’s
Soy un CPLD
CPLD’sCPLD’s
Agrupamiento de las Agrupamiento de las macroceldas macroceldas (LABs)(LABs)
Generación de áreas de Generación de áreas de conexionado global conexionado global (PIA)(PIA)
Generación de áreas de Generación de áreas de conexión dentro del conexión dentro del LABLAB
Expansores para generar Expansores para generar términos producto auxiliarestérminos producto auxiliares
Con un término producto Con un término producto p/control de inversión lógicap/control de inversión lógica
Con un bloque de E/S por cada Con un bloque de E/S por cada macrocelda con macrocelda con dual feedbackdual feedback
De 32 a 192 macroceldas en De 32 a 192 macroceldas en chips de 28 a 100 terminaleschips de 28 a 100 terminales
4..16 pinesde I/O porcada LAB
Inte
rcon
exió
n gl
obal
(P
IA)
Inte
rcon
exió
n de
l LA
B
Matriz demacroceldas
Matriz deexpansores
Blo
que
de
cont
rol d
e E
/S
De líneas de entrada dedicadas (8 a 20)
Macrocelda y ExpansoresMacrocelda y Expansores
Desde terminal E/S
hacia PIA yBloque de control E/S
QDPRN
CLRNENA
LAB Arreglo local
Clear Global
Clock Global
Expansoreslógicos
Clock
Expansores paralelos
Matriz
de
selección
Desde PIA
FPGA’sFPGA’s
Field Programmable Gate Array (Arreglo de compuertasprogramable en el campo).
Es un circuito integrado quecontiene celdas lógicasprogramables (64 a 8,000,000)
Las celdas lógicas se interconectan por medio de una matriz de interconexionesprogramables
Arquitectura del FPGAArquitectura del FPGA
Bloques Lógicos
Interconexión Programable
Bloques de E/S
Bloque Lógico del FPGABloque Lógico del FPGA
Densidades de FPGA’sDensidades de FPGA’s Spartan II XC2S15 15, 000* Spartan IIE XC2S150E 150,000* Virtex E XCV50E 72,000* Virtex E XCV3200E 4,047,000* Virtex II XC2V40 40,000* Virtex II XC2V8000 8,000,000*
* Compuertas equivalentes (System gates)
Densidades de IP CoresDensidades de IP Cores
• Encriptador AES 40,000*• Microcontrolador 80530 130,000*• Microcontrolador 8051 150,000*• Decodificador Viterbi 190,000*• Controlador de Ethernet 195,000*• Decodificador JPEG color 780, 000*
* Compuertas equivalentes (System gates)
Varían dependiendo de la densidad y velocidad
Spartan 20,000 compuertas ~ US$1
Spartan 100,000 compuertas ~ US$20
Virtex 300,000 compuertas ~ US$150
Virtex II 8-millones compuertas ~ US$8,000
Costos de FPGA’sCostos de FPGA’s
Xilinx vs. AlteraXilinx vs. Altera
CPLD’s
FPGA’s
Software
Sistema básico y Flujo de Diseño con Lógica Programable
Programador – OpcionalProgramador – Opcional
Software CAE/CAD – Software CAE/CAD – p.ej. WebPack (Gratuito) de p.ej. WebPack (Gratuito) de XilinxXilinx
Sistema Básico de Sistema Básico de DesarrolloDesarrollo
Computadora Personal / Computadora Personal / Estación de TrabajoEstación de Trabajo
Introducción/Descripción del Diseño•Captura Esquemática•Descripción basada en Lenguaje
Introducción/Descripción del Diseño•Captura Esquemática•Descripción basada en Lenguaje
Realización/Implementación del Diseño•Translación/Síntesis del Diseño•Verificación de Reglas de Diseño•Partición y Mapeo de Lógica•Asignación o Colocación (Place) de la Lógica en los Bloques configurables•Enrutamiento (Route)•Creación de Archivo de Programación
Realización/Implementación del Diseño•Translación/Síntesis del Diseño•Verificación de Reglas de Diseño•Partición y Mapeo de Lógica•Asignación o Colocación (Place) de la Lógica en los Bloques configurables•Enrutamiento (Route)•Creación de Archivo de Programación
Programación-DispositivoProgramación-Dispositivo
Simulación Funcional•Verificación de la funcionalidad de la Lógica•Temporización estimada (opcional)
Simulación Funcional•Verificación de la funcionalidad de la Lógica•Temporización estimada (opcional)
Simulación Temporizada•Se requiere de información de temporización posterior a los procesos de Colocación (Place) y Enrutamiento (Route)
Simulación Temporizada•Se requiere de información de temporización posterior a los procesos de Colocación (Place) y Enrutamiento (Route)
Análisis de Temporización Estático•Se requiere de información de temporización posterior al proceso de Colocación (Place) y Enrutamiento (Route)•Objetivo: Obtener resultados mejores a los de la simulación temporizada
Análisis de Temporización Estático•Se requiere de información de temporización posterior al proceso de Colocación (Place) y Enrutamiento (Route)•Objetivo: Obtener resultados mejores a los de la simulación temporizada
Depuración del diseño integrado al Sistema (In-System) siendo desarrollado •Para dispositivos reprogramables•Uso de otros Sistemas de Software & Hardware
Depuración del diseño integrado al Sistema (In-System) siendo desarrollado •Para dispositivos reprogramables•Uso de otros Sistemas de Software & Hardware
Verificación del Diseño
Limitación:Limitación: Difícil o imposible la manipulación Difícil o imposible la manipulación de diseños complejosde diseños complejos
ABELABEL
CUPLCUPL
VerilogVerilog
VHDLVHDL
De Alto Nivel:De Alto Nivel:
PALASMPALASM
OPALOPAL
PLPLPLPL
De Bajo Nivel:De Bajo Nivel:
¿ Cuál es la primera fase del diseño de un sistema digital utilizando SPLD’s, CPLD’s y FPGA’s ?
¿ Cuál es la primera fase del diseño de un sistema digital utilizando SPLD’s, CPLD’s y FPGA’s ?
Descripción por LenguajeDescripción por Lenguaje
Captura Esquemática (p.ej. OrCAD)Captura Esquemática (p.ej. OrCAD)
MétodosMétodos
Descripción del DiseñoDescripción del Diseño
Diseño utilizando lógica programableDiseño utilizando lógica programable
El uso de lógica programable no descarta el uso de lógica El uso de lógica programable no descarta el uso de lógica discreta, sino que la restringe a casos muy simples.discreta, sino que la restringe a casos muy simples.
Es una herramienta rápida, de alta confiabilidad, y de Es una herramienta rápida, de alta confiabilidad, y de bajísimo costo por compuerta.bajísimo costo por compuerta.
La fácil modificación de un diseño permite asegurar el La fácil modificación de un diseño permite asegurar el mantenimiento y actualización de un producto.mantenimiento y actualización de un producto.
Conocer profundamente las técnicas de diseño lógico es la Conocer profundamente las técnicas de diseño lógico es la mejor manera de aprovechar la lógica programable.mejor manera de aprovechar la lógica programable.
Se pasa del diseño por compuertas al diseño por sistemas.Se pasa del diseño por compuertas al diseño por sistemas.
ConclusionesConclusiones ::