TEMA 1 Introducción a los sistemas programables avanzados



Documentos relacionados
BLOQUE 2. (PARTE 3: Tema 1) CONJUNTO CONFIGURABLE DE PUERTAS FPGA (Field Programmable Gate Array) Clasificación y descripción

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.

LÓGICA PROGRAMABLE. Introducción Simple PLDs Complex PLDs FPGAs. Dpto. Ingeniería Electrónica y Comunicaciones

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

5. Metodologías de diseño de un ASIC

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

1.1. Tecnologías de diseño de circuitos integrados

Reprogramación de módulos de control

DESCRIPCION DEL SITEMA MASTER.

Encuesta sobre utilización de la microelectrónica en la Argentina

Unidad Orientativa (Electrónica) Amplificadores Operacionales

Laboratorio 4: Uso de una FPGA

Gestión digital sencilla de controladores de fuentes de alimentación analógicas

Tema IV. Unidad aritmético lógica

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

Tema 11: Sistemas combinacionales

Introducción a FPGAs. Contenido

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

Alternativas de implementación: Estilos

La Unidad Procesadora.

Especificaciones técnicas de los prototipos:

CAPÍTULO 7 7. CONCLUSIONES

18. Camino de datos y unidad de control

Regulador PID con convertidores de frecuencia DF5, DV5, DF6, DV6. Página 1 de 10 A Regulador PID

CONVERTIDORES DIGITAL ANALÓGICO Y ANALÓGICO - DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

CAPITULO 4. Inversores para control de velocidad de motores de

Comparadores de tensión

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Laboratorio de Diseño de Sistemas Digitales

Placa de control MCC03

Conmutación. Conmutación telefónica. Justificación y definición.

Familias de microcontroladores de radio frecuencia.

REGISTROS DE DESPLAZAMIENTO

Tema 07: Acondicionamiento

CIRCUITOS SECUENCIALES

Metodologías de diseño de hardware

Tema 11: Instrumentación virtual

Orientado a reducir costes en el proceso de fabricación disminuyendo el número de pasos de fabricación

DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA)

DESARROLLO DE UN COPROCESADOR EN PUNTO FLOTANTE PARA LA RESOLUCIÓN DE LA ECUACIÓN DE POISSON 1D EN ESTRUCTURAS SOI. Ingeniería Electrónica

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE

1. Representación de la información en los sistemas digitales

Usos de un Analizador de Respuesta en Frecuencia

Curso Completo de Electrónica Digital

El amplificador operacional en bucle abierto (sin realimentar) se comporta como un comparador analógico simple.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

MODULO Nº12 TRANSISTORES MOSFET

Programa ALTERA destinado a Universidades

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

MEMORIAS DE SEMICONDUCTORES

VIBRACIONES MECANICAS Y ESTRUCTURALES. TITULAR: Ing. E. Alvarez Alumno: Germán Fuschetto

Figura 1.4. Elementos que integran a la Tecnología de Información.

Instrumentación con Microcontroladores. Ing. Rodrigo Alejandro Gutiérrez Arenas 22/03/12 al 29/03/12

PATENTES Y MARCAS. Strawinskylaan XX Amsterdam, NL

Instituto Tecnológico de Massachussets Departamento de Ingeniería Eléctrica e Informática Circuitos electrónicos Otoño 2000

PROYECTO CURRICULAR. Electrónica Digital y Microprogramable

Capítulo 12: Indexación y asociación

Introducción a los sistemas de control

Resoluciones de Pantalla.

INDICE 1. Conceptos Introductorias 2. Sistemas Numéricos y Códigos 3. Compuertas Lógicas y Álgebras Booleana 4. Circuitos Lógicos Combinatorios

Organización de Computadoras. Turno Recursantes Clase 8

Electrónica Digital. Conceptos Digitales. Dr. Oscar Ruano

Nociones básicas sobre adquisición de señales

Figura 1: Símbolo lógico de un flip-flop SR

Tema 7 EL AMPLIFICADOR OPERACIONAL Y EL COMPARADOR

L293B DRIVER PUSH-PULL DE 4 CANALES

x

T6. CIRCUITOS ARITMÉTICOS

Maqueta: Osciloscopio y generador

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs. Clase 1: Lógica Configurable

SONDA LAMBDA DE BANDA ANCHA VEHICULO: SEAT VW AUDI SKODA - OTROS INTRODUCCION: EL PORQUE DE LA SONDA LAMBDA DE BANDA ANCHA SONDA LAMBDA CONVENCIONAL

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

TEMA 11. CIRCUITOS ARITMÉTICOS TICOS DIGITALES

TEMA 3: Control secuencial

Diagrama y Nomenclatura del sistema de lazo cerrado

Fundamentos de Redes de Computadoras

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

Anexo B. Comunicaciones entre mc y PC

EL LOGRO DE SU FORMACIÓN DEPENDE TAMBIÉN DE USTED INSTRUCTOR: ING. JULIO CÉSAR BEDOYA PINO ELECTRÓNICA DIGITAL 2014

Práctica 6: Amplificador operacional inversor y no inversor.

Memorias no volátiles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM COMUNICACIONES 3

1. SISTEMAS DIGITALES

TEMA 5. SISTEMAS COMBINACIONALES MSI.

Estructura de los sistemas de distribución de radiodifusión sonora y de TV Objetivos

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo

Laboratorio 2: Mediciones Digitales

UNIVERSIDAD DE IBAGUÉ INGENIERÍA ELECTRÓNICA MANUAL PRACTICO OSCILOSCOPIO DIGITAL HP 54600B

3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC

CAPITULO V. Cuando hablamos de los lenguajes de programación nos referimos a diferentes formas en las que se puede escribir el programa del usuario.

Máster en Mecatrónica EU4M Master in Mechatronic and Micro-Mechatronic Systems BIPOLARES. Fundamentos de Ingeniería Eléctrica

UNIDADES DE ALMACENAMIENTO DE DATOS

Naturaleza binaria. Conversión decimal a binario

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

Transcripción:

Departamento de Ingeniería Electrónica SISTEMS DIGITLES DE INSTRUMENTCIÓN Y CONTROL TEM 1 Introducción a los sistemas programables avanzados Rafael Ramos Lara Febrero 2008

TEM 1 Introducción a los sistemas programables avanzados 1 Índice (I) 1.1. Introducción a los PLD s 1.1.1. lternativas de diseño de sistemas digitales. Diseño con PLD s. 1.1.2. Estructuras básicas 1.2. PLD s de alta capacidad 1.2.1. rquitectura de las CPLD s 1.2.2. rquitectura de las FPG s 1.2.2.1. Características generales 1.2.2.2. Tecnologías de las conexiones programables 1.2.2.3. Bloques lógicos 1.2.2.4. rquitecturas de interconexión Tema 1: Introducción a los sistemas programables avanzados 2

Índice (II) 1.3. Dispositivos Programables de Xilinx 1.3.1. Familia XC4000 1.3.2. Familia Spartan II 1.3.3. Familia Spartan-3 1.3.4. Familia Virtex II 1.3.5. Familia XC9500 1.4. Dispositivos nalógicos Programables (FPD) 1.4.1. TRC de FS 1.4.2. isppc de Lattice Tema 1: Introducción a los sistemas programables avanzados 3 1.1 Introducción a los PLD s 4

1.1.1 lternativas de diseño de sistemas digitales. Diseño con PLD s 5 Implementación de diseños lógicos Existen diversas formas de implementar circuitos lógicos dependiendo de la complejidad del diseño: - Circuitos de lógica estándar: 7400, 7402, 74138... Válidos para aplicaciones poco complejas - Lógica programable (PLD): alternativa al diseño con circuitos de lógica estandar para diseños de complejidad media/alta - Sistemas microprocesadores ó microcontroladores: para aplicaciones muy complejas ó que requieran procesar cantidades importantes de información. PLD lternativa al diseño con lógica estándar 7400 7410 7404 7402 7474 7404 7474 7400 PLD Tema 1: Introducción a los sistemas programables avanzados 6

Dispositivos Lógicos Programables (PLD s) - Circuito integrado de aplicación específica - Programable por el usuario - Permite implementar un sistema lógico de tipo combinacional o secuencial - Inicialmente surgieron como alternativa de diseño a los circuitos de lógica estandar - ctualmente la capacidad de las PLD s le permiten realizar funciones de muy alta complejidad Tema 1: Introducción a los sistemas programables avanzados 7 Ventajas de diseño con PLD vs. lógica estandar Facilidad de diseño: - Programación transparente al usuario - Sistemas de desarrollo de fácil manejo y utilización Fiabilidad: Velocidad: - Reducción del número de integrados de la placa - Posibilidad de borrado y reprogramación - Simplificación del test - Tiempos de propagación menores - Menores capacidades parásitas Coste: - Una PLD reemplaza varios componentes discretos lo cual implica una reducción de coste - Reducción de coste de ensamblado y stock Tema 1: Introducción a los sistemas programables avanzados 8

Dispositivos PLD En el mercado existe una gran variedad de dispositivos PLD. La nomenclatura varia en función de las características de la estructura interna y del fabricante. LC CPDL FPG PLS PLD GL PL PROM PL Tema 1: Introducción a los sistemas programables avanzados 9 Proceso de diseño Existen en el mercado muchos paquetes de software para el diseño con PLD's. El modo de proceder es el mismo: Concepción del diseño Selección del dispositivo Definición de la lógica Ecuaciones booleanas Captura de esquemas Tabla de verdad Ecuaciones de estado Lenguajes de alto nivel Compilación y Simulación PLD Programación Tema 1: Introducción a los sistemas programables avanzados 10

1.1.2 Estructuras básicas 11 Estructura básica (I) La estructura básica de un PLD se compone de una matriz de puertas ND seguida de una matriz de puertas OR con conexiones programables. a b c Conexión entre filas y columnas: conexión fija x conexión programable sin conexión Tipos conexiones programables: - Fusibles - Tecnología bipolar - Tecnología EPROM Tema 1: Introducción a los sistemas programables avanzados 12

Estructura básica (II) Normalmente se simplifica el esquema eléctrico indicando varias conexiones como una sola: a b c Utilizando esta simplificación la estructura anterior queda: - Inicialmente todas las conexiones existen - l programar se eliminan conexiones Tema 1: Introducción a los sistemas programables avanzados 13 Ejemplo de programación de una función lógica La utilización de una estructura de puertas ND y OR se basa en que cualquier función lógica se puede expresar como una suma de productos Ejemplo: a b c y = a b c + a b c + c a b c a b c c y Tema 1: Introducción a los sistemas programables avanzados 14

Tipos de PLD's (I) PL (Programmable rray Logic) Plano ND programable, OR fijo Tema 1: Introducción a los sistemas programables avanzados 15 Tipos de PLD's (II) PROM (ROM programable) Tipos: PROM, EPROM, EEPROM Plano ND fijo, OR programable Tema 1: Introducción a los sistemas programables avanzados 16

PL (Programmable Logic rray) Tipos de PLD's (III) Planos ND y OR ambos programables Máxima flexibilidad de programación pero mayor retardo Tema 1: Introducción a los sistemas programables avanzados 17 Variantes de las estructuras Salida de alta impedancia y con realimentación interna Salida con báscula (registrada) Tema 1: Introducción a los sistemas programables avanzados 18

Macrocélula Programable Otras estructuras poseen en la salida un bloque configurable por el usuario denominado Macrocélula. Las macrocélulas incorporan: Registros programables; Multiplexores; Buffers triestados Características generales de las macrocélulas: - Polaridad de salida programable - Salida por báscula o combinacional - Salida triestada controlada por un término producto - Realimentación programable - Posibilidad de utilizar el terminal de la macrocélula como entrada o salida Tema 1: Introducción a los sistemas programables avanzados 19 PL22V10 (I) Encapsulado de la PL22V10 Tema 1: Introducción a los sistemas programables avanzados 20

PL22V10 (II) rquitectura de la macrocélula Opciones de configuración de la macrocélula: Tema 1: Introducción a los sistemas programables avanzados 21 Otras estructuras PLS (Secuenciadores Lógicos Programables): Los PLS son PL que incorporan básculas en las salidas GL : son dispositivos reprogramables tipo PL con macrocélulas de salida Dispositivos de alta densidad de integración: de 1000 a 10.000.000 de puertas lógicas equivalentes: FPG (Field Programmable Gate rrey) CPLD (Complex Programmable Logic Device) Tema 1: Introducción a los sistemas programables avanzados 22

1.2 PLD s de alta capacidad 23 Dispositivos Lógicos Programables PLD s <1000 puertas >1000 puertas PLDs sencillas PL PROM PL PLS GL PLDs de lta Capacidad FPG CPLD FPG: Field-Programmable Gate rrays CPLD: Complex Programmable Logic Device Tema 1: Introducción a los sistemas programables avanzados 24

1.2.1 rquitectura de las CPLD s 25 Complex Programmable Logic Device (CPLD) Un CPLD contiene múltiples bloques lógicos, cada uno similar a una pequeña PLD tipo 22V10. Componentes:Logic Block; Programmable Interconnect; I/O Logic Block Logic Block I/O Logic Block Logic Block Programmable Interconnect Logic Block Logic Block I/O Logic Block Logic Block Tema 1: Introducción a los sistemas programables avanzados 26

Programmable Interconnects (PI) Conecta señales de salida de Bloques Lógicos con entradas de otros Bloques lógicos Implementaciones típicas del PI: - Interconexión por matriz: Permite conectar cualquier señal del PI a cualquier entrada o salida de un Bloque Lógico ltamente flexible Ocupa más área y consume mayor potencia - Interconexión con multiplexor: Se utilizan multiplexores para realizar las conexiones Hay un multiplexor por cada entrada del un Bloque Lógico Sistema poco flexible Tema 1: Introducción a los sistemas programables avanzados 27 Interconexión por matriz programable Logic Block i o o o Logic Block i o o o Tema 1: Introducción a los sistemas programables avanzados 28

Interconexión con multiplexor Logic Block i o o o Logic Block i o o o Tema 1: Introducción a los sistemas programables avanzados 29 Bloque Lógico (I) Un Bloque Lógico (LB) es similar a una 22V10 Esta compuesto por los siguientes elementos - Matriz de puertas ND con conexiones programables - Matriz de puertas OR y Macrocélulas El tamaño del LB se mide por el número de macrocélulas que contiene Mcell Mcell Tema 1: Introducción a los sistemas programables avanzados 30

Bloque Lógico (II) Existen diversas soluciones para aumentar el número de términos producto a la entrada de la Macrocélula Productos expandidos de familia MX5000 de ltera y MX 340 de Cypress Tema 1: Introducción a los sistemas programables avanzados 31 Bloque Lógico (III) Esquema Bloque Lógico de los CPLD de la familia MCH3 (dvanced Micro Device) Mcell Mcell Mcell Mcell Tema 1: Introducción a los sistemas programables avanzados 32

