Monografias.com > Computación
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción al diseño de sistemas digitales reconfigurables en FPGA




Enviado por Pablo Turmero



Partes: 1, 2


    Monografias.com
    Spartan-3AN
    1

    Monografias.com
    Arquitectura interna
    Lógica de bloques configurable o Configurable Logic Blocks (CLBs) .
     
    Entradas y salidas de los bloques o Input/Output Blocks (IOBs).

    RAM.

    Multiplicador de bloques.

    Control de Reloj o Digital Clock Manager (DCM).

    2

    Monografias.com
    Flujo de diseño.
    Especificaciones.
    Decidir como se han de cumplir las especificaciones y diseñar el modelo a seguir.

    Realización.
    Tras crear el código de la aplicación es necesario asegurar su correcto funcionamiento mediante simulaciones antes de sintetizarlo.

    Síntesis del código.
    Antes de grabar un programa en la placa de destino, será necesario simular su comportamiento, esta vez ya con la configuración de pines decidida, a fin de comprobar sus retardos de propagación y su funcionamiento final.
    3

    Monografias.com
    Sistemas combinacionales.

    Son aquellos sistemas en que las salidas dependen exclusivamente de las entradas y su respuesta es constante y deducible matemáticamente.
    4

    Monografias.com
    Uso de los Leeds y los pulsadores.

    Se establece una asignación entre los 4 selectores de entrada y 4 leeds de salida.

    entity Prub1 is
    Port ( SW : in STD_LOGIC_VECTOR (3 downto 0);
    LDR :out STD_LOGIC_VECTOR (3 downto 0));
    end Prub1;
    architecture Behavioral of Prub1 is
    begin
    LDR <= NOT(SW);
    end Behavioral;
    5

    Monografias.com
    Archivo DO para simulaciones.
    restart
    add wave SW
    add wave LDR
     
    force SW 1011
    run 100
    force SW 0011
    run 100
    force SW 1100
    run 100
    force SW 1001
    run 100
    force SW 0101
    run 100
    run 200
    Se reinician los registros.
    Se definen las variables a utilizar.
    Add wave” nombre señal”.

    Se fuerza un valor de entrada y se espera un tiempo prudencial de ejecución para observar los resultados.
    Forcé “nombre entrada” “valor deseado”
    Run “Tiempo deseado”

    6

    Monografias.com
    ISE Project Navigator
    7

    Monografias.com
    Escritura y Síntesis.
    Añadir un nuevo archivo.

    Introducir el código en este nuevo archivo.

    Sintetizar el documento para comprobar si se producen errores durante el proceso.
    8

    Monografias.com
    Asignación de pines.
    El programa nos permite introducir los datos de forma manual en el archivo .UCF de configuración, o de forma automática mediante una aplicación propia, PlanAhead.

    Archivo .UCF

    PlanAhead
    9

    Monografias.com
    Archivo .UCF
    El formato del documento es el siguiente:
     

    #############################################################################
    # Discrete Indicators (LED) #
    #############################################################################
     
    NET "LED<0>" LOC = "R20" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ;
     
    NET "LED<1>" LOC = "T19" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ;
    Para este proyecto se edita manualmente puesto que la nomenclatura de salidas no es la misma que en el Archivo .UCF original.
    NET "LDR[0]" LOC = R20;
    NET "LDR[1]" LOC = T19;
    NET "LDR[2]" LOC = U20;
    NET "LDR[3]" LOC = U19;
    NET "SW[0]" LOC = V8;
    NET "SW[1]" LOC = U10;
    NET "SW[2]" LOC = U8;
    NET "SW[3]" LOC = T9;
    10

    Monografias.com
    PlanAhead
    Esta herramienta permite introducir la asignación de pines manualmente uno a uno.
    11

    Monografias.com
    Comprobación de la asignación de pines y sintetizado.
    Un método para comprobar la asignación es mediante el Design Summary.
    Para completar toda la cadena de sintetizado y generar todos los archivos necesarios para la simulación temporal es necesario Generar el programa a grabar en la Spartan-3AN.

    12

    Monografias.com
    Simulación temporal mediante TestBench (I)
    Este archivo permite integrar la simulación dentro del ISE Project Navigator y definir las pautas a seguir.
    stim_proc: process
    begin
    SW<="1111";
    wait for 100 ns; 

    SW<="1011";
    wait for 100 ns;
    SW<="0011";
    wait for 100 ns;
    SW<="1100";
    wait for 100 ns;
    SW<="1001";
    wait for 100 ns;
    SW<="0101";
    wait for 100 ns;
    wait for 200 ns;
    wait;
    end process;
    13

    Monografias.com
    Simulación temporal mediante TestBench (II)
    En la simulación temporal se pueden observa los retardos que se producen durante la ejecución del código.
    Los retardos serán una constante durante todo el proyecto que oscilan entre 5 y 8 ns.
    14

    Monografias.com
    Grabado en la Spartan-3AN
    Conectar la placa y alimentarla.

    Detectar la placa por el programa de grabado (ISE iMPACT).

    Introducción y grabado del código.

    15

    Monografias.com
    Sistemas secuenciales.
    A diferencia de los Sistemas combinacionales, en los sistemas secuenciales, los valores de las salidas, en un momento dado no dependen exclusivamente de las entradas.
    La mayoría de los sistemas secuenciales están gobernados por señales de reloj.
    16

    Monografias.com
    Gestión de Reloj
    Para gestionar el reloj de 50 Mhz que nos proporciona la Espartan-3AN, se utilizará un divisor de frecuencia realizado manualmente y la herramienta de reloj Digital Clock Manager.
    Divisor de frecuencia (Manual)

    Digital Clock Manager (DCM)
    17

    Monografias.com
    Divisor de frecuencia (Manual)
    Entradas CLK: Es la entrada de 50MHz disponible en la placa.
    CD: Reiniciara el contador cuando se active.
    CE: Habilitara el contador para que pueda incrementar en cada iteración.

    Salida TC10: Esta salida proporcionara la nueva frecuencia resultante del divisor.
    IF CE = '1' THEN

    IF (present_state = "110001") THEN
    future_state <= "000000“;
    ELSE
    future_state <= present_state + 1;
    END IF;
    ELSE
    future_state <= present_state;
    END IF;
    TC10 <= '1' WHEN (present_state = "110001" AND CE = '1') ELSE '0';
    18

    Monografias.com
    Divisor de frecuencia (Manual)–Simulación–
    Si definimos un periodo de CLK de 1ns el resultado de la simulación es el siguiente.

    19

    Monografias.com
    Digital Clock Manager (DCM)
    Es la herramienta de reloj que nos proporciona el fabricante, propiedad intelectual (IP).

    Su uso es mediante formularios.

    El programa genera automáticamente todo el código necesario para instanciarlo.
    20

    Monografias.com
    Comparación de los sistemas (I)
    Para comprobar el funcionamiento se implementa un doble contador.
    Cada una de las salidas estará controlada por un sistema diferente a fin de evaluar su comportamiento.
    21

    Monografias.com
    Comparación de los sistemas (II)
    Assert o afirmaciones lógicas.
    Se introducen ciertas afirmaciones en la simulación para poder seguir el correcto funcionamiento de cada proceso.
    Note: Texto simple que notifica del evento.
    Warning: Muestra un warning dentro de la ventana de compilación.
    Error: Muestra un error dentro de la ventana de compilación e interrumpe el flujo del programa.
    assert “Condición”
    report ""
    severity note/warning/error;
    22

    Monografias.com
    Comparación de los sistemas (III)
    En las graficas se pueden observar los retardos que se producen entre un método y otro.
    Las salidas de los dos componentes se harán funcionar a la misma frecuencia.
    23

    Monografias.com
    Aplicación: Reloj en tiempo real programable.
    El reloj será capaz de mostrar horas, minutos y segundos.

    Efectuara las operaciones de parado (CE) o puesta a cero (CD) en un instante determinado y cuenta adelante o atrás (UD_L).

    Permitirá aumentar o reducir el valor de horas, minutos o segundos al antojo del usuario (MODE<=>SETE).

    Los datos serán visualizados mediante una pantalla LCD integrada en la Spartan-3AN, y cuando el usuario decida modificar un dato este parpadeara para facilitar su uso.

    24

    Monografias.com
    Esquema de control del sistema.
    El sistema es regido por un controlador que gestiona el funcionamiento de cada uno de los componentes de la aplicación contenidos en el DATAPATH.
    25

    Monografias.com
    Controlador: Maquina Estados (I)
    Consta de 4 estados controlados por un vector de 2 bits.
    El estado de reposo hace funcionar al reloj normalmente (Estado: “00”).
    Los estados “01”, ”10” y “11” permiten al usuario cambiar la hora modificando segundos, minutos y horas independientemente.
    Para pasar de un estado a otro se actúa sobre la entrada SETE y para modificar segundos, minutos y horas dentro de cada estado es mediante la entrada MODE.

    26

    Monografias.com
    Controlador: Maquina Estados(II)
    La maquina de estados hace variar el funcionamiento del sistema mediante 4 selectores.
    Los selectores actúa sobre los “Count enable” (CE) de los componentes de control temporal.
    En los estados de control, la entrada CE de los módulos se gestionan mediante la entrada MODE.
    27

    Monografias.com
    Gestión de Reloj. (I)
    Para conseguir las frecuencias deseadas se conectan en cascada los divisores realizados anteriormente.
    28

    Monografias.com
    Gestión de Reloj. (II)
    En el diseño se incorpora el componente DCM para hacer el primer salto en frecuencia (50 MHz ? 10 MHz)
    El componente DCM hace un mejor trato de la señal de reloj al implementar en su diseño la corrección de ciclo.
    29

    Monografias.com
    Gestión del tiempo.
    Estos tres componentes son los encargados de controlar horas, minutos y segundos.
    30

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter