Proyecto de Sistemas Informáticos Curso 2009-2010 Carlos Sánchez-Vellisco Sánchez Antonio José García Martínez David Fernández Máiquez.

Slides:



Advertisements
Presentaciones similares
Integrando Obras y Oficina
Advertisements

Lenguajes de Descripción de Hardware
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Configurar un foro Moodle.
B.I.O.S..
Instalación, Manipulación y uso.
TRABAJO DE SISTEMATIZACIÒN PARTES DE UNA PC PRESENTADO POR: MARIA FERNANDA TORRES CODIGO : PRESENTADO A: JEAN POLO CEQUEDA CONTABILIDAD.
RESUMEN: Softmicro de 8 bits Xilinx
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
MICROCONTROLADORES AVANZADOS
GESTOR DE BASES DE DATOS RELACIONALES
Computación Aplicada Ma. Teresa García Ramírez
HERRAMIENTAS DEL SISTEMA
SERVICIO DHCP Mª Begoña Castells 2º S.M.R.. Cuestiones de repaso IP.- Código que identifica una interfaz o dispositivo dentro de una red TCP/IP Es un.
DIPLOMADO EN OPERADOR DE SOFTWARE BÁSICO
Ingeniero Anyelo Quintero
 Nombre : Jerson Gualsaqui  Curso : 5to (A)  Fecha : 14 octubre del 2012.
COMPUTACIÓN APLICADA FACULTAD DE INGENIERÍA, UAQ Tablas Dinámicas, Macros Ma. Teresa García Ramírez.
DR. ERNESTO SUAREZ.
2da. Parte Capítulos 5-12: Transmisión de Paquetes
Microsoft Word.
Microsoft PowerPoint. Presentaciones Tema 3: PowerPoint Integrantes:
1 5. La Búsqueda (I) Los ordenadores almacenan gran cantidad de información…  Hay que clasificarla y ordenarla para encontrarla con facilidad. ¿Y si no.
III. Protocolo RIP Versión 1.
Como Instalar Un Access Point
ACIDE A C onfigurable I ntegrated D evelopment E nvironment (Un entorno integrado de desarrollo configurable)
Función Estructura y composición Tipos
El Ciclo de Vida de los Sistemas
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
LENGUAJES DE PROGRAMACIÓN
I2C (Inter-Integrated Circuit) (Modo Maestro-Esclavo )
Herramientas del sistema Maira Alejandra Ortiz losada universidad Surcolombiana 2014.
 En computación es un conjunto de líneas de señal que el microprocesador o CPU utilizan para intercambiar datos con otros componentes como teclados,