Bloque Lógico (IV) Matriz de puertas de la familia FLSH370 de Cypress 36 entradas 86 productos Cada macrocélula puede disponer de 0 a 16 términos producto de 0 a 16 de 0 a 16 Mcell Mcell de 0 a 16 Mcell de 0 a 16 Mcell Tema 1: Introducción a los sistemas programables avanzados 33 Macrocélulas Las macrocélulas de las CPLDs ofrecen mas posibilidades de configuración que las macrocélulas de la PLD 22V10 Se pueden encontrar 3 tipos de macrocélulas: - I/O macrocélulas: estan asociadas a un pin de I/O de la CPLD - Input macrocélulas: estan asociadas a un pin de entrada - Buried macrocelula: es una macrocélula cuya salida no está asociada a ningún pin del dispositivo Tema 1: Introducción a los sistemas programables avanzados 34

I/O y Buried Macrocélulas Macrocélula de la familia MX340 (Cypress) La puerta XOR puede ser usada en sumadores y comparadores o como inversor de la función de salida La salida de la macrocélula puede ser configurada como registrada o combinacional La salida se realimenta a la entrada, puede ser utilizada por el mismo Bloque Lógico Tema 1: Introducción a los sistemas programables avanzados 35 I/O y Buried Macrocélulas (II) familia FLSH370 (Cypress) La versión buried no dispone de conexión a la salida Tema 1: Introducción a los sistemas programables avanzados 36

Input Macrocélulas Son macrocélulas que reciben señales de entrada del exterior pero no generan salidas al exterior del integrado. Se utilizan para tener señales de entrada adicionales, aparte de las propias de los Bloques Lógicos. Input Macrocélula de la familia FLSH370 Tema 1: Introducción a los sistemas programables avanzados 37 I/O Células Su función es la de sacar la señal de salida de la macrocélula al exterior dependiendo de la señal de habilitación I/O Célula de la familia MX340 (Cypress) Tema 1: Introducción a los sistemas programables avanzados 38

I/O Células (II) Existen otras arquitecturas mas complejas que dan mayor flexibilidad a las conexiones entre las salidas de las macrocélulas y los pines del integrado I/O célula familia MCH3 (dvanced Micro Devices) Macro cell I/O cell I/O cell I/O cell I/O cell Macro cell Macro cell Macro cell Macro cell MUX I/O cell I/O Macro cell cell Tema 1: Introducción a los sistemas programables avanzados 39 I/O cell Ejemplo de células I/O con conexión única FLSH370 (Cypress) Tema 1: Introducción a los sistemas programables avanzados 40

Ejemplo de células de I/O con matriz de conexiones isplsi and plsi 1016E Functional Block Diagram Tema 1: Introducción a los sistemas programables avanzados 41 1.2.2 rquitectura de las FPG s 42

1.2.2.1 Características generales 43 Field Programmable Gate rray (FPG) rquitectura básica Componentes: - Matriz de Bloques Lógicos Configurables (CLB): Cada bloque posee una complejidad similar a una PL - Bloques de entrada-salida (IOB): Conectan la patillas externas del integrado con la lógica interior - Líneas de interconexión: Conectan entre sí los bloques CLB Tema 1: Introducción a los sistemas programables avanzados 44

Características generales arquitectura FPG s - FPG s vs. PLD s: PLD utilizan estructuras de dos niveles ND-OR para implementar la lógica FPG implementan los diseños con estructuras multinivel - Los CLB de las FPG s se implementan con: Transistores Puertas lógicas básicas: NND de dos entradas, XOR, etc Multiplexores Look-up tables (LUT) Estructuras ND-OR Tema 1: Introducción a los sistemas programables avanzados 45 Interconexiones FPG s - Las interconexiones se realizan mediante segmentos de diferente longitud que se conectan entre sí mediante conexiones programables - La cantidad y variedad de los segmentos de conexión afectan a la capacidad de la FPG: Nº segmentos solo se puede interconectar un número reducido de CLB Nº segmentos ocupa mucha área Nº reducido de CLB Tema 1: Introducción a los sistemas programables avanzados 46

Tipos de tecnologías Existen tres tecnologías de programación de FPG: - SRM: la configuración interna se almacena en memoria tipo RM; cada vez que se alimenta la FPG debe ser reconfigurada. Son reconfigurables pero ocupa mucho espacio. - ntifuse: utilizan fusibles para realizar las conexiones, ocupan menos espacio pero no son reprogramables. - EPROM, EEPROM: las conexiones programables se implementan con transistores de puerta flotante que se activan inyectando carga en su puerta flotante Tema 1: Introducción a los sistemas programables avanzados 47 1.2.2.2 Tecnologías de las conexiones programables 48

Tecnología SRM Utilizado por Xilinx, Toshiba... Emplea células de RM estática para controlar conexiones programables Puerta de paso Multiplexor 0 1 0 0 0 1 Tema 1: Introducción a los sistemas programables avanzados 49 Características tecnología SRM Características: Es volátil la FPG se debe configurar cada vez que se alimenta Requiere una memoria externa no volátil que almacene la configuración Inconvenientes: Ocupa mayor área cada conexión necesita al menos 5 transistores para la célula RM y un transistor para el interruptor programable Ventajas: Reprogramación fácil y rápida Tema 1: Introducción a los sistemas programables avanzados 50

Tecnología ntifuse Utilizado por ctel, Quicklogic... Se emplea antifuse para establecer conexiones entre segmentos ntifuse: dispositivo de dos terminales Resistencia cuando no está programado plicando un alto voltaje (11-20V) crea una conexión de baja resistencia Ejemplo: PLICE (Programmable Low Impedance Circuit Element) ntifuse Field Oxide (Dieléctrico) Un voltaje elevado rompe el dieléctrico creando entre los electrodos una conexión policristalina de baja resistencia Tema 1: Introducción a los sistemas programables avanzados 51 Características tecnología ntifuse Características: Programación no volátil Ventajas: Reducido tamaño Baja resistencia cuando está en ON Inconvenientes: No son reprogramables Tema 1: Introducción a los sistemas programables avanzados 52

Tecnología Puerta Flotante Utilizada por ltera (EPROM), MD, Lattice (EEPROM) Emplea tecnología EPROM, EEPROM para realizar conexiones programables o lógica cableada NOR cableada Word line: 1 Bit line: 0 Si se inyecta carga en Gate 2 el transistor permanece inhibido Sin carga en Gate 2 el TRT funciona normalmente Tema 1: Introducción a los sistemas programables avanzados 53 Ejemplo: PL con tecnología de puerta flotante Puerta flotante NOR cableada x 1 + x3 x1x3 x 1 + x3 x1x3 x 1 + x3 x1x3 x o x o x 1 x 2 x 3 Funciones lógicas Resistencias de pull-up Tema 1: Introducción a los sistemas programables avanzados 54

Características tecnología puerta flotante Características: Programación no volátil Ventajas: No necesita memoria externa Reprogramable Inconvenientes: lta resistencia cuando cuando está en ON Elevado consumo (resistencia pull-up) Tema 1: Introducción a los sistemas programables avanzados 55 1.2.2.3 Bloques lógicos 56

