Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Facultad de Ciencias Exactas y Tecnología UNT.



Documentos relacionados
ESTRUCTURA Y TECNOLOGÍA A DE LOS COMPUTADORES I. TEMA 5 Introducción n a los Sistemas Digitales

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

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

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

Reprogramación de módulos de control

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. Introducción. Fabricantes. Elevada complejidad. Facilitar tareas de diseño

BLOQUE 2. (PARTE 3: Tema 2) CONJUNTO CONFIGURABLE DE PUERTAS FPGA (Field Programmable Gate Array) Tecnología y Proceso de configuración

REGISTROS DE DESPLAZAMIENTO

Tipos de sistemas digitales: Sistemas combinacionales: las variables de salida dependen en todo instante de los valores de las variables de entrada.

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

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

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

Metodologías de diseño de hardware

4. Programación Paralela

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Circuitos Electrónicos. Primer parcial curso

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

TEMA7. SISTEMAS SECUENCIALES

TEMA 3: Control secuencial

Autómatas Programables (PLC)

USB (Universal Serial Bus)

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

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

Memorias no volátiles

Tipos de instalaciones

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

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

Introducción a las redes de computadores

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

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

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Tema 11: Sistemas combinacionales

Fig 4-7 Curva característica de un inversor real

3.1 Introducción a VHDL

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

TEMA 4. Unidades Funcionales del Computador

Gestión de la Configuración

Circuitos Electrónicos. Septiembre 2005/2006. Problema 1º parcial

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

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

Interoperabilidad de Fieldbus

Gestión de Oportunidades

INTRODUCCION A LA PROGRAMACION DE PLC

TEMA - 3 LÓGICA SECUENCIAL. REGISTROS DE DESPLAZAMIENTO Y CONTADORES. 1.- Introducción.

Sistemas de Computadoras Índice

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

MEMORIAS DE SEMICONDUCTORES

A continuación se representan los componentes básicos de un sistema computacional (ordenador). Figura Componentes básicos de un ordenador.

La Computadora. Operaciones de entrada al ser receptora de información. Operaciones de cálculo, lógica y almacenamiento.

Breve Curso de VHDL. M. C. Felipe Santiago Espinosa. Profesor Investigador UTM

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

CAPÍTULO COMPONENTES EL DIODO SEMICONDUCTORES: 1.1 INTRODUCCIÓN

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

Servicio de Marketing

Elementos requeridos para crearlos (ejemplo: el compilador)

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

E-learning: E-learning:

Un contador es un circuito secuencial que genera una secuencia ordenada de salidas que se repite en el tiempo. La salida coincide con el estado de

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

TOPOLOGÍA. Bus lineal. Topología anillo. Topología doble anillo. Topología estrella. Jerarquía. Malla. Hibridas.

Capítulo 5. Cliente-Servidor.

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

ANEXO - D LOGICA BINARIA Aplicada a diagramas en escalera y de bloques para la programación de un mini PLC

MODULO Nº12 TRANSISTORES MOSFET

GUIAS ÚNICAS DE LABORATORIO CIRCUITOS CONTADORES AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS

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

Guía de uso del Cloud Datacenter de acens

Diseño o Estructurado GRAFCET

18. Camino de datos y unidad de control

Naturaleza binaria. Conversión decimal a binario

WINDOWS : TERMINAL SERVER

AVISADOR DE ALARMA AG1 GSM CON GPS

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Instalación de Sistemas de Automatización y Datos

Curso Completo de Electrónica Digital

CIRCUITOS SECUENCIALES

SEGURIDAD Y PROTECCION DE FICHEROS

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

Sistema de marketing de proximidad

Laboratorio de Diseño de Sistemas Digitales

TEMPORIZADORES, CONTADORES Y COMPARADORES

Organización de Computadoras. Turno Recursantes Clase 8

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

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

Arquitectura de sistema de alta disponibilidad

Ingeniería de Software. Pruebas

Anexo B. Comunicaciones entre mc y PC

Capítulo 9. Archivos de sintaxis

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

La Unidad Procesadora.

Actividad 4: Comunicación entre PLC s vía Ethernet

Tema 1. Conceptos fundamentales de los Sistemas Operativos

ÍNDICE SISTEMAS OPERATIVOS... 5

51 Int. CI.: H04W 4/12 ( ) TRADUCCIÓN DE PATENTE EUROPEA

Puertas Lógicas. Contenidos. Objetivos

SIIGO PYME PLUS. Proceso de Recuperación. Cartilla I

Transcripción:

Tema 4 Parte 1: Tecnologías de configuración Parte 2: Lenguajes de descripción de Hardware#4

TECNOLOGÍA Tipo de elemento de configuración utilizado. La tecnología de los elementos de configuración influye en la velocidad de operación y en el aprovechamiento del área de semiconductor. CLASES DE ELEMENTOS DE CONFIGURACIÓN No volátiles Conservan el estado de corte o conducción al dejar de alimentar el circuito. Volátiles No memorizan el estado al desconectar la alimentación del circuito. Esto hace que la configuración tenga que almacenarse en un sistema externo.

TECNOLOGÍAS BASADAS EN CELDAS DE MEMORIA El estado de un elemento de configuración está determinado por el valor almacenado en una celda de memoria: No volátil: Volátil: SRAM. EPROM, EEPROM, FLASH, antifusible. Las celdas de memoria no están concentradas sino distribuidas por todo el dispositivo y cerca del elemento que configuran.

TECNOLOGÍAS BASADAS EN CELDAS DE MEMORIA SRAM Los interruptores programables están formados por transistores MOS de transmisión o paso, controlados mediante elementos de configuración que son celdas de memoria estática denominadas SRAM (Static Random Access Memory)

TECNOLOGÍAS BASADAS EN CELDAS DE MEMORIA SRAM En la figura se representa la estructura típica de la celda de una memoria SRAM (Static Random Access Memory). Dicha celda constituye el elemento de configuración y está formada por un biestable de tecnología CMOS y un transistor de control que permanece cortado durante la operación normal de la FPGA, y conduce para almacenar el nivel lógico de la línea de dato en el biestable, durante el proceso de configuración, o para leer el contenido del biestable a través de la línea de dato durante el proceso de lectura de la configuración (Readback).

TECNOLOGÍA BASADA EN CELDAS DE MEMORIA No volátil Transistor MOS de canal N de puerta flotante de espesor aislante reducido, borrable mediante impulsos eléctricos: a) Polarización durante la operación de escritura o programación; b) Polarización durante la operación de borrado o desactivación.

TECNOLOGÍAS BASADAS EN ANTIFUSIBLES Antifusible (Antifuse) Elemento de memoria constituido por dos zonas conductoras separadas por un aislante de impedancia muy alta. Al aplicar una tensión elevada entre las dos zonas conductoras el aislante se convierte en conductor y pasa a tener una impedancia baja. Esta situación es irreversible y por ello el elemento no es reprogramable. Además su comportamiento es inverso al de un fusible y por ello se le denomina antifusible

TECNOLOGÍAS BASADAS EN ANTIFUSIBLES Antifusible (Antifuse) Características Menor retardo. Menor tamaño del elemento de configuración. No volátil. Mayor tolerancia a la radiación electromagnética. Suelen recibir el nombre de OTP FPGA.

PROCESO DE CONFIGURACIÓN

CONFIGURACIÓN FUERA DEL SISTEMA (OFF SYSTEM PROGRAMMABLE)

CONFIGURACIÓN EN EL SISTEMA (IN SYSTEM PROGRAMMABLE)

CONFIGURACIÓN EN EL SISTEMA (IN SYSTEM PROGRAMMABLE)

CONFIGURACIÓN EN EL SISTEMA (IN SYSTEM PROGRAMMABLE)

CONFIGURACIÓN A TRAVES DE UN CANAL SERIE Preguntas que se tuvieron que hacer los ingenieros de los laboratorios de desarrollo de los fabricantes de circuitos FPGA en la década de 1990: - La configuración de una FPGA es un proceso con unas características especiales? Respuesta: Si. Es un proceso de control distribuido. El procesador de comunicaciones que forma parte del procesador de configuración tiene que enviar información a muchos sitios situados en puntos diferentes de la FPGA y debe comprobar que dicha información ha llegado al punto correcto. Hay que establecer una comunicación serie que recorra muchos sitios de la FPGA porque una comunicación paralelo es inviable. - Existe algún tipo de solución hardware de una comunicación serie en el interior de un circuito integrado ya desarrollada que pueda servir para llevar a cabo el proceso de configuración? Respuesta: Si. Existe JTAG ( Joint Test Action Group). Deberíamos aprovecharla. Y eso hicieron.

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG Verificación deun sistema Proceso mediante el cual se comprueba que su comportamiento es ACORDE CON LAS ESPECIFICACIONES. Es un proceso inherente a la Tecnología, y su importancia ha ido creciendo simultáneamente con el aumento de la complejidad de los sistemas creados por el ser humano. Para realizar la verificación de un sistema SE APLICAN DETERMINADOS ESTÍMULOS A SUS ENTRADAS Y SE OBSERVA LA RESPUESTA OBTENIDA A SUS SALIDAS. Dichos estímulos pueden ser los mismos que recibe el sistema en funcionamiento normal, o específicos para efectuar la verificación. Sistemas digitales complejos realizados en un circuito integrado monolítico VLSI o ULSI Al fabricar un circuito integrado ULSI o GLSI se pueden producir numerosos fallos que son necesarios detectar antes de que se conecte con otros para constituir un sistema complejo. El número de puntos a los que se tiene acceso desde el exterior está limitado en la práctica y es muy útil, en general, INCLUIR CIRCUITOS DIGITALES ADICIONALES O REDUNDANTES (innecesarios desde un punto de vista funcional) para facilitar la verificación, y aumentar en un número pequeño los terminales de entrada y salida por encima de los estrictamente necesarios desde el punto de vista operativo. Esto sólo ha sido posible gracias al abaratamiento del sistema físico (hardware) propiciado por la elevación de la capacidad de integración.

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG Conceptos más importantes ligados a la verificación de los sistemas digitales complejos Controlabilidad (Controllability) Capacidad para fijar el estado de cualquiera de los nodos internos de un sistema a partir de los valores de las entradas, es decir, sin necesidad de tener acceso directo al nodo. Observabilidad (Observability) Capacidad para conocer el estado de uno cualquiera de los nodos internos de un sistema mediante la observación de las salidas operativas, es decir, sin necesidad de tener acceso directo al nodo. Factor clave: ELECCIÓN DE LOS PUNTOS QUE SE DEBEN CONTROLAR U OBSERVAR en un circuito para maximizar la probabilidad de detección de errores al comprobar su correcto funcionamiento. Depende de las características particulares de cada sistema, de la aplicación a que se destina el mismo y de las posibles fuentes externas de errores. En el caso de los circuitos digitales configurables hay que comprobar la programación de los elementos que establecen la configuración.

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG Técnicas para realizar la verificación de un sistema digital complejo - Verificación estática, activa o no concurrente (Testing) - Verificación dinámica, pasiva o concurrente (Checking)

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG Verificación estática, activa o no concurrente (Testing) Se puede efectuar de dos formas diferentes con el sistema fuera de servicio: - Directamente sobre un prototipo. Solo válido para sistemas sencillos. - Indirectamente sobre un modelo descriptivo de su comportamiento utilizando un simulador del mismo. La simulación se utiliza durante el proceso de diseño de un sistema digital complejo que se pretende realizar mediante un circuito digital a medida o mediante un circuito digital configurable.

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG Verificación dinámica, pasiva o concurrente (Checking) Se puede denominar en español comprobación o prueba. Se lleva a cabo de forma simultánea con la operación del sistema o sin desconectarlo del entorno en el que funciona normalmente, lo que constituye una de sus principales ventajas. Para realizarla se compara el comportamiento del sistema con un modelo abstracto del mismo. Presenta el inconveniente de que no permite detectar fallos latentes, que son los que están presentes en el sistema en un momento dado sin haber producido todavía un efecto detectable. Los fallos latentes no se detectan hasta que el funcionamiento normal del sistema propaga sus efectos hasta la salida, es decir hasta que se produce un error.

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG DFT (Design For Testability) estructuradas para la verificación externa Técnicas de aplicación general consistentes en añadir elementos de forma sistemática para lograr un elevado grado de verificabilidad. Su evolución es el resultado de las actividades de desarrollo tecnológico realizadas por los principales fabricantes de procesadores digitales que fueron posibles gracias a la elevación de la capacidad de integración a partir de mediados de la década de 1970. La más utilizada de las primeras técnicas : Técnica del camino de exploración (Scan path technique) La técnica del camino de exploración es difícil de aplicar en los sistemas digitales complejos que contienen gran cantidad de registros repartidos espacialmente, porque hay que enlazarlos entre sí para tener acceso a todos ellos.

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG NACIMIENTO DE JTAG Los inconvenientes de la técnica del camino de exploración hizo que en 1985 varias empresas europeas y norteamericanas llegasen a un acuerdo para desarrollar una técnica normalizada que pudiese ser aceptada por todos y aplicable a cualquier tipo de sistema digital tanto si está formado por un solo circuito integrado como por varios colocados en una placa de circuito impreso. Para ello formaron un grupo de trabajo denominado "Joint Test Action Group"(JTAG) que desarrolló un sistema orientado a la verificación externa, que fue finalmente aceptado por el IEEE en 1990 bajo la norma IEEE 1149.1-1990 denominada también norma de exploración periférica (Boundary Scan Standard).

