Documente Academic
Documente Profesional
Documente Cultură
Introduccin
Los dispositivos lgicos programables (PLD), estn formados por una matriz de puertas AND y puertas OR, programados para cumplir una funcin lgica especfica. Adems de los dispositivos PLD sencillos (PAL,GAL), existen dispositivos lgicos programables mucho ms sofisticados. Estos se pueden clasificar en: CPLD FPGA(Field Programmable gate array) Los CPLD son versions ms grandes de los sencillos PLD, con una matriz de interconexin interna centralizada que se utiliza para conectar las macroceldas del dispositivo. Por otro lado, las FPGA constan de una matriz de gran tamao de celdas lgicas simples (ms simples que las macroceldas de los CPLD) con canales de rutado horizontal y vertical para interconexin. La empresa Altera actualmente ha desarrollado familias de CPLDs, entre estas encontramos las seriers MAX 5000,7000 y 9000. La arquitectura se muestra en la siguiente figura:
Altera Max
Figura 1. Arquitectura MAX7000. sta consiste en un arreglo de bloques lgicos y un set de conexiones hacia un arreglo programable de interconexiones (PIA). ste puede conectar a cualquier arreglo de bloques de entrada o salida hacia cualquier otro arreglo de bloques. Cada arreglo lgico consta de dos series de 8 macroceldas. Como se muestra en la figura 2, cada macrocelda est compuesta de 5 compuertas AND conectadas a un arreglo selector de producto. ste cumple un sistema similar a un multiplexor, con la diferencia de que puede seleccionar cualquiera o todas las salidas de las compuertas AND. Estas salidas llegan a la compuerta OR y a un flip flop (que puede ser de cualquier tipo).
FPGA
Eas dos categoras de FPGAs en el mercado en la actualidad son S-RAM y antifusebased FPGA. En el primer grupo, Xilinx y Altera lideran en el nmero de usuarios con su competidor AT&T, mientras que la segunda categora los manufactureros son Actel, Quicklolgic y Cypress. Las tarjetas FPGA de la empresa Xilinx tienen una estructura basada en arreglos, donde cada bloque lgico se encuentra interconectado mediante canales horizontales y verticales.
Oscilador
La tarjeta altera UP2 cuenta cuenta con un oscilador de cristal de 25.175 MHz. La salida del oscilador conduce a una entrada de reloj global en el dispotivo EPM7128S (pin 83) y en el dispositivo EPF10K70 (pin 91).
Dispositivo EPM7128S
Perteneciente a la familia MAX7000S, basada en memoria EEPROM (Erasable programable read-only memory). Este dispositivo cuenta con 128 macroceldas, de las cuales cada una maneja un arreglo programable AND/Fixed-or.
LEDs
La tarjeta de desarrollo UP2 contiene 16 LEDs conectados en serie a resistencias de pull-up de 330 ohmios. El funcionamiento de estos diodos es bajo-activo, es decir, un LED es iluminado cuando un 0 lgico es generado de la salida. La secuencia de LEDs se muestra en la siguiente figura:
Figura 5. Digrama de ordenamiento de diodos emisores de luz, tarjeta de desarrollo Altera UP2.
MAX_Digit Display
MAX_Digit son dos displays de siete segmentos conectados internamente a la tarjeta de desarrollo. Cada segmento LED es activado utilizando un valor lgico 0 en el puerto de entrada/salida correspondiente al segmento requerido. Los puertos para activar los segmentos del display se muestran en la tabla 1.
Dispositivo EPF10K70
El dispositivo EPF10K70 basada en tecnologa SRAM, contiene 3744 elementos lgicos y 9 arreglos de bloques embebidos. Cada elemento lgico consiste en arquitecturas de 4 entradas (LUT), un flip flop programable y seales dedicadas para acarreo y funciones en cascada. Adems cada arreglo de bloques, provee 2048 bits de memoria que se pueden utilizar para disear ROM, RAM. Tambin se pueden implementar funciones lgicas, entre los cuales se mencionan, multiplicadores, microcontroladores, mquinas de estado y funciones para procesamiento digital de seales.
FLEX_SW1
Contiene 8 interruptores que generan seales lgicas de entrada a 8 puertos de entrada/salida de propsito general. Funcionan con lgica bajoactiva, es decir, se genera una entrada con valor de 1 cuando el interruptor se encuentre abierto, mientras que se generar un valor lgico 0 cuando el switch est cerrado. La tabla se asignacin de pines se muestra a continuacin:
FLEX_Digit Display
Consta de dos display de 7 segmentos conectados directamente al dispositivo. Cada segmento LED del display es activado cuando se presenta un valor lgico bajo a su correspondiente puerto de entrada/salida. Los pines para el funcionamiento del display se muestran en la siguiente tabla:
Interfaz VGA
Informacin acerca del color ,indexacin de filas y columnas de la pantalla es envidada desde el dispositivo FLEX10K al monitor a travs de 5 seales. Tres seales VGA rojo, azul y verde, mientras que las dems seales se refieren a la sincronizacin horizontal y vertical. Manipulando estas seales permiten a las imgenes ser escritas en la pantalla del monitor. Los puertos correspondientes a las seales mencionadas anteriormente se muestran en la siguiente tabla:
Oscilador
La Spartan 3 starter kit contiene un reloj de 50 MHz de la serie Epson SG8002JF, adems tiene un socket para la instalacin de un reloj adicional.
Dispositivo XC3S400
Pulsadores
La Spartan 3 starter Kit contiene 4 switches pulsadores. Estos switches estn nombrados desde BTN3 hasta BTN0, y se encuentran asociados a los pin de la FPGA,
Tabla 7. Asignacin de pines para los pulsadores. Cuando los switches se encuentran presionados esto nos indica un 1 lgico, y cuando no es un 0 lgico.
Switches
La Spartan 3 starter kit, contiene 8 slide switches activados en bajo. Estos switches estn nombrados desde SW7 hasta SW0. Cuando los switches se encuentran arriba o en posicin de encendido, esto indica que hay un 1 lgico, y cuando se encuentran abajo un 0 lgico. Los switches se encuentran conectados a los pines de la siguiente manera:
Tabla 8. Asignacin de pines para los interruptores. Cada switch tiene un resistor de 4,7k que brinda una proteccin nominal de entrada.
LEDs
La Spartan 3 starter kit contiene 8 LEDs individuales, nombrados de LD7 hasta LD0. El ctodo de cada led se encuentra conectado a tierra mediante una resistencia de 270, indicndonos que cada led se enciende con un 1 lgico. Cada led s encuentra asociado a cada pin de la siguiente manera:
Tabla 9. Asignacin de pines display 7 segmentos. Los pines de control de cada uno de los 7 segmentos son los siguientes:
Tabla 10. Puertos de habilitacin de los 7 segmentos. Como se menciono anteriormente los 7 segmentos se encuentran multiplexados, para poder hacer uso de estos, es necesario una seal de control que permite hacer cambios rpidos entre los displays, de tal manera que el ojo humano no perciba los cambios. Esto se ve claramente en el siguiente diagrama de tiempos:
PS/2
La Spartan-3, incluye un puerto PS/2 en el cual se puede conectar o un teclado o un mouse, en la tabla se muestra las seales correspondientes a cada pin en la tarjeta.
Tabla 11. Conexiones PS/2 en la Spartan-3 FPGA. El PS/2 bus incluye un reloj y datos. Tanto el ratn y el teclado de la unidad en el autobs con cadencia de las seales idnticas y tanto el uso de 11 bit de palabras que incluyen un inicio, parada y bit de paridad impar. Sin embargo, los paquetes de datos son organizados de manera diferente para un ratn y el teclado. Adems, la interfaz de teclado permite la transferencia bidireccional de datos para el dispositivo host puede iluminar los LEDs en el estado teclado.
Interfaz VGA
La Spartan 3 starter kit contiene un puerto de salida VGA, con un conector DB15.
Figura 11. Asignacin de pines puerto VGA. La salida VGA se controla mediante 5 seales: rojo (R), verde (G), azul (B), sincronizacin horizontal (HS) y sincronizacin vertical (VS), como se muestra en la figura anterior. En la siguiente figura se puede observar la conexin de las seales con sus correspondientes pines de la FPGA:
El sistema Nios es un ncleo de procesamiento completamente integrado de tipo soft-core desarrollado para explotar las caractersticas de la arquitectura PLD. Sus principales caractersticas se enumeran a continuacin:
Set de instrucciones de 16 bits. Tamao de palabra de 16 o 32 bits. Una instruccin por ciclo de reloj. Hasta 5 millones de instrucciones por segundo (MIPS). Registros de acceso para perifricos. Distancias de desplazamientos desde 8 hasta 32 bits. Universal asynchronous receiver/transmiter (UART). Puerto paralelo de entrada y salida. Timer. Interfaces de memoria para SRAM y Flash.
El kit de desarrollo Excalibur incluye una tarjeta de desarrollo para trabajar como plataforma de hardware para diseo de dispositivos lgicos. Sus caractersticas se enumeran a continuacin: Memoria Flash de 8Mbits. SRAM 256Kbytes. Puerto de comunicacin RS-232. Puerto de programacin JTAG. Conector PMC de 32-bit host. Dos segmentos de 7 LEDs. 1 DIP switch de 8 interruptores. 4 interruptores. El ncleo de procesamiento Nios y el monitor de puerto serial son pre-cargados en la memoria flash e inician una vez se enciende la tarjeta de desarrollo.
10
Diseo SOPC
El kit de desarrollo Excalibur incluye un sistema de referencia de tipo SOPC (Single System On a Programable Chip), que contiene a un ncleo de procesamiento, perifricos, entre otros. El diseo puede ser pre-cargado a la tarjeta a travs de la memoria Flash e inicia al inicializar la tarjeta. Tambin viene incluido como un proyecto en el software Quartus que puede ser modificado por el usuario. Entre los perifricos incluidos en el diseo encontramos: UART. Timer. Interfaz de memoria externa (SRAM, Flash). Interfaz de memoria interna (ESB). Puerto I/O paralelo. El procesador Nios se comunica con los dispositivos perifricos a travs del mdulo de perifricos (PBM), el cual consta de los siguientes dipositivos: Decodificador de direcciones, el cual traza las direcciones para cada perifrico y genera las seales de chip select. Multiplexor de entrada de datos, que provee la conexin entre cada perifrico y el procesador. Proporciona seales de slo lectura, lectura/escritura, y slo escritura para cada perifrico. Generador de estados de espera. Reasignacin de tamao del bus, para generar una interfaz entre perifricos de 8, 16 y 32 bits.
11