C I R C U I T O S D I G I T A L E S R E C O N F I G U R A B L E S
3. DISPOSITIVOS PROGRAMABLES EN CAMPO DE MAYOR DENSIDAD
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA
Instituto de Electrónica y Mecatrónica
M. C. Felipe Santiago Espinosa
Abril / 2017
1
INTRODUCCIÓN
• Los CPLDs y FPGAs son útiles para una gama amplia de aplicaciones, desde la implementación de pegamento lógico hasta el desarrollo de sistemas completos, en donde el volumen de producción no justifica el costo de un ASIC.
• Un uso común es la conversión de diseños consistentes en múltiples SPLDs en un número menor de CPLDs o en un FPGA.
• Con los CPLDs es posible realizar diseños relativamente complejos, como controladores de gráficos, UARTs, controladores de LAN, control de caché, entre otros.
• La ventaja para el fabricante es que puede manufacturar un número elevado de tarjetas, con la confianza de que podrá actualizar el firmware si llega a haber cambios en algún protocolo.
2
INTRODUCCIÓN
• Las aplicaciones de los FPGAs van más allá de la simple implementación de lógica digital.
• Los FPGAs son empleados en el desarrollo de controladores de dispositivos y en sistemas de codificación y filtrado en el área de comunicaciones.
• Además, los fabricantes de procesadores en algún punto del ciclo de diseño utilizan FPGAs para evaluar sus prototipos. Con ello, pueden probar de manera real la ejecución de instrucciones antes de fabricar el diseño final en un ASIC.
• Los FPGAs pueden ser utilizados para la implementación de arquitecturas específicas para acelerar algún algoritmo.
• Los algoritmos de bajo nivel en visión por computadora y análisis de imágenes son candidatos ideales para explorar arquitecturas específicas que aceleren su rendimiento.
3
ARQUITECTURA DE LAS CELDAS LÓGICAS
• Una celda lógica puede ser tan simple como un transistor o
tan compleja como un microprocesador. Con las celdas se
va a implementar lógica combinacional o secuencial de
diferentes complejidades.
• Los CPLD’s y FPGA’s comerciales utilizan celdas lógicas que
están basadas en uno o mas de los siguientes elementos:
• Un par de Transistores.
• Arreglos de compuertas básicas, como NANDs y XORs de dos
entradas.
• Multiplexores.
• Tablas de búsqueda (LUT’s, Look-up tables).
• Estructuras AND-OR con muchas entradas.
GRANULARIDAD DE UNA CELDA LÓGICA
• Una celda lógica puede tener:
• Granularidad fina: La celda contiene pocos
transistores y puede implementar solamente
operaciones lógicas simples.
• Granularidad gruesa: La celda contiene un
número grande de transistores, suficiente para
implementar funciones lógicas grandes.
PAR DE TRANSISTORES
• Los FPGAs de Crosspoint Solutions utilizan un par de transistores como una celda lógica.
• Dado que los transistores están conectados en renglones, las compuertas se pueden aislar apagando los transistores que las limitan.
PAR DE TRANSISTORES
LA CELDA PLESSEY
• Plessey ofrece un FPGA cuya celda básica consiste de
una compuerta NAND de dos entradas
• Si el latch no es necesario, la configuración lo deja transparente.
LA CELDA PLESSEY
• Por ejemplo, la función f = ab + c’ se puede implementar con dos compuertas NAND.
U1
AND_2
U2
OR_2U3
NOT
A
B
C
f
U4
NAND_2
U5
NAND_2
A
B
C
f
OTRAS CELDAS DE GRANO FINO
• Algotronix utiliza una celda en donde se puede
realizar cualquier función de dos entradas, con un
bloque basado en multiplexores configurables,
•
• Concurrent Logic utiliza una celda que contiene
una compuerta AND de dos entradas y una
compuerta XOR de dos entradas.
• Toshiba ofrece un FPGA donde la celda se basa en
compuertas NAND de dos entradas.
CELDAS DE GRANO FINO
• La principal ventaja en el uso de celdas de grano
fino es que éstas son completamente utilizadas. Es
más fácil usar celdas lógicas pequeñas
eficientemente.
• La principal desventaja es que los FPGAs requieren
un número relativamente grande de segmentos de
alambre e interruptores programables. Tales
recursos de ruteo pueden resultar costosos en área y en el tiempo de respuesta del dispositivo.
CELDAS BASADAS EN MUX
• La familia Act-1 de Actel usa una celda de 8 entradas y una salida la cual contiene tres multiplexores de 2 a 1 y una compuerta OR.
• En la celda se pueden implementar: • Todas las funciones combinacionales de dos entradas
• Todas las funciones de tres entradas con,una entrada positiva
• muchas funciones de cuatro entradas • algunas de 5 a 8 entradas.
CELDAS BASADAS EN MUX
• En total se pueden implementar 702 funciones
diferentes en la celda Act-1.
• La función de la celda es:
• f = (s3 + s4)’(s1’w + s1x) + (s3 + s4)(s2’y + s2z)
•
CELDAS BASADAS EN MUX
• Por ejemplo, la función f = ab + c’ se puede implementar como sigue:
CELDAS BASADAS EN MUX
f = (s3 + s4)’(s1’w + s1x) +
(s3 + s4)(s2’y + s2z)
= (c + 0)’(0’ . 1 + 0 . 1) +
(c + 0)(b’ . 0 + b . a)
= c’(1 + 0) + c(0 + ba)
= c’ + cab
= c’ + (c’ + c) ab
= c’ + 1(ab)
= ab + c’
CELDAS BASADAS EN MUX
La celda lógica
de los FPGAs de
Quick Logic es
similar a la de
Actel en que usa
tres multiplexores
de 2 a 1, pero
organizados como
un mux de 4 a 1.
CELDAS BASADAS EN TABLAS
• Las celdas de Xilinx están basadas en el uso de
SRAM como tablas de búsqueda (LUT, look-up
table). La tabla de verdad de una función lógica
de K-entradas está almacenada en una SRAM de 2K x 1.
Las líneas de dirección
funcionan como entra-
das y el dato almace-
nado en la SRAM
proporciona el valor de
la función.
XC2000 CLB
XC3000 CLB
XC4000 CLB
ALTERA FLEX 10KE
GRANULARIDAD Y DENSIDAD
• La función f = abd + bcd’ + a’b’c’ se puede implemen-tar con LUTs de diferentes dimensiones, como sigue:
2-LUT 3-LUT
4-LUT
GRANULARIDAD Y BITS DE CONFIGURACIÓN
Dado que cada K-LUT requiere de 2K bits de
configuración,
• La implementación en 2-LUT requiere 22 x 7 = 28 bits.
• En 3-LUT se necesitan 23 x 3 = 24 bits.
• En 4-LUT se requieren sólo 24 x 1 = 16 bits.
• Considerando los bits de configuración como una
medida de área (costo en área), la implementa-ción en 4-LUT ocupa un área lógica mínima.
GRANULARIDAD Y NÚMERO DE BLOQUES LÓGICOS
GRANULARIDAD Y RETARDOS DE PROPAGACIÓN
• La función f = abd’ + abc + acd’ se puede implementar
usando únicamente compuertas NAND de dos entradas, como sigue:
La ruta más larga requiere 4 niveles lógicos.
Asumiendo un proceso
CMOS a 1.2, una NAND
de 2-entradas tiene un
retardo de 0.7ns.
La ruta crítica tiene un
retardo de 4 x 0.7 = 2.8ns
GRANULARIDAD Y RETARDOS DE PROPAGACIÓN
• La misma función f = abd’ + abc + acd’ también se puede implementar usando 3-LUTs como sigue:
• La ruta más larga requiere
2 niveles lógicos.
• Asumiendo un proceso
CMOS a 1.2, una 3-LUT
tiene un retardo de 1.4ns.
• La ruta crítica tiene un
retardo de 2 x 1.4 = 2.8ns
NIVELES LÓGICOS Y RETARDOS DE PROPAGACIÓN
LÓGICA ALEATORIA EN FPGAS
LUT 1 LUT 2
LUT 3
LUT 4
Se considera el mapeo de un circuito cualquiera en LUT’s
de 3 entradas.
LÓGICA ALEATORIA EN FPGAS
Al incrementar el tamaño de las LUTs (incrementando el
número de entradas), el número de LUTs se reduce.
Las LUTs son muy convenientes para la realización de
lógica aleatoria.
LUT 1
LUT 2
Y en LUT’s de 5 entradas.
OPERACIONES ARITMÉTICAS EN FPGAS
Se considera el mapeo de un
sumador completo de 2 bits
en LUTs de 3 entradas.
Son necesarias 4 LUTs.
Con LUTs de más entradas no
se reducirá el número de LUTs
requeridas para el sumador.
Sin un cambio en el número
de salidas, se desperdiciarían recursos al emplear LUTs con
más entradas.
LUT 1
LUT 2
LUT 3
LUT 4
ARQUITECTURAS DE RUTEO
• Los recursos de ruteo conectan a las celdas entre sí o con los
bloques de entrada y salida.
CRITERIOS DE RUTEO
Para establecer los recursos de ruteo de un CDR se deben tener en consideración dos aspectos importantes:
• Enrutamiento: La capacidad de que el CDR pueda acomodar todas las conexiones requeridas por una aplicación, considerando el hecho de que los segmentos de alambre son colocados durante la fabricación del circuito.
• Velocidad: Se debe minimizar el retardo de propagación debido a las conexiones programables entre segmentos de alambre. Este es un factor interno del rendimiento del CDR.
ARQUITECTURA GENERAL DE RUTEO
• Un segmento de alambre (wire segment) típicamente va a contar con un interruptor programable en cada uno de sus extremos.
• Una pista (track) es una secuencia de uno o más segmentos de alambre en una línea.
• Un canal de ruteo es un grupo de pistas paralelas.
• Un bloque de conexión
(connection block)
proporciona conectividad
de las entradas y salidas
de un bloque lógico a los
segmentos de alambre en
los canales.
• Un bloque de
interruptores (switch
block) proporciona
conectividad entre los
segmentos de alambre
horizontales y verticales,
por sus cuatro lados.
ARQUITECTURA DE RUTEO EN EL XC3000
BLOQUE DE INTERRUPTORES EN EL XC3000
ARQUITECTURA DE RUTEO EN EL XC3000
• Un bloque de interruptores enlaza cada salida del CLB a dos o tres de las cinco pistas que pasan frente a él.
• Por los cuatro lados del CLB hay bloques de interruptores que conectan los 11 pines del bloque con los segmentos de alambre.
• Las conexiones se realizan con transistores de paso para las salidas (dado que solamente son dos) y multiplexores para las entradas (son 9). El uso de MUXs reduce el número de celdas SRAM necesarias por pin.
• En un bloque de interruptores, cada segmento de alambre puede conectar a cinco o seis salidas de las 15 posibles, en los lados opuestos del bloque.
ARQUITECTURA DE RUTEO EN EL XC3000
Hay cuatro tipos de segmentos de alambres:
• Interconexiones de propósito general: Segmentos de alambre que se conectan por medio de los bloques de interruptores.
• Interconexión directa: Segmentos de alambre que conectan cada salida de un bloque lógico directamente con los bloques vecinos.
• Líneas largas: Líneas que se expanden a lo largo y ancho del chip, proporcionando conexiones con retardo uniforme.
• Línea de reloj: Una línea que se expande en el chip completo.
ARQUITECTURA DE RUTEO EN EL XC4000
ARQUITECTURA DE RUTEO EN EL XC4000
ARQUITECTURA DE RUTEO EN EL XC4000
ARQUITECTURA DE RUTEO EN EL XC4000
ARQUITECTURA DE RUTEO EN EL
XC4000
ARQUITECTURA DE RUTEO EN EL XC5000
ARQUITECTURA DE RUTEO EN
EL XC5000
ARQUITECTURA DE RUTEO EN
EL XC5000
ARQUITECTURA DE RUTEO EN
EL XC5000
ARQUITECTURA DE RUTEO ACT
ARQUITECTURA DE RUTEO ACT
• La arquitectura de ruteo en general es asimétrica, dado que hay
más pistas horizontales que verticales.
• Cada pin de entrada de un bloque lógico se puede conectar con
todas las pistas del canal que están en el mismo lado del pin.
• Un pin de salida se extiende a través de dos canales, por
encima y debajo de su bloque lógico. Éste se puede conectar a
cada pista, en los cuatro canales que cruza.
• Todas las pistas verticales pueden hacer una conexión con cada
pista horizontal incidente.
ARQUITECTURA DE RUTEO ACT
• Cada pista horizontal es particionada en segmentos de
diferentes longitudes. La longitud es variable, desde dos
bloques lógicos hasta la longitud completa del dispositivo.
• Esta amplia distribución en la longitud de los segmentos ayuda
a encontrar una conexión exacta o muy cercana entre bloques
lógicos, reduciendo el uso de interruptores programables en
serie, para las conexiones internas.
• Además de segmentos verticales de entrada y salida, hay
autopistas (freeways) verticales que viajan por el chip
completo. Hay una autopista por bloque lógico.
ARQUITECTURA DE RUTEO MAX
ARQUITECTURA DE RUTEO MAX
• Tiene dos niveles jerárquicos: Ruteo local y ruteo global.
• Ruteo local: Un conjunto de 16 ó 32 bloques lógicos son agrupados en un Arreglo de Bloques Lógicos (LAB, Logic Array Block). Cada bloque en el LAB puede ser conectado a cualquier pista vertical en el bus de interconexión local.
• El bus de interconexión local es un canal vertical que contiene: • Conexiones de las salidas de los bloques lógicos en el LAB.
• Conexiones para la expansión de lógica.
• Conexiones de las salidas de los bloques lógicos de otros LABs, a través de la interconexión global.
• Conexiones de los bloques I/O del chip.
• Cualquier pin de un bloque lógico se puede conectar a cualquier pista de interconexión local.
ARQUITECTURA DE RUTEO MAX
• Ruteo global: Existe una estructura llamada Arreglo de Interconexiones Programable (PIA, Programmable Interconnect Array). Este arreglo conecta las salidas de cada LAB a las entradas de otros LABs, actuando como un bloque grande de interruptores.
• Su estructura interna es similar a la del bus de interconexión local, pero con un número grande de pistas conectadas a las salidas de los bloques lógicos (180 en el EPM 5128).
• Hay una conectividad completa entre las salidas y las entradas de los LAB dentro del PIA.
• El retardo a través del PIA es idéntico sin importar cual pista es usada, dado que todas las pistas tienen la misma carga.
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
• El uso de un número grande de interruptores programables
facilita el alcance de un ruteo completo, pero estos
interruptores consumen área, y por lo tanto, es deseable
minimizar su número.
• Fc = Flexibilidad en el Bloque de Conexiones. Número de
pistas en el canal adyacente al cual cada pin del bloque lógico
puede ser conectado.
• Fs = Flexibilidad en el Bloque de Interruptores. Número de
pistas a los cuales cada pista entrante al bloque puede ser
conectado.
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
• Los bloques de conexión requieren flexibilidad, Fc debe ser
mayor que cinco para que el ruteo del 100 % del dispositivo
sea posible.
• Los bloques de interruptores requieren poca flexibilidad para
alcanzar el 100 % del ruteo completo. Con Fs = 3 fácilmente
se podrá completar el ruteo.
TOP-5 FPGA COMPANIES
By Jeff Johnson, FPGA Developer
www.fpgadeveloper.com
2016-12-27 57
Fabricantes de FPGA’s
Xilinx
Altera
Lattice Semi
Microsemi
QuickLogic
XILINX
• www.xilinx.com
• Market share: 49%
• The leader in FPGAs for many
years, Xilinx has a good range
of FPGAs in terms of cost and
performance.
58
ALTERA
• www.altera.com
• Market share: 40%
• The Altera FPGAs cover
the low, mid and upper
end markets with the
Cyclone, Arria and
Stratix series respective-
ly.
59
LATTICE SEMICONDUCTOR
• www.latticesemi.com
• Market share: 6%
• Lattice Semiconductor tackles the low-power and low-cost market for FPGAs.
• They market their products as “high-value FPGAs” of the industry, providing best performance per cost.
• With the explosion in portable electronics, this has been a good strategy for Lattice.
60
MICROSEMI
• www.microsemi.com
• Market share: 4%
• Microsemi specializes in low-power and mixed-signal FPGAs.
• Here are some of Microsemi’s claims: 1. The industry’s lowest power
FPGA: the IGLOO.
2. The industry’s only FPGA with hard 32-bit ARM Cortex-M3 microcontroller: the SmartFusion.
61
QUICKLOGIC
• www.quicklogic.com
• Market share: 1%
• QuickLogic’s focus is on
the mobile devices
industry meaning ultra-low
power, small form factor
packaging, and high
design security.
• Rather than selling “FPGA”,
they pitch “customizable
semi-conductors”.
62
ARQUITECTURA GENERAL DE UN FPGA DE XILINX
CLB – Bloque Lógico Configurable
IOB – Bloque de Entrada/Salida
Actualmente los CLB’s se componen de varios SLICE’s o tienen alguna función dedicada
FAMILIAS DE FPGAS DE
Spartan Series • Spartan / XL • Spartan-II • Spartan-IIE • Spartan-3 • Spartan-3E • Spartan-3A • Spartan-3A DSP • Spartan-6
Virtex Series Virtex / E / EM Virtex II Virtex II PRO / X Virtex-4 Virtex-5 Virtex-6
Serie 7 Spartan 7 Artix 7 Kintex 7 Virtex 7
Xilinx redefine el estado del arte con la nueva Serie 7 de FPGAs
LOS MÁS NUEVOS FPGAS Features Spartan-6 Virtex-6 Artix-7 Kintex-7 Virtex-7
Celdas logicas 150,000 760,000 352,000 480,000 2,000,000
Bloques RAM 4.8 MB 38 MB 19 MB 34 MB 85 MB
Slices DSP 180 2, 016 1, 040 1, 920 5, 280
Rendimiento
DSP
140 GMACS 2,419 GMACS 1,129
GMACS
2,450
GMACS
6,737
GMACS
Transeivers 8 72 16 32 96
Velocidad del
transeiver
3.2 Gb/s 11.18 Gb/s 6.6 Gb/s 12.5 Gb/s 28.05 Gb/s
Interfaz a
Memoria (DDR3)
800 Mb/s 1,066 Mb/s 1,066 Mb/s 1,866 Mb/s 1,866 Mb/s
Interfaz PCI
Express Gen1x1 Gen2x8 Gen2x4 Gen2x8 Gen3x8
Terminales I/O 576 1,200 600 500 1,200
Voltaje I/O
1.2V, 1.5V,
1.8V, 2.5V,
3.3V
1.2V, 1.5V,
1.8V, 2.5V
1.2V, 1.35V,
1.5V, 1.8V,
2.5V, 3.3V
1.2V, 1.35V,
1.5V, 1.8V,
2.5V, 3.3V
1.2V, 1.35V,
1.5V, 1.8V,
2.5V, 3.3V
SERIE SPARTAN
Spartan Family Gates I/Os Block RAM
(Total) Embedded Multipliers
DCM Voltage
Spartan-3A DSP 3.4 M 469 2, 268 Kb 0
216 – DSP Blocks 8 3.3V - 1.2V
Spartan-3A 1.4 M 502 360 Kb 362- 18x18 8 3.3V - 1.2V
Spartan-3E 1.6M 376 648 Kb 36 - 18x18 8 3.3V - 1.2V
Spartan-3 5M 784 1872 Kb 104 - 18x18 4 3.3V - 1.2V
Spartan-IIE 600K 514 288 Kb – 4 3.3V - 1.5V
Spartan-II 200K 284 56 Kb – 4 3.3V - 1.5V
Spartan-XL 40K 224 25Kb – – 3.3V
ATRIBUTOS DE LA FAMILIA SPARTAN-3E
Nota: 1. Por convención 1 k = 1024 bits
ARQUITECTURA DE LA FAMILIA SPARTAN-3E
IOBS SPARTAN-3E
Hay 3 rutas principales : • Entrada • Salida • Tres estados
UN CLB = 4 SLICES
Los CLBs (Configurable Logic Blocks) constituyen los principales recursos lógicos para implementar circuitos combinacionales o secuenciales síncronos.
RECURSOS DE UN SLICE
• Cada slice de un CLB tiene los siguientes elementos: • Dos generadores de funciones lógicas
• Dos elementos de almacenamiento
• Multiplexores
• Hardware para acarreo lógico
• Compuertas para operaciones aritméticas
• Con estos elementos es posible implementar • Funciones lógicas
• Funciones aritméticas
• Funciones ROM
• Además, los slices de la izquierda tienen facilidades para: • Almacenamiento de datos usando RAM distribuida
• Desplazamiento con registros de 16-bits
RECURSOS DE UN SLICE
INTERIOR DE UN SLICE
1 CLB = 4 Slices
BLOQUE RAM
BLOQUE RAM
MULTIPLICADORES EMPOTRADOS
MULTIPLICADORES EMPOTRADOS
ADMINISTRADOR DIGITAL DE RELOJ
DIAGRAMA FUNCIONAL SIMPLIFICADO DE LA DLL
TIPOS DE INTERCONEXIÓN
ARREGLO DE INTERCONEXIONES
LÍNEAS DE INTERCONEXIÓN (HORIZONTALES Y VERTICALES)
(a) Long Lines
LÍNEAS DE INTERCONEXIÓN
(c) Double Lines
Field Programmable Gate Arrays
VIRTEX-II & VIRTEX-II PRO
Switch
Matrix
CLB,
IOB,
DCM
Active Interconnect™
• Fully buffered
• Fast, predictable
• 18b x 18b multiplier
• 200+ MHz pipelined
Multipliers
• 18KBit True Dual Port
• Up to 3 Mbits / device
Block RAM
Switch
Matrix
Slice S0
Slice S1
Slice S2
Slice S3
Powerful CLB
• 8 LUTs
• 128b distributed RAM
• Wide input functions (32:1)
• Support for slices based
multipliers
BRAM
Digital Clock Manager (DCM)
VIRTEX-II PLATFORM FPGA (1)
• On-chip termination
• Guaranteed signal integrity
• Eliminates 100s of resistors
• Zero delay clock
• Precision phase shift
• Frequency synthesis
• Duty cycle correction
• Clock multiply and divide
DCM
16 Global Clocks
• Eight clocks to any quadrant
• Switch glitch-free between clocks
DCI
16 Clocks
Digitally Controlled Impedance (DCI)
VIRTEX-II PLATFORM FPGA (2)
QDR SRAM
16x1
16x1
16x1
16x1
16x1
16x1
16x1
16x1
Distributed RAM
True-Dual Port™
Synchronous Block RAM
16k x 1
8k x 2
4k x 4
2k x 9
1k x 18
512 x 36
High-Performance
External Memory Interfaces
DDR SDRAM
ZBT® SRAM
VIRTEX-II MEMORY HIERARCHY
CIN
Switch
Matrix
TBUF TBUF
COUT COUT
Slice S0
Slice S1
Fast
Connects
Slice S2
Slice S3
CIN
SHIFT
Virtex-II CLB
• Flexible resources — Wide-input functions
• 16:1 multiplexer in 1 CLB
— Fast arithmetic functions
• Two dedicated carry chains
— Cascadable shift registers in LUT
• 128-b shift register in 1 CLB
• Ease of Performance — Direct routing enabling high speed
Virtex-II Slice Each slice contains two:
— Four inputs lookup tables
— 16-bit distributed SelectRAM
— 16-bit shift register
• Each register: — D flip-flop
— Latch
• Dedicated logic: — Muxes
— Arithmetic logic
— MULT_AND
— Carry Chain
LUT
Register
Register
LUT CY
CY
SRL16
RAM16
G
F
MUXF5
Arithmetic Logic
MUXFx
LUTs used as memory
Flexible, can be used as RAM, ROM,
or shift register
Distributed memory with fast
access time
Cascadable with built-in CLB
routing
Applications
– Linear feedback shift register
– Distributed arithmetic
– Time-shared registers
– Small FIFO
– Digital delay lines (Z-1
)
Unique Distributed RAM
LUT
SRL16
RAM16
16b
128b
1 CLB
Single Port
RAM
64b 64b
1 CLB
Dual Port
RAM
16b
Shift register
1 CLB
128b
Multiplier Unit
Embedded 18-bit x 18-bit multiplier
Quantity:
Virtex-II : up to 168
2V40 : 4
2V8000 : 168
Virtex-II Pro : up to 556
2VP2 : 12
2VP125 : 556
2s complement signed operation
4- to 18-bit operands
Combinational & pipelined options
Operates with block RAM and
fabric to implement MAC function
18 Bit
18 Bit
36 Bit
Virtex-II Pro 18x18 300 MHz
18 x 18 245 MHz Virtex-II
Signed Multiply Performance
Preliminary V1.60 Speeds File Pipelined multiplier with registered inputs and outputs
Virtex-II Family Virtex-II
Part
Number
XC2V
40
XC2V
80
XC2V
250
XC2V
500
XC2V
1000
XC2V
1500
XC2V
2000
XC2V
3000
XC2V
4000
XC2V
6000
XC2V
8000
LUTs + FFs 512 1,024 3,072 6,144 10,24
0
15,36
0
21,50
4
28,67
2
46,08
0
67,58
4
93,18
4
BRAM (kb) 72 144 432 576 720 864 1,008 1,728 2,160 2,592 3,024
Multipliers 4 8 24 32 40 48 56 96 120 144 168
DCM Units 4 4 8 8 8 8 8 12 12 12 12
Package Available SelectIO
CS144 88 92 92
FG256 88 120 172 172 172
FG456 200 264 324
FG676 392 456 484
FF896 432 528 624
FF1152 720 824 824 824
FF1517 912 1,104 1,108
BG575 328 392 408
BG728 456 516
BG957 624 684 684 684 684
Virtex-II Pro versus Virtex-II
Lower cost
Up to 24 RocketIO™
embedded multi-gigabit
transceivers
Up to four PowerPC
More Memory
10 MBits in block RAM
1,738 KBits in Distributed
RAM
More I/O pins per package
(up to 1704)
More block RAMs and
multiplier blocks
556 embedded multipliers
556 Block RAMs
Smaller technology
0.13 µm Nine-Layer
Copper Process with 90
nm high-speed transistors
Array
Functional
Description
Processor
Block
Array Functional Description
Virtex-II Pro Family
* FF1148 and FF1696 special bond option: No MGT with Maximum SelectIO
Virtex-II
Pro
2VP2 2VP4 2VP7 2VP20 2VP30 2VP40 2VP50 2VP70 2VP10
0
2VP12
5
Logic
Cells
3,168 6,768 11,088 20,880 30,816 43,632 53,136 74,448 99,216 125,13
6
PPC405 0 1 1 2 2 2 2 2 2 4
MGT3.125
Gb
4 4 8 8 8 12* 16* 20 20* 24*
BRAM (kb) 216 504 792 1,584 2,448 3,456 4,176 5,904 7,992 10,008
Multipliers 12 28 44 88 136 192 232 328 444 556
DCM Units 4 4 4 8 8 8 8 8 12 12
Package MG
T
Available SelectIO
FG256 4 140 140
FG456 8 156 248 248
FF672 8 204 348 396
FF896 8 396 556 556
FF1152 12 564 692 692 692
FF1148* 0 804 812
FF1517 16 804 852 964
FF1704 20 996 1040 1040
FF1696* 0 1164 1200
ZYNQ E M B E D D E D P R O C E S S I N G W I T H T H E A R M ® C O R T E X ® -
A 9 O N T H E X I L I N X ® Z Y N Q ® - 7 0 0 0
WHAT IS ZYNQ?
• Zynq combines a dual-core ARM Cortex-A9
processor with traditional Field Programmable Gate
Array (FPGA) logic fabric.
• Although dedicated processors have been
coupled with FPGAs before, it has never been quite
the same proposition.
• In Zynq, the ARM Cortex-A9 is an application grade
processor, capable of running full operating systems
such as Linux, while the programmable logic is
based on Xilinx 7-series FPGA architecture.
WHAT IS ZYNQ?
• The architecture is completed by industry standard
AXI interfaces, which provide high bandwidth, low
latency connections between the two parts of the
device.
• The processor and logic can each be used for what
they do best, without the overhead of interfacing
between two physically separate devices.
• Meanwhile, benefits arising from simplifying the
system to a single chip include reductions in
physical size and overall cost.
Top Related