rquitecturas básicas de los Bloques Lógicos mplia gama de arquitecturas comerciales de bloques lógicos: Par de transistores (Crosspoint) Puerta NND más Latch (Plessey) Multiplexores (ctel) Multiplexores, puertas lógicas y latch (Quicklogic) Look-up tables (Xilinx) Ejemplo: implementación de función lógica a b c f a b c f = ab + c f Tema 1: Introducción a los sistemas programables avanzados 57 Bloque Lógico Crosspoint CLB a b c f Par de transistores f = ab + c a b c Tema 1: Introducción a los sistemas programables avanzados 58

Bloque Lógico Plessey Estructura CLB a b c f a b Los Latch se programan para ser transparentes c f = ab + c Tema 1: Introducción a los sistemas programables avanzados 59 Bloque Lógico ctel-1 Estructura CLB w x y s 1 Mux 4-1 f = ( s3 + s4 )( s1w + s1x) + ( s + s )( s y + s z) 3 4 2 2 a b c f z s 2 s 3 s 4 1 djudicando valores variables o constantes a s 1, s 2, s 3, s 4, w, x, y, z se pueden generar 702 funciones lógicas diferentes 1 0 a Tema 1: Introducción a los sistemas programables avanzados 60 0 b c0 f = abc + c ab + c

Bloque Lógico ctel-2 Estructura CLB w x s 1 s 2 y z f = ( s3 + s4 )( s1s2w + s1s2 x) + ( s + s )( s s y + s s z) 3 4 1 2 1 2 s 3 s 4 ñadiendo la puerta ND en la entrada de selección se pueden generar 766 funciones lógicas diferentes Tema 1: Introducción a los sistemas programables avanzados 61 Bloque Lógico Quicklogic Estructura CLB Mux 4-1 Estructuras basadas en multiplexores: Proporcionan gran flexibilidad en el diseño Número de transistores relativamente pequeño Elevado número de entradas necesita más recursos de conexión y rutado Tema 1: Introducción a los sistemas programables avanzados 62

Bloque Lógico ltera MX5000 Esquema CLB f = ab + c Características: Derivada de la arquitectura de las PL: plano ND (20-100 entradas)-or (3-8 entradas) Es difícil aprovechar todas las puertas y todas las entradas pérdida de densidad Tema 1: Introducción a los sistemas programables avanzados 63 Bloque Lógico Xilinx Bloque Lógico basado en Look-up table (LUT) a b c f La tabla de verdad de la función a implementar se almacena en una memoria SRM de 2 K x 1 bit Las entradas de direcciones son las entradas de la función La salida proporciona el valor de la función f Tema 1: Introducción a los sistemas programables avanzados 64

Bloque Lógico Xilinx XC3000 Esquema CLB Componentes 1 LUT de 5 entradas Multiplexores 2 Flip-flops Tema 1: Introducción a los sistemas programables avanzados 65 Bloque Lógico Xilinx XC4000 Esquema CLB Componentes: 2 LUT 4 entradas 1 LUT 3 entradas Multiplexores programables 2 Flip-flops Características: Las LUT s 4x1 disponen de entradas independientes Las LUT s 4x1 pueden ser utilizadas para implementar memoria RM Incorpora circuitos específicos para propagación del bit de carry Tema 1: Introducción a los sistemas programables avanzados 66

Prestaciones de las LUT Ventajas de implementación mediante LUT: Posee alta funcionalidad una LUT de k entradas implementa cualquier función de k variables (2 2 ) k funciones distintas Permiten bloques de memoria (muy útiles en aplicaciones de procesado de señales) El tamaño de la LUT condiciona las prestaciones de la FPG: Tamaño disminuye el nº de CLB necesario para realizar un diseño aumenta el área necesaria para implementar un CLB Tema 1: Introducción a los sistemas programables avanzados 67 Implementación de las LUT Memoriza un bit de información Multiplexor de 16 entradas Tema 1: Introducción a los sistemas programables avanzados 68

Efecto del tamaño de la LUT (I) Ejemplo: implementación de la función f = abd + bcd + ab c usando LUT LUT de 2 entradas LUT de 3 entradas LUT de 4 entradas 1 2 4 7 LUT 28 RM bits 6 1 3 LUT 24 RM bits 3 1 3 5 7 2 1 LUT 16 RM bits Mínima área Tema 1: Introducción a los sistemas programables avanzados 69 Efecto del tamaño de la LUT (II) CLB/Área necesaria para implementar un diseño en función de K K Número de bloques K Área de un bloque K=4 Mínimo nºclb x Área CLB K Número de bloques K Área de las conexiones K=4 Mínimo nºclb x Área Conexiones Tema 1: Introducción a los sistemas programables avanzados 70

Efecto del tamaño de la LUT (III) CLB/Área necesaria para implementar un diseño Área de CLB y conexiones El área se minimiza para K=4 El valor óptimo de K es 4 Tema 1: Introducción a los sistemas programables avanzados 71 1.2.2.4 rquitecturas de interconexión 72

rquitecturas de interconexión para FGP s La arquitectura de interconexión es la combinación de segmentos y conexiones programables que hacen posible la interconexión de los bloques lógicos. Esquema general de la arquitectura de una FPG CLB CLB CLB CLB CLB CLB Elementos de la arquitectura de interconexión: C (bloque de conexión) conecta las entradas y salidas de los CLB con los segmentos de conexión S (switch block, bloque de conexiones programables) realiza conexiones entre segmentos CLB CLB CLB Segmentos de conexión líneas de conexión continuas no interrumpidas por conexiones programables Pista (track) es una secuencia de uno o más segmentos que forman una línea Tema 1: Introducción a los sistemas programables avanzados 73 Características de la arquitectura de interconexión La arquitectura de interconexión debe cumplir dos criterios: Rutabilidad capacidad de llevar a cabo todas las conexiones necesarias para implementar un diseño Velocidad los retardos de propagación dependen de la longitud de la pista conexión y del número y tipo de interruptores que incorpora la pista Los interruptores programables introducen un retardo debido a la resistencia y capacidad que presentan La tecnología antifuse presenta un menor retardo debido a su menor resistencia Tema 1: Introducción a los sistemas programables avanzados 74

Optimización de la arquitectura de interconexión Objetivo: disminuir los retardos de las conexiones asegurando la realización del diseño Como conseguir este objetivo? Se debe determinar longitud track nº interruptores programables - nº de segmentos por canal - Longitud de los segmentos - Distribución de los interruptores Retardo segurar la realización del diseño Tema 1: Introducción a los sistemas programables avanzados 75 rquitecturas de interconexión con antifuse (I) CLB CLB CLB CLB ntifuse desprogramado ntifuse programado Conexiones programables en todos los cruces de filas y columnas Conexiones programables entre dos puntos de cruce El track se puede dividir en segmentos de longitud arbitraria Ventaja: Máxima flexibilidad de rutado Inconveniente: el número de conexiones programables es proporcional a la longitud de la pista retardo inaceptable Tema 1: Introducción a los sistemas programables avanzados 76

rquitecturas de interconexión con antifuse (II) CLB CLB CLB CLB ntifuse desprogramado ntifuse programado Conexiones programables en todos los cruces de filas y columnas lgunas conexiones programables entre dos puntos de cruce El track se puede dividir en segmentos de diferente longitud Ventaja: Elevada flexibilidad de rutado Inconveniente: el número de conexiones programables variable pero en general menor que en caso anterior retardo variable y elevado en conexiónes de longitud media-grande Tema 1: Introducción a los sistemas programables avanzados 77 rquitecturas de interconexión con antifuse (III) CLB CLB CLB CLB ntifuse desprogramado ntifuse programado Tracks continuos un track por conexión Conexiones programables en cada cruce Todas las conexiones necesitan solo dos interruptores programables Ventaja: retardo similar y predecible en todas las conexiones Inconveniente: área excesiva; las conexiones cortas tienen el mismo retardo que el asociado a un track completo Tema 1: Introducción a los sistemas programables avanzados 78

rquitecturas de interconexión con antifuse (IV) CLB CLB CLB CLB ntifuse desprogramado ntifuse programado Solución intermedia: Tracks segmentados con conexiones de diferentes longitudes Conexiones programables en cada cruce Las conexiones se establecen utilizando un segmento de longitud apropiada Ventaja: retardo ajustado a la longitud de la conexión; dos interruptores por conexión Inconveniente: área excesiva; las conexiones cortas tienen el mismo retardo que el asociado a un track completo Tema 1: Introducción a los sistemas programables avanzados 79 rquitecturas de interconexión con SRM (I) C (bloque de conexión) conecta I/O de los CLB con los tracks Se suelen implementar con multiplexores o switches (transistores de paso) Multiplexores Switches Switches: se suele utilizar para conectar las salidas ya que permite la conexión a múltiples tracks Multiplexores: se utilizan para conectar las entradas de I/O a los tracks Tema 1: Introducción a los sistemas programables avanzados 80

rquitecturas de interconexión con SRM (II) S (switch block) establecen conexiones entre tracks verticales y horizontales Se suelen implementar con switches (transistores de paso) Switch block Track vertical Track horizontal Posibles conexiones entre el track R0 y el resto de tracks verticales y horizontales Transistor de paso Tema 1: Introducción a los sistemas programables avanzados 81 rquitectura óptima de interconexión con SRM La flexibilidad de los S (switch block) y de los C (bloque de conexión) es la clave para obtener un área de rutado eficiente Flexibilidad el número de conexiones posibles asociadas a cada segmento Flexibilidad Conectividad completa elevado número de switches FPG lenta y grande Flexibilidad La conectividad completa es imposible o bien Se necesita un elevado número de tracks por canal Área excesivamente grande Tema 1: Introducción a los sistemas programables avanzados 82

rquitectura óptima de interconexión con SRM Parámetros a optimizar: Área y conectividad Se debe dimensionar adecuadamente: La flexibilidad del C (bloque de conexión) La flexibilidad del S (switch block) El número de tracks por canal El número de caras del CLB por donde aparecen pines de I/O Resultado deseado: 100% conectividad Área reducida Velocidad elevada Tema 1: Introducción a los sistemas programables avanzados 83 Flexibilidad del S (switch block) : Fs Fs: número de conexiones posibles que se ofrece a cada segmento de entrada Fs = 5 La elección de la topología de interconexión es importante Topología 1 Topología 2 Ej.:Se debe conectar los puntos y B (Fs=2) NOK OK Tema 1: Introducción a los sistemas programables avanzados 84

Flexibilidad del C (bloque de conexión) : Fc Fc: número de canales a los que se puede conectar una I/O de un CLB Cada línea I/O puede conectarse a dos líneas Fc = 2 Tema 1: Introducción a los sistemas programables avanzados 85 Resultados: % Rutado vs. Fc Rutabilidad del circuito BNRE * Número de tracks por canal W = 14 No se alcanza el 100% de rutado para Fc 7 Un incremento de Fs aumenta la rutabilidad pero para que sea del 100% Fc debe ser suficientemente elevado Para 100% de rutabilidad: 0.5 Fc/W 1 * Bell-Northern Research Tema 1: Introducción a los sistemas programables avanzados 86

Resultados: % Rutado vs. Fs W = 14 Si Fc es suficientemente alta se puede alcanzar 100% de rutabilidad con valores pequeños de Fs Tema 1: Introducción a los sistemas programables avanzados 87 rquitectura óptima Objetivo: mínimo coste de implementación, área y retardo Fs Fc/W El nº de interruptores se incrementa cuando se incrementa la flexibilidad Interruptores área y retardo Nº de interruptores (12 W 35) Mínimo número Fs =4 de interruptores Fc/W = 0.7, W=13 En general los resultados óptimos se obtienen para los siguientes parámetros de flexibilidad: 3 Fs 4 0.7 Fc/W 0.9 Tema 1: Introducción a los sistemas programables avanzados 88

rquitectura de interconexión Xilinx XC3000 Los bloques de conexión conectan cada una de las 11 entradas y salidas del CLB a 2 ó 3 de las 5 líneas de conexión mediante multiplexores (entradas) y transistores de paso (salidas) Tipos de segmentos: Segmentos de propósito general pasan a través del switch block Interconexiones directas Conectan directamente cada salida de un CLB con cuatro posibles entradas de CLB vecinos Líneas largas son conexiones con un retardo uniforme, elevado fan-out y longitud similar a la del chip Línea de reloj conectada a la entrada de reloj de todas los flip-flops, propaga la señal de reloj a toda la FPG con retardo bajo El switch block, conecta cada segmento con 5 ó 6 de 15 segmentos posibles en las caras opuestas Tema 1: Introducción a los sistemas programables avanzados 89 rquitectura de interconexión Xilinx XC4000 La arquitectura es similar a la serie XC3000 Características: Conectividad más elevada que la serie XC3000 18 líneas por canal en lugar de 5 Cada canal tiene 4 segmentos de conexión de doble longitud Segmentos de doble longitud Seis transistores de paso por cada punto de conexión Tema 1: Introducción a los sistemas programables avanzados 90

rquitectura de interconexión ctel Características: Estructura asimétrica dispone de mas tracks horizontales que verticales Las salidas de los CLB se pueden conectar a cualquier track de los dos canales superiores o inferiores Las entradas se pueden conectar a cualquier track del canal adyacente Bloques de conexión Entrada Salida 22 tracks por canal Tema 1: Introducción a los sistemas programables avanzados 91 rquitectura ltera MX 5000 (I) Dos niveles de interconexión: 1 er nivel: formado por 16 ó 32 bloques lógicos agrupados en un LB (Logic rray Block) 2º nivel: formado por agrupaciones de LB s 2º nivel: Las interconexiones entre LB se realizan a través del PI (Programmable Interconnect rray) Tema 1: Introducción a los sistemas programables avanzados 92

rquitectura ltera MX 5000 (II) rquitectura de interconexión del primer nivel: PI: conexión con las salidas de otros LB I/O: conexión con pines de entrada/salida Conexión con las salidas de todos los LB del LB Conexión con los Logic Expanders (puertas NND) Tema 1: Introducción a los sistemas programables avanzados 93 1.3 Dispositivos programables de Xilinx 94

1.3.1 Familia XC4000 95 Esquema de una CLB (XC4000E) Tema 1: Introducción a los sistemas programables avanzados 96

Esquema de un IOB (XC4000E) Tema 1: Introducción a los sistemas programables avanzados 97 Esquema líneas de conexión (XC4000E) Tema 1: Introducción a los sistemas programables avanzados 98

Matriz de interruptores programables (PSM) Tema 1: Introducción a los sistemas programables avanzados 99 FPG s de la serie 4000E y 4000XL Tema 1: Introducción a los sistemas programables avanzados 100

1.3.2 Familia Spartan II 101 Familia Spartan-II Características Bajo coste lto volumen Soporta standards de I/O Bloques de memoria RM Tema 1: Introducción a los sistemas programables avanzados 102

Bloque de entrada/salida Esquema IOB Standards soportados Tema 1: Introducción a los sistemas programables avanzados 103 Bancos de I/O standards Las salidas se agrupan en 8 bancos Cada banco puede soportar distintos standards Tema 1: Introducción a los sistemas programables avanzados 104

