Top 10 de los artículos

YouTube
Gmail
Goole
GayRomeo
Números chinos
Números romanos
Orkut
Costco
Sistema porta hepático
El mundo Factbook

News:

Arsenal de puerta Field-programmable

FPGAs no se debe confundir con perno arsenal de la mover de un tirón-viruta de la rejilla, una forma de empaquetado del circuito integrado.

A arsenal de puerta field-programmable es a semiconductor el contener del dispositivo lógica programable los componentes llamaron “lógica bloquean”, y programable interconecta. Los bloques de la lógica se pueden programar para realizar la función de básico puertas de la lógica por ejemplo Y, y XOR, o más complejo funciones combinational por ejemplo los decodificadores o las funciones matemáticas. En la mayoría del FPGAs, los bloques de la lógica también incluyen los elementos de la memoria, que pueden ser simples flip-flop o bloques más completos de la memoria.

Una jerarquía de programable interconecta permite que los bloques de la lógica sean interconectados según lo necesitado por el diseñador de sistema, algo como una uno-viruta programable tablero para cortar el pan. La lógica bloquea e interconecta se puede programar por el cliente o el diseñador, después de que el FPGA sea manufacturado, para poner lógico función-por lo tanto el conocido en ejecución “field-programmable".

FPGAs es generalmente más lento que su circuito integrado application-specific Las contrapartes (ASIC), no pueden manejar como complejo un diseño, y dibujan más energía (para dado proceso del semiconductor). Pero sus ventajas incluyen un más corto tiempo al mercado, capacidad de reprogramar en el campo para fijar insectos, y para bajar ingeniería non-recurring costes. Los vendedores pueden vender versiones más baratas, menos flexibles de su FPGAs que no puedan ser modificadas después de que el diseño esté confiado. Los diseños se desarrollan en FPGAs regular y entonces emigrado en una versión fija esa se asemeja más a un ASIC.

"Dispositivo de lógica programable complejo“(CPLDs) es un alternativa para diseños más simples. También conservan sus powerdowns excesivos de programación.

Para configurar (“programa”) un FPGA o un CPLD usted especifica cómo usted quisiera que la viruta trabajara con una lógica esquema circular o a código de fuente usar a idioma descriptivo del hardware (HDL). La forma de HDL pudo ser más fácil de trabajar con al manejar las estructuras grandes porque es posible apenas especificarlas numéricamente más bien que teniendo que dibujar cada pedazo a mano. Por otra parte, la entrada esquemática pudo permitir una especificación más apretada de lo que usted desea.

El ir de archivos de fuente de schematic/HDL a la configuración real: Los archivos de fuente se alimentan a una habitación del software del vendedor de FPGA/CPLD que con diversos pasos producirá un archivo. Este archivo entonces se transfiere al FPGA/CPLD vía a interfaz en serie (JTAG) el interfaz o al dispositivo de memoria externo tiene gusto EEPROM.

Contenido

Historia

Las raíces históricas de FPGAs están en dispositivos de lógica programables complejos (CPLDs) del temprano a los a mediados de los años ochenta. Un co-fundador de Xilinx, Freeman de Ross, inventado el arsenal de puerta programable del campo en 1984. CPLDs y FPGAs incluyen un número relativamente grande de los elementos programables de la lógica. Las densidades de puerta de la lógica de CPLD se extienden del equivalente de varios miles a los diez de millares de puertas de la lógica, mientras que gama de FPGAs típicamente de diez de millares a varios millones.

Las diferencias primarias entre CPLDs y FPGAs son arquitectónicas. Un CPLD tiene una estructura algo restrictiva el consistir en de unos o más órdenes programables de la lógica de los suma-de-productos que alimentan un número relativamente pequeño de registrado registros. El resultado de esto es menos flexibilidad, con la ventaja más fiable retraso y un más alto lógica-a-interconecta cociente. Las arquitecturas de FPGA, por otra parte, son dominadas por la interconexión. Esto les hace más flexible lejano (en términos de gama de los diseños que son prácticos para la puesta en práctica dentro de ellos) pero también lejos más complejo para diseñar para.

Otra diferencia notable entre CPLDs y FPGAs es la presencia en la mayoría del FPGAs de funciones encajadas de alto nivel (tales como serpientes y multiplicadores) y de memorias encajadas.

Algún FPGAs tiene la capacidad de reconfiguración parcial que deja una porción del dispositivo ser reprogramado mientras que otras porciones continúan funcionando.

Progresos modernos