Comenzando con Excel 2000 Abrir Excel 2000 Pulsamos INICIO Elegimos PROGRAMAS Pulsamos en MICROSOFT EXCEL 2000 Elementos de la ventana de Excel 2000 Barra.
Proyecto de Sistemas Informáticos Curso Carlos Sánchez-Vellisco Sánchez Antonio José García Martínez David Fernández Máiquez.
Integración de entidades en VHDL
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Por: Miguel Edrai Quiroz Espinoza Informática 6º «H»
Redes de Transmisión de Datos
Estructura de los Sistemas Operativos
PROTECCIÓN DE CELDAS Y HOJAS DE CÁLCULO
Universidad Metropolitana Introducción a la Computación
DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez.
Proyecto de Sistemas Informáticos Curso Carlos Sánchez-Vellisco Sánchez Antonio José García Martínez David Fernández Máiquez.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
SANTIAGO MORA BERMÚDEZ
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
NOCIONES BÁSICAS COMPUTO II
File Transfer Protocol.
Unidad 7 Escritorio de Windows.
PRINCIPIOS DE PROGRAMACIÓN
1.2 REQUERIMIENTOS DEL SISTEMA Windows 7 Ultimate y Professional Para poder ejecutar Windows 7 en su equipo, necesitará: Procesador de 32 bits (x86) o.
Tipos de computadores Personales.
Tecnologías WAN (MODULO ESPECIALIDAD) Instituto Tecnológico Superior de Misantla. INGENIERIA EN SISTEMAS COMPUTACIONALES Unidad II: Protocolos WAN 2.1.-
RESUMEN: Softmicro de 8 bits Xilinx
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
EL ORDENADOR PERSONAL Aparato electrónico que sirve para procesar información (transformarla para que sea útil. Para hacerlo codifica la información (descompuesta.
ESTACIONES DE TRABAJO..
José Alvarado – Cristian Anzola
AA – B – C – D – E – F – G – H – I – J – K – M – N – O – P – R – S – T – V – W – X – Y – ZBCDEFGHIJKMN OPRST VWXYZ María Alejandra Ruz Toyo.
ARQUITECTURA DEL ORDENADOR
Área Académica: Informática Tema: Hoja de Cálculo Microsoft Excel: ordenar datos, inmovilizar título, protección de datos, comentarios, validación de datos.
Máquinas de estado con VHDL
INVESTIGACION DE TEMARIO JOSE LUIS VEGA MERINO.  1.2. Requerimientos de instalación.  Microsoft Windows 7 Professional y Microsoft Windows 7 Ultimate.
 Software  Humanware  Hardware Conformado por.
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
Transcripción de la presentación:

Proyecto de Sistemas Informáticos Curso Carlos Sánchez-Vellisco Sánchez Antonio José García Martínez David Fernández Máiquez

 Desarrollo de entorno para inyectar errores en una FPGA  Emular el comportamiento que una partícula cósmica pueda tener sobre una celda RAM de la memoria de configuración  Proceso fundamental: configurar FPGA, ejecutar, modificar configuración (1 bit), ejecutar y comparar.

Placa XUP Virtex-II Pro Development System

 Las FPGAs son dispositivos que contienen bloques de lógica programable  Ventajas:  Reconfigurables  Bajo costo  FPGAs Vs. Microcontroladores: ejecución en paralelo vs. Ejecución en serie

 Debido a las ventajas comentadas, se estudia la posibilidad del uso de FPGAs en tecnología aeroespacial.  Problema real: no hay protección atmosférica en el espacio exterior.  Consecuencias: Una partícula solar podría modificar el contenido de la memoria de configuración de la FPGA

 Utiliza el protocolo RS232  Interfaz para la E/S de datos para probar cualquier circuito  Distintas velocidades de transmisión (bps)  Diseño con un receptor y un transmisor serie

 Cronograma de transmisión de 1 byte  1 bit paridad  1 bit parada

 Entradas:  DatoTxIn (8 bits)  Transmite  Clk  RstN  Salidas :  Transmitiendo  DatoSerieOut

 Cuatro bloques  Divisor de frecuencia  Circuito de control  Carga_desplazamiento  Selección

 Entradas:  RxDatoSerie  Clk  RstN  Salidas :  DatoRxOut (8 bits)  AvisoRx  Recibiendo

 Tres bloques:  Divisor frecuencia  Circuito control  Desplazador SIPO (Serial In Parallel Out)

 Se evalúa el valor del bit recibido en el punto medio para evitar tomar valores contiguos

 Circuito con 7 bits de entrada (no contamos clk por tratarse de una entrada especial) y 4 bits de salida.  ¿Si tenemos otro circuito con mayor número de entradas y/o salidas?

 Dos máquinas de 4 estados para recepción y transmisión.  En cada estado se transmite/recibe un byte de datos.  Mecanismo de funcionamiento:  Recibir 4 bytes (entradas del circuito)  Generar un pulso de reloj  Transmitir 4 bytes (salidas del circuito)

 Motivación:  Poder cargar cualquier circuito que queremos probar “conectándolo” automáticamente a nuestro módulo de E/S.  Necesitamos saber:  Número de bits de entrada  Número de bits de salida  Entrada de reloj  Otros ficheros de los que dependa (módulos que usa)

 Para conectarlo al módulo de E/S crearemos automáticamente otro fichero VHDL que realice las asignaciones necesarias.  Necesitamos analizar la entidad definida en un fichero VDHL para saber número de entradas y salidas.

 (1) Fichero vhd de transmisión serie  (2) Fichero vhd de recepción serie  (3) Circuito introducido por el usuario. Este es el fichero cuya entidad se procesará. La salida es el:  (4) Circuito vhd del módulo top generado automáticamente. (1) Tx_Serie.vhd (2) Rx_Serie.vhd (3) Circuito.vhd (4) Circuito_FPGA.vhd

Parte a analizar

 Utilizaremos técnicas de procesamiento de lenguajes para reconocer la entidad definida en el fichero  Necesitaremos un analizador léxico para reconocer los pequeños elementos (tokens) de los que se compone el fichero vhdl: palabras reservadas, punto y coma, etc.  También un analizador sintáctico que lea cada uno de los tokens guiado por una gramática.

 Autómata finito determinista (AFD)

 Gramática de una entidad Entidad ::= Cabecera entity identificador is Generic Puertos end identificador Generic ::= generic (Variables); Variables ::= Variable RVariables; Variable ::= identificador : InOut integer := entero RVariables ::= ; Variable Rvariables RVariables ::= λ Puertos ::= port(Señales); Señales = Señal RSeñales Señal = identificador : InOut Tipo RSeñales = ; Señal RSeñales RSeñales = λ InOut = in InOut = out Tipo = std_logic Tipo = std_logic_vector(Exp downto Exp) Exp = Term RExp RExp = + Exp | - Exp | λ Term = Fac RTem RTerm = * Term | / Term | λ Fac = ( E ) | nat | identificador Cabecera = *

Generación fichero.BIT  Sintetizar  Traducir  Mapear  “Place and Route”  Generar.bit

Generación fichero.BIT  1º Generar fichero de proyecto (.prj)

Generación fichero.BIT  2º Ejecución de los comandos para creación. Bit mediante una llamada a Compilar.bat off  cd comandosXilinx  set pwd=%cd%  rem borramos los archivos que no hacen falta  call clearFiles  rem después ejecutamos los procesos  call sintetizarXST.bat %1%  cd %pwd%  %pwd:~0,2%  call translateNGDBUILD.bat %1%  cd %pwd%

Generación fichero.BIT  %pwd:~0,2%  call map.bat %1%  cd %pwd%  %pwd:~0,2%  call par.bat %1%  cd %pwd%  %pwd:~0,2%  call bitgen.bat %1%  cd %pwd%  %pwd:~0,2%  rem exit

Generación fichero.BIT  Una vez generado el fichero BIT,también podremos cargarlo  Utilizaremos los comandos que utiliza el IMPACT, utilidad de Xilinx ISE  Estos parámetros se encuentra en carga.txt, que se ejecutara en modo batch

Inyección de errores  Objetivo:  Emular la posibilidad de que una partícula solar incida en la superficie de la FPGA y modifique su comportamiento.

Inyección de errores  Virtex-II Pro:  Frames verticales de 1 bit de anchura y altura, la que tiene la FPGA.  En nuestro caso XC2VP30 que tiene 1756 frames y 206 bits por frame.  Modos de configuración de bloques y conexiones  Reconfiguración total: estática.  Reconfiguración parcial: dinámica.

Inyección de errores  Utilizamos una aplicación que modifica un solo bit de un fichero.bit.  Esta aplicación necesita como entradas el frame y bit a modificar.  Genera dos ficheros de configuración:  Fichero de restauración (Fichero original)  Fichero con bit modificado

Inyección de errores Ejecución:  Usuario selecciona numero de iteraciones.  Selección entidad VHD seguida de su fichero.BIT  Cargar fichero Banco de Pruebas  Generación salida “GOLDEN”

Inyección de errores  Ejecución iteraciones:  Modificación aleatoria de frame y bit.  Generación de ficheros:  fichero_modif.bit  fichero_modifRestore.bit  Cargar “fichero_modif.bit” y ejecutar.  Comparar salidas con la salida “GOLDEN” y comprobación si incide el error en la aplicación.  Restaurar FPGA con “fichero_modifRestore.bit”.

FGPA - UCF  Fichero de restricciones de usuario  Asigna entradas y salidas del circuito top a los pines de la placa.  Entradas Circuito principal:  Clk  Reset  Entrada_serie

FGPA - UCF  Salidas Circuito principal:  Salida_serie  Visualización en leds de los estados del módulo de E/S  NET "clk" LOC = "AJ15"; # Reloj del Sistema NET "salida_serie" LOC = "AE7"; #Datos puerto serie RS232_TX_DATA NET "reset" loc="AG5"; #Botón enter el del centro NET "entrada_serie" LOC = "AJ8"; #Datos entrada puerto serie RS232_RX_DATA NET "ledsEntrada " LOC = "AC4"; NET "ledsEntrada " LOC = "AC3"; NET "ledsSalida " LOC = "AA6"; NET "ledsSalida " LOC = "AA5";

Datos de E/S de un circuito  Entradas:  Cadenas de 0’s y 1’s con longitud=nºbits entidad(in)  Estas entradas se pueden cargar mediante fichero o en la pantalla de Nessy 2.0  Ejemplo:  component CONTADOR Port( RESET: in STD_LOGIC; CLK: in STD_LOGIC; ENABLE: in STD_LOGIC; LOAD: in STD_LOGIC; DATA_LOAD: in STD_LOGIC_VECTOR(15 downto 0); SALIDA: out STD_LOGIC_VECTOR(15 downto 0));

Datos de E/S de un circuito  La entrada de reloj se descarta. La entrada (19 bits): Se interpreta como: RESET <= 0 ENABLE <= 1 LOAD <= 0 DATA_LOAD(0) <= 0 DATA_LOAD(1) <= 0 : DATA_LOAD(15) <= 0 Si la salida (16 bits) fuera: Es sencillo intuir que corresponderá a: SALIDA(0) <= 1 SALIDA(1) <= 1 SALIDA(2) <= 0 : SALIDA(15) <= 0

Aplicación – Nessy 2.0  La ventana principal de la aplicación, estaría dividida en tres partes, el menú, la botonera y las vistas (donde se puede visualizar las salidas)

Aplicación – Nessy 2.0 (Menú)  Tenemos tres desplegables, desde los que podemos interactuar con la aplicación.  En el desplegable Opciones, tenemos las mismas posibilidades que existen en la botonera.

Aplicación – Nessy 2.0 (Menú)  En el desplegable Vistas elegimos la salida que queremos visualizar.

Aplicación – Nessy 2.0 (Menú)  El menú configuración. Tiene dos opciones desde las que podemos seleccionar la ruta del Xilinx.

Aplicación – Nessy 2.0 (Botonera)  Controla los procesos más importante de la aplicación.  Se encontrarán habilitados dependiendo en la situación en la que estemos.

Aplicación – Nessy 2.0 (Botonera)  Cargar VHDL:  Desde aquí cargamos los ficheros de tipo VHDL del proyecto con el que queramos trabajar. Podemos cargar un VHDL o varios eligiendo la entidad TOP

Aplicación – Nessy 2.0 (Botonera)  Cargar varios archivos VHDL.

Aplicación – Nessy 2.0 (Botonera)  Crear el archivo.Bit  Se generará un archivo.bit a partir de los ficheros VHDL cargados anteriormente. Indicaremos donde queremos guardar el archivo y se creará automáticamente, añadiéndole VHDL necesarios para la comunicación con la FPGA.

Aplicación – Nessy 2.0 (Botonera)  Cargar. Bit  Desde aquí seleccionando el archivo.bit que deseemos, cargamos el archivo en la FPGA

Aplicación – Nessy 2.0 (Botonera)  Cargar Test Bench:  Aquí podemos elegir el repertorio de datos que se enviarán a la FPGA. Tenemos dos opciones:  Cargar TB en la vista Test Bench.  Cargar desde Fichero y comenzar Ejecución.

Aplicación – Nessy 2.0 (Botonera)  Ejecutar:  Comienza a mandar los datos que tenga del Test Bench que hemos definido antes.

Aplicación – Nessy 2.0 (Botonera)  Parar Ejecución:  Permite parar una ejecución, dejando de enviar datos a la FPGA.

Aplicación – Nessy 2.0 (Botonera)  Reanudar Ejecución:  Permite continuar con la ejecución previamente parada.

Aplicación – Nessy 2.0 (Botonera)  Generar Golden:  Generar el archivo Golden, que es con el que se compara la ejecución de un Test Bench.  Cargar Golden:  Permite seleccionar como archivo Golden que tengamos guardado.

Aplicación – Nessy 2.0 (Botonera)  Inyección de Errores:  Con este botón podemos ir modificando el mapa de bits de la FPGA y observar como afecta esa modificación a la salida que se genera.

Aplicación – Nessy 2.0 (Botonera)  Toda la salida generada por este proceso en un fichero, para poder estudiar el impacto de la modificación del mapa de bits.

Aplicación – Nessy 2.0 (Otros Detalles)  Teclas Rápidas.  Para cada opción de menú existe una combinación de teclas para accionarla.  Trazas.  A parte de la traza de la Inyección de errores, se guarda una traza con todo lo que hemos haciendo en la aplicación.

Ronda de Preguntas