Configurable Logic Block (CLB) Cada CLB tiene 4 células lógicas (LC) Generador de funciones de 4 variables Generador de carry Se pueden combinar 4 LC s para generar una función de 6 variables Báscula de salida Tema 1: Introducción a los sistemas programables avanzados 105 Memoria RM RM distribuida CLB-> 4 RM 16x1bit Doble puerto Bloques RM Simple puerto Tema 1: Introducción a los sistemas programables avanzados 106

Spartan-II Block RM Tema 1: Introducción a los sistemas programables avanzados 107 Implementación de lógica con memoria RM Extractor de raíz cuadrada 8 bits Con puertas lógicas Bloque memoria RM p c d' n n' d p' c' d =d p =p If p=0 (add) n =n d c c =nd+nc+cd If p=1 (subtract) n =n /d c c =n/d+c/d+nc 0 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 1 1 0 0 0 0 Q7 Q6 Q5 Q4 0... 8 4k RM D0... D7 0 0 0 0 Q3 Q2 CK 0 Q1 0 Q0 Tema 1: Introducción a los sistemas programables avanzados 108

Componentes de la familia Spartan-II Tema 1: Introducción a los sistemas programables avanzados 109 1.3.3 Familia Spartan-3 110

Familia Spartan-3 rquitectura Spartan-3 Características Bajo coste lto volumen de integración Soporta 26 standards de I/O Control digital de impedancia (DCI) Bloques de memoria RM Multiplicadores 18x18 bits Digital Clock Manager (DCM) Tema 1: Introducción a los sistemas programables avanzados 111 Bloque de entrada/salida Double-Data-Rate Transmission (DDR): duplica la velocidad de transmisión de datos aprovechando el flanco de subida y bajada de la señal de reloj Control digital de impedancia (DCI) Protección contra descargas electrostáticas (ESD) Keeper Latch: retiene el último valor de la I/O después de que los drivers pasen a tercer estado Soporta 8 standards de señales diferenciales Tema 1: Introducción a los sistemas programables avanzados 112

Bancos de I/O standards Las salidas se agrupan en 8 bancos Cada banco tiene líneas de V ref y V cco independientes Cada banco puede soportar un standard distinto Tema 1: Introducción a los sistemas programables avanzados 113 Configurable Logic Block (CLB) Cada CLB contiene 4 SLICES agrupados en parejas Cada par de SLICES dispone de un circuito de propagación de carry Tema 1: Introducción a los sistemas programables avanzados 114

Esquema CLB Elementos comunes a los SLICES: 2 Look-Up Table (LUT) 16x1 bit 2 Registros (Latch o FF tipo D) Multiplexores Puertas aritméticas (ND, XOR) -Funciones lógicas -ritméticas -ROM Las LUT de la parte izquierda pueden configurarse como memoria RM o registros de desplazamiento de 16 bits Tema 1: Introducción a los sistemas programables avanzados 115 LUT como RM distribuida Cada CLB dispone de 64 bits de RM distribuida repartidas en 4 LUT que se pueden combinar de múltiples maneras 1LUT 2 LUT Memorias soportadas por una CLB Tema 1: Introducción a los sistemas programables avanzados 116

Ejemplos implementación memorias RM distribuida Memoria RM 16x1 bit dual-port Memoria RM 32x1 bit single-port Tema 1: Introducción a los sistemas programables avanzados 117 LUT como registros de desplazamiento Una LUT se puede configurar como un registro de desplazamiento (SR) de 1 a 16 bits sin utilizar la báscula disponible en cada SLICE Los registros se pueden colocar en cascada para obtener un SR de cualquier longitud Entrada LUT configurada como registro de desplazamiento de 16 bits Salida Salida intermedia (longitud < 16bits) Tema 1: Introducción a los sistemas programables avanzados 118

Spartan-3 Block RM Los dispositivos Spartan-3 disponen de bloques de 18kbits de memoria RM El contenido de cada bloque es accesible a través de dos puertos: y B Cada puerto dispone de bus de datos, direcciones y control independientes Tema 1: Introducción a los sistemas programables avanzados 119 Organización Spartan-3 Block RM (Single-Port) Bloque RM 18 kbits 16 kbits de datos 2 kbits de paridad o datos (en algunas configuraciones) Opcional Tema 1: Introducción a los sistemas programables avanzados 120

Spartan-3 Block RM (Dual-Port) Los dos puertos de la memoria se pueden configurar independientemente Se puede acceder al contenido de la memoria a través de cualquiera de los dos puertos Ejemplo de aplicación: Los datos entran como Bytes Los datos salen como doble word Tema 1: Introducción a los sistemas programables avanzados 121 Multiplicadores de Spartan-3 Multiplicadores 18x18 bits en complemento a 2 Tema 1: Introducción a los sistemas programables avanzados 122

Digital Clock Manager (DCM) Permite un control preciso sobre la señal de reloj que incluye: Generación de un amplio rango de frecuencias Eliminación del efecto Clock-skew (la señal de reloj llega a diferentes puntos en diferentes tiempos) Genera desplazamiento de fases en las señales de reloj generadas Componentes: Delay-Locked Loop (DLL) Digital Frequency Syntesizer (DFS) Phase Shifter Status Logic Tema 1: Introducción a los sistemas programables avanzados 123 Clock-skew Clock-skew: la señal de reloj llega a diferentes puntos en diferentes tiempos Eliminación del clock-skew Tema 1: Introducción a los sistemas programables avanzados 124

Delay-Locked Loop (DLL) Principalmente elimina el Clockskew (retardo de distribución) Salida en fase con CLKIN Salidas desfasadas 90º, 180º, 270º Entradas Salida frecuencia 2xCLKIN Salida divisor de frecuencia CLKIN/n Posibilidad de corrección del Duty-cycle al 50% Tema 1: Introducción a los sistemas programables avanzados 125 Digital Frequency Synthesizer (DFS) Genera señales de reloj cuya frecuencia esta relacionada con CLKIN: donde: CLKFX_MULTIPLY: de 2 a 32 CLKFX_DIVIDE: de 1 a 32 Tema 1: Introducción a los sistemas programables avanzados 126

Phase Shifter (PS) Introduce un desfase entre las señales de entrada CLKIN y CLKFB La resolución del desfase es de T CKLIN /256 (8 bits) El desfase seleccionado se añade a todas las señales generadas por el DLL La fase se ajusta dinámicamente, incrementado o decrementando el desfase en función de señales externas Tema 1: Introducción a los sistemas programables avanzados 127 Status Logic Component/Resumen prestaciones Proporciona información sobre el estado del DCM Permite realizar un reset a un estado inicial conocido Resumen de prestaciones Tema 1: Introducción a los sistemas programables avanzados 128

Componentes de la familia Spartan-3 Tema 1: Introducción a los sistemas programables avanzados 129 1.3.4 Familia Virtex II 130

Familia Virtex-II 1.5V Características Bloques Multiplicadores lto volumen (8M) Soporta standards de I/O Bloques de memoria RM Tema 1: Introducción a los sistemas programables avanzados 131 Bloque de entrada/salida Esquema IOB Standards soportados Las salidas se agrupan de dos en dos Se puede tener salidas unipolares o diferenciales (LVDS, LDT, LVPECL) Control digital de la impedancia de salida Tema 1: Introducción a los sistemas programables avanzados 132

Bancos de I/O standards Las salidas se agrupan en 8 bancos Cada banco puede soportar distintos standards Tema 1: Introducción a los sistemas programables avanzados 133 Configurable Logic Block (CLB) Cada CLB tiene 4 células lógicas (slices) Tema 1: Introducción a los sistemas programables avanzados 134

Componentes de la familia Virtex-II Tema 1: Introducción a los sistemas programables avanzados 135 1.3.5 Familia XC9500 136

rquitectura de la CPLD Tema 1: Introducción a los sistemas programables avanzados 137 Macrocélula de un Bloque Funcional Tema 1: Introducción a los sistemas programables avanzados 138

Distribuidor de términos producto Tema 1: Introducción a los sistemas programables avanzados 139 Ubicación de términos producto 15 términos producto 18 y 2 términos producto Tema 1: Introducción a los sistemas programables avanzados 140

Matriz de conexiones FastCONNECT Tema 1: Introducción a los sistemas programables avanzados 141 Bloque de I/O con control de OE Control de Slew-Rate Tema 1: Introducción a los sistemas programables avanzados 142

Componentes de la familia XC9500 Tema 1: Introducción a los sistemas programables avanzados 143 In-System Programming Tema 1: Introducción a los sistemas programables avanzados 144

CPLD o FPG? CPLD No volátil Contadores Rápidos Lógica combinacional Proyectos pequeños In-System Programmable Retardo predecible FPG Configuración con SRM Excelente para diseños DSP y con abundantes registros. Proyectos medianos/grandes Requiere memoria PROM externa Retardo variable Conversión de diseños que incorporan varias SPLD dentro de una CPLD Diseños fácilmente implementables con puertas ND/OR y pocos Flip- Flops Controladores, procesado de señal, comunicaciones, prototipo de diseños gate array, coprocesadores, etc... Tema 1: Introducción a los sistemas programables avanzados 145 plicaciones de FPGs y CPLDs Interfaces de Bus Controlador de DM Controlador bus PCI Controlador bus VME Comunicaciones Controlador de protocolo SDLC Telefonía digital Controlador de protocolo TM Procesado digital de señal Operaciones aritméticas en coma flotante Procesado de imagen Filtros FIR FFT Coprocesadores de DSP Tema 1: Introducción a los sistemas programables avanzados 146

Microcontrolador Tema 1: Introducción a los sistemas programables avanzados 147 Sistemas de control digital Tema 1: Introducción a los sistemas programables avanzados 148

Sistemas de instrumentación digital Linealización de la respuesta de un termopar Termopar Cromo-constatan V=f(Cº) DC FPG Función linealizadora Tema 1: Introducción a los sistemas programables avanzados 149 Sistemas de procesado de señal Receptor de Radio Tema 1: Introducción a los sistemas programables avanzados 150

Filtros digitales (I) Estructura filtro FIR Ecuación filtro FIR Tema 1: Introducción a los sistemas programables avanzados 151 Filtros digitales (II) Prestaciones CPLD vs. DSP Tema 1: Introducción a los sistemas programables avanzados 152

Filtros adaptativos Cancelación adaptativa del EGC de la madre Cancelación adaptativa del eco en comunicaciones telefónicas Tema 1: Introducción a los sistemas programables avanzados 153 Hasta donde han llegado las FPG s? Las sondas marcianas Spirit y Opportunity incorporan FPG s XQVR4000XL tolerantes a radiaciones para realizar tareas de control de motores, brazos, cámaras e instrumentos. Tema 1: Introducción a los sistemas programables avanzados 154

1.4 Dispositivos nalógicos Programables (FPD) 155 FPD (Field Programmable nalog Device) plicaciones: Cálculos analógicos: Procesado analógico de señal Sistemas electrónicos de control udio Instrumentación (RMS, potencia, valor medio..) Cancelación de eco. Linealización de transductores Tema 1: Introducción a los sistemas programables avanzados 156

Fabricantes de FPD plicaciones: funciones analógicas no lineales, procesado de señal y control Célula básica: amplificador operacional realimentado Programación: Volátil (registros de desplazamiento) plicaciones: instrumentación y acondicionamiento de señal Célula básica: amplificador operacional y de instrumentación Programación: No volátil E 2 CMOS (ISP: In-System-Programmation) Tema 1: Introducción a los sistemas programables avanzados 157 1.4.1 TRC de FS 158

TRC020LH (Totally Re-configurable nalog Circuit) Ventajas: Diseño rápido de circuitos que realizan funciones analógicas. Gran flexibilidad para realizar cambios. Menos de 8 bytes de programación. Modo de funcionamiento de bajo consumo. Se pueden conectar distintos dispositivos en cascada para realizar diseños complejos. Tema 1: Introducción a los sistemas programables avanzados 159 Esquema del TRC020LH 20 células programables 20 entradas/salidas 2 entradas para las células 1 y 2 limentación: Vdd = +3V, Vss = -2V, GND = 0V Tema 1: Introducción a los sistemas programables avanzados 160

Funciones programables Cada una de las células se puede programar con una de 8 funciones Función Ninguna función mplificación operacional mplificador inversor Sumador No inversor ntilogaritmico Logaritmo Rectificador Código 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Tema 1: Introducción a los sistemas programables avanzados 161 Sumador (DD) Eo = -(Ea + Eb) Parámetro Condiciones Min. Típico Max. Ganancia V =V B = ±400mV -1.012-1.000-0.988 Resistencia de entrada 30kΩ 40kΩ 50kΩ Offset Vin = 0 mv -3.4mV 0mV 3.4mV ncho de banda (pequeña señal) 20 mvpp 6MHz ncho de banda (gran señal) 500 mvpp 3MHz Tema 1: Introducción a los sistemas programables avanzados 162

Negador (NEGTE) Eo = - Ea Parámetro Condiciones Min. Típico Max. Ganancia Vin = ± 800mV -1.010-1.000-0.990 Resistencia de entrada 30kΩ 40kΩ 50kΩ Offset Vin = 0 mv -2.4mV 0mV 2.4mV ncho de banda (pequeña señal) 20 mvpp 7MHz ncho de banda (gran señal) 500 mvpp 3MHz Tema 1: Introducción a los sistemas programables avanzados 163 No inversor (NON INVERTING PSS) Esta célula provee una conexión directa sin modificar la señal: Ea = Eo Ea Eo Parámetro Condiciones Min. Típico Max. Ganancia Vin = ± 800mV 0.996 1.000 1.004 Resistencia de entrada 60MΩ Offset Vin = 0 mv -1.2mV 0mV 1.2mV Corriente de entrada 100n 260n ncho de banda (pequeña señal) 20 mvpp 12MHz ncho de banda (gran señal) 500 mvpp 3MHz Tema 1: Introducción a los sistemas programables avanzados 164

Logaritmo (LOG) Eo = signo T ln Ea ( Ea ) V R Io Parámetro Condiciones Min. Típico Max. Tensión de salida Vin = ±1.000V ±625mV ±685mV ±745mV Característica de transferencia Vin = ±10mV, ±60mV (Cambio de la salida para un ±100mV, cambio de entrada x10) ±1000mV Resistencia de entrada 30kΩ 40kΩ 50kΩ Tema 1: Introducción a los sistemas programables avanzados 165 ntilogaritmo (NTI-LOG) Eo= signo ( Ea) R Io e ( Ea Vt ) Parámetro Condiciones Min. Típico Max. Tensión de salida Vin = ±685mV ±0.80V ±1.00V ±1.2V Característica de transferencia (Multiplicación de la tensión de salida para incrementos fijos de la tensión de entrada) Vin = ±565mV, ±625mV, ±685mV steps ±10 Tema 1: Introducción a los sistemas programables avanzados 166

Rectificador (RECTIFIER) Si Ea < 0: Eo= signo ( Ea) R Io e Si Ea > 0: Eo = 0 ( Ea Vt ) Parámetro Condiciones Min. Típico Max. Tensión de salida Vin = -685mV +0.80V +1.00V +1.2V Vin = +685mV -5.0mV 0V 5.0mV Característica de transferencia Vin = -565mV, - +10 (Multiplicación de la tensión 625mV, de salida para incrementos -685mV steps fijos de la tensión de entrada) Tema 1: Introducción a los sistemas programables avanzados 167 LOG + REC La función de rectificación de media onda se consigue precediendo al bloque REC el bloque logarítmico (LOG) Ea LOG Ep REC Eo Ea Eo = Ea Ep= sig( Ea) VT ln para Ea > 0 RIo ( Ep Vt ) Eo = 0 Eo= sig( Ep) R Io e }para Ea < 0 Parámetro Condiciones Min. Típico Max. Ganancia V in = ±1.0V 1.00 ncho de banda (pequeña señal) 20 mvpp 6MHz ncho de banda (gran señal) 500 mvpp 2MHz Tema 1: Introducción a los sistemas programables avanzados 168

Rectificador de onda completa La función de rectificación de onda completa se consigue combinando dos rectificadores de media onda. LOG REC Ea DD Ea INV LOG REC Tema 1: Introducción a los sistemas programables avanzados 169 LOG + LOG Ea LOG Ea VT ln RIo ( Ep Vt ) Eo= sig( Ep) R Io e Ep Eo Ep= sig( Ea) LOG }Eo = Ea Parámetro Condiciones Min. Típico Max. Ganancia V in = ±1.0V 1.00 ncho de banda (pequeña señal) 20 mvpp 6MHz ncho de banda (gran señal) 500 mvpp 2MHz Tema 1: Introducción a los sistemas programables avanzados 170

mplificador operacional (UX) Permite incorporar elementos externos a un amplificador operacional Parámetro Condiciones Min. Típico Max. Ganancia RF = RS = 20kΩ -0.993 Corriente de entrada RF = RS = 20kΩ Vin = 0 mv 100n Offset RF = RS = 20kΩ Vin = 0 mv 2.0mV Tensión de saturación de salida Vin = ±50mV <Vss+0.2V >V DD -1.7V Ganancia en lazo abierto 300 700 Tema 1: Introducción a los sistemas programables avanzados 171 mplificador (UX) 1 2 Eo = R2 R1 Ea Tema 1: Introducción a los sistemas programables avanzados 172

Derivador (UX) Eo = Ro C dea dt Tema 1: Introducción a los sistemas programables avanzados 173 Integrador (UX) Eo = 1 C Ea R dt Tema 1: Introducción a los sistemas programables avanzados 174

Esquema TRC020 Tema 1: Introducción a los sistemas programables avanzados 175 Ejemplo de aplicación: Conversor RMS Definición de Root Mean Squared: V vt ( ) = RMS T 1 2 dt Tema 1: Introducción a los sistemas programables avanzados 176

Diagrama de bloques del conversor RMS Tema 1: Introducción a los sistemas programables avanzados 177 Diagrama de bloques con TRC xt ( ) 2 x(t) ( ) ( ) yt = 1 T ztdt ( ) = xt ( ) zt ( ) = ( ) v t x t o RMS 2 yt ( ) Tema 1: Introducción a los sistemas programables avanzados 178

Implementación del filtro paso bajo Simulación del filtro paso bajo real Tema 1: Introducción a los sistemas programables avanzados 179 Implementación TRC del conversor RMS Tema 1: Introducción a los sistemas programables avanzados 180

Programación DT: Entrada serie de programación del TRC. /RESET: ctiva a nivel bajo, esta entrada tiene como función inicializar todos los registros de las células a cero lógico, que equivale a la función OFF. CLOCK: Esta entrada, activa a flanco de subida, se utiliza para introducir los bits de programación dentro de los registros de desplazamiento de las células. DOUT: Este pin es la salida serie de datos de la célula 20. Se utiliza normalmente para validar la programación del dispositivo. En el caso de que el diseño esté compuesto de dos o más TRC se deberán conectar en serie para poder realizar la programación de todos ellos. CLCR: Esta salida se utiliza como pin de control para señalizar el fin de la programación del dispositivo. Tema 1: Introducción a los sistemas programables avanzados 181 Secuencia de programación del convertidor RMS 100 110 111 011 110 011 000 001 011 101 011 110 111 000 110 000 010 110 000 010 011 000 001 110 011 000 001 011 101 010 000 100 010 110 000 000 110 000 000 010 Tema 1: Introducción a los sistemas programables avanzados 182

Filtro programable Vout( s) w o = 1 = RC s Vc V bias 1 + Vc RC 1 + RC s Vc Vin ( 1 s ) Tema 1: Introducción a los sistemas programables avanzados 183 mplificador controlado por tensión Tema 1: Introducción a los sistemas programables avanzados 184

Oscilador Frecuencia de oscilación f o = 1 4 RC Tema 1: Introducción a los sistemas programables avanzados 185 Oscilador controlado por tensión Tema 1: Introducción a los sistemas programables avanzados 186

Modulador de anchura de pulsos (PWM) Tema 1: Introducción a los sistemas programables avanzados 187 1.4.2 isppc de Lattice 188

isppc (In-System-Programmable nalog Circuit) Ventajas: Diseño rápido de circuitos que realizan funciones analógicas. Gran flexibilidad para realizar cambios con el sistema isp Programación no volátil Software de programación PC-Designer. Se pueden conectar distintos dispositivos en cascada para realizar diseños complejos. Tema 1: Introducción a los sistemas programables avanzados 189 Estructura isppc10 Cuatro células programables (Filtering/Summation PCblock) con: Dos mp. de Instrumentación con entrada diferencial (G: ±1 y ±10) Un filtro amplificador rray de capacidades, fc: 10kHz y 100kHz Tema 1: Introducción a los sistemas programables avanzados 190

Estructura isppc20 Dos células programables FilSum PCblock DC 8 bits Dos comparadores Tema 1: Introducción a los sistemas programables avanzados 191 mplificador de puente de Wheastone Sensor: galga extensiométrica Ganancia: 100 con dos etapas de G=10 Tema 1: Introducción a los sistemas programables avanzados 192

Filtro Biquad Esquema del filtro Biquad Implementación con isppc Tema 1: Introducción a los sistemas programables avanzados 193 Bibliografía (I) Rafael Ramos y ntonio Mànuel, Introducción a los dispositivos lógicos programables (PLDs) de Lattice, Eurofach Electrónica nº 284, pp. 36-39, bril 2000. ISSN: 0211-2973. Rafael Ramos y ntonio Mànuel, Introducción a los dispositivos lógicos programables (PLDs) de Lattice (II), Eurofach Electrónica nº 285, pp. 52-56, Mayo 2000. ISSN: 0211-2973. Rafael Ramos y ntonio Mànuel, La familia FLEX de dispositivos lógicos programables de ltera, Conectrónica tecnología y elementos de conexión en electrónica nº 49, pp. 20-24, Julio-gosto 2001. Rafael Ramos, Manuel Trujillo y ntonio Mànuel, FPG y herramientas de desarrollo, utomática e Instrumentación nº 321, pp. 96-103, Septiembre 2001. Tema 1: Introducción a los sistemas programables avanzados 194