Una tendencia reciente ha sido tomar al acercamiento arquitectónico de grano grueso una medida más lejos combinando los bloques de la lógica e interconecta de FPGAs tradicional con los microprocesadores encajados y los periférico relacionados para formar un “sistema completo en una viruta programable”. Este trabajo refleja la arquitectura de Ron Perlof y la potasa de Hana del grupo avanzado Burroughs de los sistemas que combinó una arquitectura reconfigurable de la CPU en un monopastilla llamó el SB24. Ese trabajo fue hecho en 1982. Los ejemplos de tales tecnologías híbridas se pueden encontrar en los dispositivos Virtex-II FAVORABLES y Virtex-4 de Xilinx, que incluyen uno o más PowerPC procesadores encajados dentro de la tela de la lógica del FPGA. El Atmel FPSLIC es otro tal dispositivo, que utiliza AVR procesador conjuntamente con la arquitectura programable de la lógica de Atmel.

Un acercamiento alterno a usar procesadores de la duro-macro es hacer uso el procesador de la “suavidad” corazones eso se pone en ejecución dentro de la lógica de FPGA. (Véase los “procesadores suaves” abajo).

Según lo mencionado previamente, mucho FPGAs moderno tiene la capacidad de ser reprogramado en el “tiempo de pasada,” y éste está conduciendo a la idea de el computar reconfigurable o sistemas reconfigurable - CPU eso se configura de nuevo para satisfacer la tarea actual. El procesador virtual de Mitrion de Mitrionics es un ejemplo de un procesador suave reconfigurable que se ponga en ejecución en FPGAs. Sin embargo no apoya la reconfiguración dinámica en el tiempo de pasada, sino que por el contrario se adapta a un programa específico.

Además, nuevo, las arquitecturas del non-FPGA están comenzando a emerger. Software-configurable microprocesadores por ejemplo el estiramiento S5000 adoptan un acercamiento híbrido proporcionando un arsenal de corazones del procesador y FPGA-como corazones programables en la misma viruta.

Procesadores suaves

Artículo principal: microprocesador suave

Hay muchos microprocesador suave quita el corazón a disponible, fuente cerrada y abierta. Para una arquitectura dada de la CPU, una base (encajada) dura de la CPU superará una CPU del suave-corazón (es decir, una puesta en práctica de la programable-lógica de la CPU). La lista siguiente es de ninguna manera exhaustiva.

Procesador Revelador Código de fuente Ayuda del autobús Notas Proyecto casero
Nios, Nios II Altera
licencia inferior disponible de Altera
Avalon, Wishbone arquitectura del RISC de 32 pedacitos Altera Nios II
TSK3000 Altium
Cerrado, derechos libremente
Wishbone arquitectura modificada RISC de Harvard de 32 pedacitos Altium TSK3000
TSK51x/52x Altium
Cerrado, derechos libremente
WishBone/80C51 8 el pedacito 80C51 compatible, supera la mayoría de los derivados 80C51 TSK51x TSK52x
TSK80 Altium
Cerrado, derechos libremente
Autobús Z80 sistema de instrucción optimizado pedacito 8 Z80 compatible TSK80
Mico32 Enrejado
abra la fuente
Wishbone LatticeMico32
PacoBlaze Pablo Bleyer
abra la fuente
Compatible con los procesadores de PicoBlaze PacoBlaze
AEMB Shawn Tan
Wishbone Base compatible de MicroBlaze EDK 3.2 Verilog AEMB
Diamante 106Micro Tensilica
licencia inferior disponible de Tensilica
PIF, AHB Lite, AXI arquitectura del RISC de 32 pedacitos Diamante 106Micro de Tensilica
OpenFire Laboratorio del Tech CCM de Virginia
abra la fuente
OPB, FSL Compatible binario con el MicroBlaze VT OpenFire
MicroBlaze Xilinx
licencia inferior disponible de Xilinx
OPB, FSL, LMB, PLB Xilinx MicroBlaze
PicoBlaze Xilinx
licencia inferior disponible de Xilinx
Xilinx PicoBlaze
CoreABC Actel
No sepa
Actel CoreABC

Usos

Los usos de FPGAs incluyen proceso de la señal numérica, radio software-definida, aeroespacial y defensa sistemas, ASIC el prototyping, proyección de imagen médica, visión de computadora, reconocimiento de discurso, criptografía, bioinformatics, emulación del hardware y una gama cada vez mayor de otras áreas. FPGAs comenzó originalmente como competidores a CPLDs y competido en un espacio similar, el de lógica del pegamento para PCBs. Como su tamaño, capacidades, y velocidad creciente, comenzaron a asumir el control funciones más grandes y más grandes al estado donde algunos ahora se ponen como sistemas completos en virutas (SOC).

Los usos del hallazgo de FPGAs especialmente en cualquier área o algoritmo que puedan hacer uso el paralelismo masivo ofrecieron por su arquitectura. Una tal área es código que se rompe, particularmente ataque de la fuerza bruta, de algoritmos criptográficos.

FPGAs se utiliza cada vez más en convencional El computar del alto rendimiento usos tales como donde núcleos de cómputo FFT o Circunvolución se realizan en el FPGA en vez de a microprocesador. El uso de FPGAs para computar tareas se conoce como el computar reconfigurable.

El paralelismo inherente de los recursos de la lógica en el FPGA permite rendimiento de procesamiento considerable del cálculo incluso en una tarifa de reloj de sub-500 megaciclo. Por ejemplo, (las 2007) generaciones actual de FPGAs pueden poner la sola precisión en ejecución alrededor 100 coma flotante unidades, que pueden computar un resultado cada solo ciclo de reloj. La flexibilidad del FPGA permite incluso un rendimiento más alto negociando de la precisión y de la gama en el formato de número para un número creciente de unidades aritméticas paralelas. Esto ha conducido un nuevo tipo de proceso llamado el computar reconfigurable, donde las tareas intensivas del tiempo se sacan datos de software a FPGAs.

La adopción de FPGAs en computar del alto rendimiento es limitada actualmente por la complejidad del diseño de FPGA comparada al software convencional y a los tiempos de vuelta extremadamente largos de las herramientas de diseño actuales, donde están necesarias 4-8 horas de espera después de cambios de menor importancia uniformes a código de fuente.

Arquitectura

La arquitectura básica típica consiste en un arsenal de los bloques configurables de la lógica (CLBs) y de los canales de la encaminamiento. Los cojines múltiples de la entrada-salida pueden caber en la altura de una fila o la anchura de una columna en el arsenal. Generalmente, todos los canales de la encaminamiento tienen la misma anchura (número de alambres).

Un circuito del uso se debe traz en un FPGA con los recursos adecuados.

Un bloque clásico de la lógica de FPGA consiste en 4 entrados tabla de las operaciones de búsqueda (LUT), y a flip-flop, como se muestra abajo. Estos últimos años, los fabricantes han comenzado la mudanza a LUTs entrado 6 en sus piezas del alto rendimiento, demandando funcionamiento creciente.[1]

Bloque típico de la lógica

Hay solamente uno hecho salir, que puede ser la salida registrada o sin registrar de LUT. El bloque de la lógica tiene cuatro entradas para el LUT y una entrada de reloj. Desde el reloj señala (y a menudo el otro colmofanout las señales) se encaminan normalmente vía redes dedicadas special-purpose de la encaminamiento en FPGAs comercial, ellas y otras señales se manejan por separado.

Para esta arquitectura del ejemplo, las localizaciones de los pernos del bloque de la lógica de FPGA se demuestran abajo.

Perno localizaciones del bloque de la lógica

Cada entrada es accesible a partir de un lado del bloque de la lógica, mientras que el perno de la salida puede conectar con los alambres de la encaminamiento en el canal con la derecha y el canal debajo del bloque de la lógica.

Cada perno de la salida del bloque de la lógica puede conectar con los segmentos uces de los del cableado en los canales adyacente a él.

Semejantemente, un cojín de la entrada-salida puede conectar con de los segmentos del cableado en el canal adyacente a él. Por ejemplo, un cojín de la entrada-salida en la tapa de la viruta puede conectar con los alambres uces de los de W (donde está la anchura W del canal) en el canal horizontal inmediatamente debajo de él.

Generalmente, la encaminamiento de FPGA es unsegmented. Es decir, cada segmento del cableado atraviesa solamente un bloque de la lógica antes de que termine en una caja del interruptor. Dando vuelta en algunos de los interruptores programables dentro de una caja del interruptor, trayectorias más largas pueden ser construidas. Para una interconexión más alta de la velocidad, las arquitecturas de algún FPGA utilizan líneas más largas de la encaminamiento que atraviesen bloques múltiples de la lógica.

Siempre que un canal vertical y horizontal se interseque, hay una caja del interruptor. En esta arquitectura, cuando un alambre entra en una caja del interruptor, hay tres interruptores programables que permiten que conecte con tres otros alambres en segmentos adyacentes. El patrón, o la topología, de los interruptores usados en esta arquitectura es la topología planar o dominio-basada de la caja del interruptor. En esta topología de la caja del interruptor, un alambre en la pista número uno conecta solamente con los alambres en la pista número uno en los segmentos adyacentes, alambres en la pista número 2 conecta solamente con otros alambres en la pista número 2 y así sucesivamente. La figura abajo ilustra las conexiones en una caja del interruptor.

Cambie la topología de la caja

Las familias modernas de FPGA se amplían sobre las capacidades antedichas para incluir la funcionalidad de alto nivel fijada en el silicio. Tener estas funciones comunes encajadas en el silicio reduce el área requerida y da la velocidad creciente esas funciones comparada al edificio ellas de primitivos. Los ejemplos de éstos incluyen multiplicadores, bloques genéricos de DSP, procesadores encajados, lógica de alta velocidad del IO y memorias encajadas.

FPGAs es también ampliamente utilizado para la validación de los sistemas incluyendo la validación del pre-silicio, la validación del poste-silicio, y el desarrollo de los soportes lógico inalterable. Esto permite que las compañías de la viruta validen su diseño antes de que la viruta se produzca en la fábrica, reduciendo el tiempo al mercado.

Diseño y programación de FPGA

Para definir el comportamiento del FPGA el usuario proporciona a idioma descriptivo del hardware (HDL) o a diagrama esquemático diseño. HDLs común es VHDL y Verilog. Entonces, el usar automatización de diseño electrónica herramienta, tecnología-traz netlist se genera. El netlist se puede entonces caber a la arquitectura real de FPGA usando un proceso llamado lugar-y-encamine, realizado generalmente por la compañía de FPGA propietaria lugar-y-encamine el software. El usuario validará el mapa, pondrá y encaminará resultados vía análisis de la sincronización, simulación, y otro verificación metodologías. Se utiliza el proceso una vez del diseño y de la validación es completo, el archivo binario generado (también con el software propietario de la compañía de FPGA) (re) configura el FPGA.

En un intento por reducir la complejidad de diseñar en HDLs, de que se han comparado al equivalente lenguajes ensamblador, hay movimientos de levantar el nivel de la abstracción del diseño. Compañías por ejemplo Cadencia, Synopsys y Celoxica está promoviendo SystemC como manera de combinar idiomas de alto nivel con concurrencia modela para permitir ciclos más rápidos del diseño para FPGAs que posible con HDLs tradicional. Acercamientos basados en estándar C o C++ (con las bibliotecas u otras extensiones permitiendo la programación paralela) se encuentran en las herramientas de la catapulta C de Gráficos del mentor, y en Impulso C herramientas de tecnologías aceleradas impulso. Annapolis habitación del diseño de s CoreFire Micro Systems, Inc. 'y Instrumentos nacionales LabVIEW FPGA proporciona un gráfico flujo de datos acercamiento a la entrada de alto nivel del diseño. Idiomas por ejemplo SystemVerilog, SystemVHDL, y Handel-C (de Celoxica) la búsqueda para lograr la misma meta, pero se dirige haciendo a ingenieros existentes del hardware más productivos contra la fabricación de FPGAs más accesible a las Software Engineers existentes. Hay más información encendido C a HDL y Flujo a HDL en sus artículos respectivos.

Para simplificar el diseño de sistemas complejos en FPGAs, existen las bibliotecas de las funciones y de los circuitos complejos predefinidos que se han probado y se han optimizado para acelerar el proceso del diseño. Estos circuitos predefinidos se llaman comúnmente Corazones del IP, y esté disponible de los vendedores de FPGA y de los surtidores de tercera persona del IP (raramente libres, y lanzado típicamente debajo de licencias propietarias). Otros circuitos predefinidos están disponibles de comunidades del revelador por ejemplo OpenCores (típicamente libre, y lanzado debajo de GLP, DEB o licencia similar), y otras fuentes.

En un flujo típico del diseño, un revelador de uso de FPGA simulará el diseño en las etapas múltiples a través del proceso del diseño. Inicialmente RTL descripción adentro VHDL o Verilog es simulado creando bancos de prueba para simular el sistema y para observar resultados. Entonces, después de que el motor de la síntesis traz el diseño a un netlist, el netlist se traduce a una descripción del nivel de la puerta donde la simulación se repite para confirmar la síntesis procedió sin errores. Finalmente el diseño se presenta en el FPGA en el cual la propagación del punto retrasa puede ser agregada y el funcionamiento de simulación otra vez con estos valores detrás-anotados sobre el netlist.

