Publicado el 23 de Enero del 2019
807 visualizaciones desde el 23 de Enero del 2019
1,4 MB
92 paginas
Creado hace 21a (06/05/2003)
Hardware Dinámicamente
Reconfigurable
Julio Septién del Castillo
Hortensia Mecha López
Curso 3er Ciclo Abril 2003
Departamento de Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
1
2
Temario
Tema 1. Introducción al Hw reconfigurable
Tema 2. Arquitecturas comerciales de Hw
dinámicamente reconfigurable
Tema 3. Arquitecturas académicas
Tema 4. Arquitecturas grano grueso
Tema 5. Problemas de gestión de recursos hw
dinámicamente reconfigurables
Sesiones prácticas
Presentación de trabajos
1
Tema 2. Arquitecturas comerciales de Hw
dinámicamente reconfigurable
1. Arquitecturas de Xilinx
–
6200
– Virtex
– Virtex II
–
–
Flex 6000
Flex 10K
– AT 6000
– AT 40K
2. Arquitecturas de Altera
3. Arquitecturas de Atmel
4. Método de configuración de las Virtex
5. Diseño con Virtex II
– Compresión
– Cifrado
– Circuitos adicionales de configuración
6. Herramientas para reconfiguración dinámica
Arquitecturas de Xilinx.
Xilinx 6200
Se trata de una arquitectura de grano fino, de estilo mar de celdas que
permite reconfiguración parcial a nivel de celda
3
4
2
Arquitecturas de Xilinx.
Xilinx 6200
Cada celda básica puede implementar un conjunto de funciones de nivel
lógico y dispone de una área de interconexionado para la comunicación
entre celdas
Estructura simple,
simétrica, jerárquica
y regular
La configuración se realiza
mediante celdas de SRAM
de 6 transistores
direccionables desde el
exterior
5
Bloque básico Xilinx 6200
Arquitecturas de Xilinx.
Xilinx 6200
Existen interconexiones entre celdas
adyacentes, interconexiones de longitud 4
celdas (N4,S4,W4,E4), 16 celdas (N16,S16,
W16, E16) y de longitud igual a la del chip
Además hay 4 líneas globales de bajo
skew para reset y relojes
Magic es para interconexionado
Las salidas de las UFs y los
registros pueden leerse desde
el exterior
6
3
Arquitecturas de Xilinx.
Xilinx 6200
7
Arquitecturas de Xilinx.
Xilinx 6200
Se trata de una estructura jerárquica.
Cada nivel de jerarquía se escala por un factor de 4*4
Los cables más largos en cada nivel se denominan Fast Lines
Conexiones entre celdas vecinas
Los retardos se escalan de forma logarítmica
bloques de 4*4
8
4
Arquitecturas de Xilinx.
Xilinx 6200
bloques de 16*16
IOBs
En la XC6216, los bloques de 64*64 proporcionan las Chip-Length
En arquitecturas de mayor tamaño se sigue este proceso con más niveles
9
Arquitecturas de Xilinx.
Xilinx 6200
•En cada bloque existen una serie de
switches distribuidos por el borde, que
proporcionan las conexiones entre los
distintos niveles en la misma posición del
array.
• En la figura se muestran los switches
para interconexionado en los alrededores
del bloque de 4*4
•Cada celda tiene una salida Magic que
proporciona conexión directa a dos
switches del bloque 4*4 (M y MA)
10
5
Arquitecturas de Xilinx.
Xilinx 6200
Nswitch
Las conexiones son direccionales, y se
etiquetan según la dirección de la señal
F: salida de la celda
N,S,E,W: conexiones de celdas
vecinas
N4In, S4In, W4in, E4in: entrada de
las interconexiones de longitud 4
NCL,SCL.ECL,WCL: conexiones
de longitud igual al chip
PS4: conexión dirección S que
entra al SSwitch del bloque 4*4
superior (con. U)
PS16: conexión dirección S del
bloque 16*16 superior
ClkIn: entrada de reloj
MN, MS, MNA: entradas Magic
11
NCOut: conexión de vecindad si no se
tratara de una celda límite (sirve de E
al mux 8 a 1)
SCIn: conexión de la celda superior si
no hubiera sido celda límite
Arquitecturas de Xilinx.
Xilinx 6200
12
6
Arquitecturas de Xilinx.
Xilinx 6200
Switches adicionales
En los bloques 16*16
13
Arquitecturas de Xilinx.
Xilinx 6200
Diagrama de bloques de la celda de E/S de la XC6200
Algunos IOBs están asociados a una señal de control (CS, R/W, etc)
La lógica del usuario puede controlar la circuitería de control
La lógica de control incluye la lectura/escritura de los registros
14
7
Arquitecturas de Xilinx.
Xilinx 6200
Diagrama de bloques de
la celda de E/S sin pad de
la XC6200
Existen IOBs que no están
asociados a ningún PAD, pero
es posible rutar señales de
IOBs sin pad a pines
Se utilizan IOBs no
conectados a señales de
control
15
Arquitecturas de Xilinx.
Xilinx 6200
Fuentes del array de datos
de los IOBs del Oeste
16
8
Arquitecturas de Xilinx.
Xilinx 6200
Distribución del reloj y reset
Señales globales
de low skew
17
18
Arquitecturas de Xilinx.
Xilinx 6200
Acceso a la configuración y el estado
•La XC6200 dispone de un
interfaz totalmente paralelo
conocido como FastMap
•Permite que las celdas
lógicas (Ufs y registros) y la
memoria de configuración se
accedan como memoria
convencional
•Los bits de configuración y
los de estado se mapean en
zonas distintas de memoria.
•La señal GClk se utiliza
como reloj
9
Arquitecturas de Xilinx.
Xilinx 6200
•El acceso a los bits de estado permite sacar y meter tareas
restaurando su estado
•También es un mecanismo para entrada/salida de datos
•Cuando se accede al estado, todos los bits que se leen son de estado
•También existen una serie de recursos para minimizar el número
de ciclos para reconfiguración (compresión)
•Cuando se configura se usa todo el bus de direcciones. Se puede
acceder de 8 en 8 bits o bien de 32-bits, en cuyo caso se ignoran los
dos bits de direcciones menos significativos
19
Arquitecturas de Xilinx.
Xilinx 6200
Acceso a bits de configuración, estado y registros de control
Formato de dirección de
la XC6209 y la XC6216
Formato de dirección de
la XC6236 y la XC6264
20
10
Arquitecturas de Xilinx.
Xilinx 6200
Mode 00
Interconexionado de la celda
Selección del multiplexor de vecindad
North-East-West-South
Arquitecturas de Xilinx.
Xilinx 6200
Selección Mux X
(entradas a la UF)
21
22
11
Arquitecturas de Xilinx.
Xilinx 6200
Configuración de la UF
Arquitecturas de Xilinx.
Xilinx 6200
Acceso al estado
Column Offset=11 se usa para
acceder al estado.
En este caso se lee o escribe 1 bit por celda y los bits de fila de la
dirección se ignoran
Todos los bits de estado a los que se accede pertenecen a la misma
columna
Los datos del bus de datos se determinan por el registro Map
Existen un registro Wilcard de columna para escribir simultáneamente
en varias celdas de la misma fila
23
24
12
Arquitecturas de Xilinx.
Xilinx 6200
•Las transferencias de datos pueden
ser de 8, 16 o 32 bits, incluso
cuando los bits están distribuidos
sobre una columna de celdas.
•Mediante los bits de columna
puede acceder a todas las celdas de
una columna
•Las L/E se pueden hacer de hasta
32 bits de una misma columna (en
orden correlativo, no
necesariamente consecutivas)
Espacio de direcciones
25
Arquitecturas de Xilinx.
Xilinx 6200
El registro Map mapea las
celdas de una columna
sobre el bus externo (de 8,
16 ó 32 bits)
Un bit a 0 indica que debe
accederse a la celda de
dicha fila
Si hay más 0’s que bits
válidos, el patrón del bus
se repite
Puede escribirse una
columna completa con un
patrón de 8 bits
26
13
Arquitecturas de Xilinx.
Xilinx 6200
Mecanismos para comprimir configuraciones:
Registro de máscara
Registro de “wildcard”
Registro de máscara
Un “1” en un bit de este registro indica que el bit
correspondiente del bus de datos no es relevante (ni se lee ni se
escribe)
Este registro se ignora durante las lecturas y escrituras de los
registros de control
Arquitecturas de Xilinx.
Xilinx 6200
Registro de Wildcard
•Permite acceder a varias filas
simultáneamente
•Un 1 en un bit de este registro indica que el bit
de dirección correspondiente es irrelevante
•Se desactiva en las escrituras a los registros de
control y cuando se lee el estado
00010
00110
Registro especial
de wildcard
00100
Muy útil en diseños regulares
00x01
Existe otro registro de wildcard para columnas
(también activo en escrituras de estado)
Sirve para escribir en varios bancos
simultáneamente
27
28
14
Arquitecturas de Xilinx.
Xilinx 6200
Registro de configuración del dispositivo
Ancho de bus
Velocidad de configuración
29
Arquitecturas de Xilinx.
Xilinx 6200
Mapeo en memoria de los
Registros de control de programación
Además de la configuración a
través del FastMap permite
reconfiguración serie
30
15
Tema 2. Arquitecturas comerciales de Hw
dinámicamente reconfigurable
1. Arquitecturas de Xilinx
–
6200
– Virtex
– Virtex II
–
–
Flex 6000
Flex 10K
– AT 6000
– AT 40K
2. Arquitecturas de Altera
3. Arquitecturas de Atmel
4. Método de configuración de las Virtex
5. Diseño con Virtex II
– Compresión
– Cifrado
– Circuitos adicionales de configuración
6. Herramientas para reconfiguración dinámica
Arquitecturas de Xilinx.
Virtex
Densidades desde 50K puertas hasta 1Millón de puertas
Circuitería para gesíón de relojes:
4 DLLs
4 líneas principales para distribución de reloj
24 líneas locales secundarias
31
•Sistema jerárquico
de memoria:
1.- LUTs
2.-Block RAM
•Lógica especial
para:
1.acarreo
2.multiplicadores
3.encadenamiento
de funciones
32
16
Arquitecturas de Xilinx.
Virtex
•Los CLBs se conectan a través de
una GRM (General routing matrix)
•Cada CLB se conecta a un
VersaBlock que proporciona además
interconexionado local para conectar
el CLB a la GRM
•El interfaz de E/S VersaRing
proporciona interconexionado
adicional alrededor del dispositivo
Manejo de reloj
Buffers tri-state asociados a cada CLB
2 columnas de bloques de memoria de 4096 bit/bloque
33
Arquitecturas de Xilinx.
Virtex
•Soporta una gran variedad de
estándares de señalización
•Los 3 elementos de
almacenamiento pueden
funcionar como reloj o como
latches
•Comparten el reloj
•Señales de capacitación
individuales
•Señal de Set/Reset compartida
y configurable
Como algunos estándares
necesitan Vcco y Vref existen
restricciones sobre la
combinación de dichos
Comentarios de: Hardware Dinámicamente Reconfigurable (0)
No hay comentarios