BREVE HISTORIA Y DESCRIPCIÓN DE JTAG Para reducir al mínimo los terminales del circuito integrado dedicados a las funciones de verificación, JTAG combina cuatro señales con uncircuito digital que constituye un procesador de verificación. Dichas señales constituyen el puerto de acceso a laverificación TAP (Test Access Port) y son: -Entrada de datos de verificación TDI (Test Data Input) A través de ella se introducen las instrucciones de verificación así como los vectores de estímulo y los resultados de laverificación del sistema digital precedente. Es laentrada de exploración de laprimera celda de exploración periférica. -Salida de datos de verificación TDO (Test Data Output) A través ella salen los resultados de la verificación procedentes de las celdas de exploración periférica. - Señal de reloj deverificación TCK (Test Clock Input) - Entrada de selección del modo de verificación TMS (Test Mode Select) Indica al procesador de verificación el modo en el que debe funcionar. El estado cero corresponde al modo de verificación y el uno al de funcionamiento normal y si el estado uno se mantiene durante al menos cinco impulsos de reloj se reinicializa el procesador de verificación.

Parte 2: Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Lenguajes de descripción de Hardware#4

Descripción del sistema - Descripción estructural (Structural modeling) Especifica los elementos y sus Interconexiones -Descripción funcional o de comportamiento (Behavioural modeling) Describe el funcionamiento -Descripción física o geométrica (Physical design) Genera los datos para la realización física Usaremos la descripción funcional para describir sistemas secuenciales

Tipos de sistemas digitales Sistemas Secuenciales Elementos de Memoria Entradas Circuito Combinacional Salidas Sistemas Combinacionales x x 1 2 SC z z 1 2 z f ( x, x,, x ) 1 1 1 2 z f ( x, x,, x ) 2 2 1 2 n n x n z m z f ( x, x,, x ) m m 1 2 n

Tipos de sistemas secuenciales #1 Sistemas secuenciales asincrónicos Elementos de Retardo s1, s2,, s k S1, S2,, Sk z f ( x, x,, x, s, s,, s ) 1 1 1 2 n 1 2 z f ( x, x,, x, s, s,, s ) 2 2 1 2 n 1 2 z f ( x, x,, x, s, s,, s ) m m 1 2 n 1 2 k k k Circuito Combinacional x1, x2,, xn 1 2 z, z,, zm S fs ( x, x,, x, s, s,, s ) 1 1 1 2 n 1 2 S fs ( x, x,, x, s, s,, s ) 2 2 1 2 n 1 2 k k S fs ( x, x,, x, s, s,, s ) k k 1 2 n 1 2 k

Tipos de sistemas secuenciales#2 Sistemas Secuenciales Sincrónicos z f ( x, x,, x, s, s,, s ) 1, u 1 1 2 n 1, u 2, u k, u z f ( x, x,, x, s, s,, s ) 2, u 2 1 2 n 1, u 2, u k, u u clock z f ( x, x,, x, s, s,, s ) m, u m 1 2 n 1, u 2, u k, u s, s,, s 1, u 2, u k, u Elementos de Memoria s fs ( x, x,, x, s, s,, s ) 1, u 1 1 1 2 n 1, u 2, u k, u s fs ( x, x,, x, s, s,, s ) 2, u 1 2 1 2 n 1, u 2, u k, u Circuito Combinacional s fs ( x,,,,,,, ) k, u 1 z, z,, z x1, x2,, x 1, 2,, n u u m u k 1 x2 xn s1, u s2, u sk, u

Modelos de SSS clock Modelo Mealy Z F( X, S ) u u u S Fs( X, S ) u 1 u u s, s,, s 1, u 2, u k, u u Elementos de Memoria Circuito Combinacional z, z,, z x1, x2,, x 1, 2,, n u u m u Modelo Moore Z u F( S ) S Fs( X, S ) u 1 u u u z, z,, z 1, u 2, u m, u CC2 s, s,, s 1, u 2, u k, u u clock Elementos de Memoria x1, x2,, xn CC1

Otro modelo de SS Grafcet Z u F( S ) S Fs( X, S ) u 1 u u u Máquina de Estados Permite la descripción gráfica de un control de procesos. GRAfico Funcional de Control de Etapas y Transiciones. Metodología para automatizaciones industriales

Ejemplo: Semáforo de intersección de avenida Reloj S1 S2 S3 S4 {X} SSS {S} {Z} R1 R2 R3 R4 V1 V2 V3 V4 {x} = { Habilitado, No Habilitado} -> Alfabeto de entrada {S} = {sem1, sem2, sem3, sem4} -> Conjunto de estados {Z} = { Z1, Z2, Z3, Z4} -> Alfabeto de salida Z1 V1, R1, V 2, R2, V 3, R3, V 4, R4 Z 2 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z3 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z 4 ( V1, R1, V 2, R2, V 3, R3, V 4, R4)

Semáforo de intersección de avenida. Mealy Reloj {X} SSS {S} {Z} S1 S2 S3 S4 R1 R2 R3 R4 V1 V2 V3 V4 Z1 V1, R1, V 2, R2, V 3, R3, V 4, R4 Z 2 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z3 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z 4 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Diagrama de estados

Semáforo de intersección de avenida. Moore Reloj {X} SSS {S} {Z} S1 S2 S3 S4 R1 R2 R3 R4 V1 V2 V3 V4 Z1 V1, R1, V 2, R2, V 3, R3, V 4, R4 Z 2 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z3 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z 4 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Diagrama de estados

Semáforo de intersección de avenida. Grafcet Reloj {X} SSS {S} {Z} S1 S2 S3 S4 R1 R2 R3 R4 V1 V2 V3 V4 Z1 V1, R1, V 2, R2, V 3, R3, V 4, R4 Z 2 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z3 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Z 4 ( V1, R1, V 2, R2, V 3, R3, V 4, R4) Diagrama de estados

VHDL. Semáforo de intersección de avenida según MOORE.

Simulación. Semáforo de intersección de avenida según MOORE.

Descripciones de estados en VHDL clk Q[2..0]

Simulación Contador MOD 5 clk Q[2..0] VARIABLE Las variables se utilizan para almacenar un valor Tienen validez solo en los bloques PROCESS SIGNAL Las señales se utilizan para conectar diversas partes del diseño Tienen validez en todo el bloque ARCHITECTURE

Contador con todas las características de 4 bits Reloj d_ent[3..0] borrar cargar descendente habil_cnt Conta MOD16 q[3..0]

Contador con todas las características de 4 bits

Contador con todas las características de 4 bits Simulación