Tipos básicos de la tecnología de proceso

  • SRAM - basado en tecnología de memoria estática. En-sistema programable y reprogramable. Requiere los dispositivos externos del cargador. Cmos.
  • Antifuse - Programable de una sola vez. Cmos.
  • EPROM - Tecnología de memoria inalterable programable borrable. Programable generalmente de una sola vez en la producción debido a el empaquetado plástico. Los dispositivos de Windowed se pueden borrar con la luz (UV) ultravioleta. Cmos.
  • EEPROM - Tecnología de memoria inalterable programable eléctricamente borrable. Puede ser borrado, incluso adentro plástico paquetes. Algo, pero no todo, dispositivos de EEPROM puede ser en-sistema programado. Cmos.
  • Flash - Flash-borre la tecnología de EPROM. Puede ser borrado, incluso en paquetes plásticos. Algo, pero no todo, los dispositivos de destello puede ser en-sistema programado. Generalmente, una célula de destello es más pequeña que una célula equivalente de EEPROM y es por lo tanto menos costosa fabricar. Cmos.
  • Fusible - Programable de una sola vez. Bipolar.

Fabricantes y sus especialidades

En fecha finales de 2005, el mercado de FPGA ha colocado sobre todo en un estado donde hay dos fabricantes “de uso general” importantes de FPGA y un número de otros jugadores que se distinguen ofreciendo capacidades únicas.

  • Xilinx y Altera son los líderes de mercado actuales de FPGA. Xilinx también proporciona libremente Windows y Linux software del diseño [2], mientras que Altera proporciona las herramientas libres de Windows, y las herramientas de Solaris y de Linux vía la suscripción [3].
  • Semiconductor del enrejado proporciona SRAM y FPGAs permanente, flash-basado.
  • Actel tiene el antifuse y FPGAs flash-basado reprogramable, y también ofrece FPGAs flash-basado señal mezclada.
  • Atmel proporciona los dispositivos reconfigurable fine-grain, como era el Xilinx XC62xx. Se centran en el abastecimiento Atmel AVR Los microcontroladores con la tela de FPGA en igual mueren.
  • QuickLogic tiene productos del antifuse (programable-solamente-una vez que) y centrado pesadamente en usos handheld.
  • El semiconductor de Achronix tiene FPGAs muy rápido en el desarrollo, centrándose en las velocidades que acercan a 2 gigahertz.
  • MathStar ofrece FPGA-como el dispositivo llamado un FPOA (arsenal programable del objeto del campo).

Vea también

  • Arsenal de puerta
  • ASIC: Circuito integrado Application-specific
  • ASIP: El específico del uso Instrucción-fijó el procesador
  • CPLD: Dispositivo de lógica programable complejo
  • FPAA: Arsenal análogo programable del campo
  • VHDL: VHSIC Idioma descriptivo del hardware (del circuito integrado muy de alta velocidad)
  • Verilog: Idioma descriptivo del hardware
  • JHDL: Apenas-Otro idioma descriptivo del hardware
  • Diseño encajado del sistema en un FPGA
  • El computar de Reconfigurable
  • Configware

Notas

  1. ^ http://www.xilinx.com/bvdocs/whitepapers/wp245.pdf
  2. ^ Xilinx ISE WebPACK.
  3. ^ Software de la edición del Web de Quartus II.

Acoplamientos externos

Recursos

Herramientas del software

  • diamante 3L - Ambiente interactivo del diseño del diamante (IDE) para los sistemas del multiprocesador (diamante DSP: RTOS para una red de los dispositivos de DSP; Diamante FPGA: combinando la energía de los dispositivos de DSP y de FPGA)
  • Diseñador de Altium - Habitación del diseño para Altera, Xilinx, Actel, familias del enrejado FPGA/CPLD
  • Quartus - Habitación del diseño para los dispositivos de Altera
  • ISE - Habitación del diseño para los dispositivos de Xilinx
  • ispLEVER - Habitación del diseño para los dispositivos del enrejado
  • Libero IDE Actel - Habitación del diseño para los dispositivos de Actel
  • LogicSim - Herramienta de la simulación de FPGA
  • ModelSim - simulador de las Mezclar-idiomas
  • Synplify - Herramienta de la síntesis de FPGA
  • LabVIEW FPGA - FPGAs de programación gráfico en el hardware de los COTS

Medios

The original article is from Wikipedia. To view the original article please click here.
Creative Commons Licence