Você está na página 1de 4

An alisis de Rendimiento (Timing): FPGA Spartan 3

Vs Spartan 6
Wilder Fitzgerald Guzm an, wfguzman@unal.edu.co;
Carlos Iv an Jerez, cijerezg@unal.edu.co;
Laboratorio de Electr onica Digital I, Facultad de ingeniera
Universidad Nacional de Colombia, Bogot a
ResumenSe realiz o una comparaci on cualitativa y
cuantitativa entre los tiempos de de propagaci on media (t
pd
)
y los tiempos de contaminaci on (t
cd
) de las FPGA Spartan 3
y Spartan 6
1
. Se indag o adem as por versiones mejoradas de
cada FPGA y se hicieron algunas comparaciones entre ellas.
Para ello, se estudi o detalladamente los respectivos datasheets
de cada FPGA y se compararon ciertos valores de tiempo. Al
nal, se pudo concluir que, a pesar de que ambas tarjetas son
muy similares, la Spartan 6 posee unos tiempos de propagaci on
y tiempos de contaminaci on menores.
I. INTRODUCCI ON
Una FPGA (Field Programmable Gate Array) es un
conjunto de compuertas l ogicas, circuitos integrados y
bloques l ogicos que permiten ser programados por un agente
externo mediante el uso de un lenguaje de descripci on de
hardware. El principal fabricante de estos dispositivo es
Xilinx, el cual posee varias familias: l ogica de pegamento
(CoolRunner y CoolRunner II), de alto rendimiento (Virtex)
y de bajo coste (Spartan). El presente documento presta
especial atenci on a estas ultimas. La familia Spartan posee
una arquitectura muy similar en cada una de sus variantes;
est an conformadas por un conjunto de Bloques L ogicos
Congurables (Congurable Logic Blocks: CLBs) rodeados
por un permetro de Bloques Programables de entrada/salida
(Programmable Input/Output Blocks: IOBs). Estos elementos
funcionales est an interconectados por una jerarqua de canales
de conexi on (Routing Channels), la que incluye una red de
baja capacitancia para la distribuci on de se nales de reloj de
alta frecuencia. [2]
En una FPGA, la l ogica programable puede reproducir
desde funciones tan sencillas como las llevadas a cabo por
una puerta l ogica o un sistema combinacional hasta complejos
sistemas en un chip. Sin embargo, los elementos internos
en una tarjeta de este tipo no son completamente perfectos
y poseen ciertos retardos de reacci on (delays). En teora, el
cambio de estado en un CLB debe ser inmediato, pero lo
1
Dichos tiempos hacen referencia a los retrasos presentes en las celdas
l ogicas congurables (CLB). Se hace esta aclaraci on debido a que, al ser la
FPGA un circuito tan complejo, se tienen otros tiempos de retraso que no se
tienen en cuenta en este documento.
que se ve en realidad es un peque no tiempo entre el estado
ON y el estado OFF (o viceversa). Cuando se ponen mucho
elementos en cascada, ese tiempo aumenta, por lo que es
primordial tratar de disminuirlo al mnimo posible. En este
escrito, se mostrar an algunas tablas comparativas y se dar an
ciertos porcentajes de comparaci on de tiempos de retardo
para tratar de concluir cu al FPGA es mejor: la Spartan 3 o la
Spartan 6.
II. DESCRIPCI ON ESTRUCTURAL DE UN BLOQUE L OGICO
CONFIGURABLE (CLB)
El Bloque L ogico Congurable (CLB, por sus siglas en
ingl es) constituye el principal recurso l ogico para la imple-
mentaci on sincr onica as como tambi en para los circuitos
combinacionales.
II-A. Spartan 3
Para esta FPGA, cada CLB se compone de 4 secciones
(slices) interconectadas entre s; estas se agrupan en parejas.
Lo anterior se puede ver en la gr aca 1.
Figura 1. Estructura de un CLB en la Spartan 3.
Cada uno de estas celdas posee: dos LUTs (Look-Up
Tables), dos elementos de almacenamiento ((ip ops)), dos
multiplexores de funci on amplia, dos transportadores de se nal
y algunas compuertas aritm eticas
2
.
II-B. Spartan 6
En este caso, cada CLB se compone de dos slices. Cada
CLB celda posee: cuatro LUTs y ocho elementos almace-
nadores. Es importante nombrar que la Spartan 6 tambi en
posee multiplexores y compuertas aritm eticas, pero no es de
inter es para este documento tratar dichos elementos. La gura
2 muestra el arreglo de slices en una Spartan 6.
Figura 2. Estructura de un CLB en la Spartan 6.
III. TIEMPOS EN CONSIDERACI ON
III-A. Tiempo de propagaci on
El tiempo de propagaci on (t
pd
) se mide desde el momento
en el que la entrada cambia su valor hasta que la salida
asume su valor nal. Para esta comparaci on se tuvieron en
cuenta varios valores de tiempo, pues cada CLB posee gran
cantidad de componenetes. Por lo anterior, es de esperarse
que hallan varios t
pd
s internos. A continuaci on se detallan
tales magnitudes.
T
ILO
: Representa el tiempo que le toma a los datos viajar
de las entradas de los CLBs hasta las salidas (outputs) de
los mismos, m as explcitamente, este tiempo representa
el tiempo de propagaci on dentro de los CLBs.
T
RPW
: Representa el ancho mnimo permisible del pul-
so, alto o bajo, a la entada del SR(set/reset) del CLB.
III-B. Tiempo de contaminaci on
Respecto a los tiempos de contaminaci on (t
cd
), se
consideraron b asicamente cinco, de los cuales se deseaba
obtener la suciente informaci on para lograr de deducir cual
de las dos familias de FGPA presenta un mejor rendimiento
respecto a estos tiempos. A continuaci on se detallan cada uno
2
Para ver con mayor detalle la distribuci on de componentes en esta targeta,
ve ase la p agina 22 del documento referenciado en la bibliografa como [3]
de estos tiempos.
T
CKO
: Equivale al tiempo que transcurre desde que se
activa la transici on en el CLK de entrada hasta que
aparecen los datos en la salida.
T
AS
: Es el tiempo que ocurre desde la conguraci on
de los datos en las entradas F o G hasta que activa la
transici on del CLK de entrada del CLB.
T
DICK
: Tiempo empleado desde que se envi o un dato
en la entrada BY o BY hasta que dicha se nal activa la
entrada CLK del CLB.
T
AH
: Representa el tiempo que pasa desde la entrada
llega a la secci on CLK hasta que se reeja en las entradas
F o G.
T
CKDI
: Representa el tiempo que pasa desde la entrada
llega a la secci on CLK hasta que se reeja en las
entradas BX o BY.
Ahora bien, con los tiempos a comparar ya identicados,
se procedi o a mostrar dichos tiempos para cada FPGA. Las
tablas I y II ilustran tales valores.
Smbolo Grado de velocidad Unidades
- -5 -4 -
T
ILO
0.53 0.61 ns
T
RPW
0.76 0.87 ns
T
CKO
0.63 0.72 ns
T
AS
0.46 0.53 ns
T
DICK
1.27 1.57 ns
T
AH
0 0 ns
T
CKDI
0.25 0.29 ns
Tabla I
TIEMPO DE PROPAGACI ON Y CONTAMINACI ON EN LA SPARTAN 3
Smbolo Grado de velocidad Unidades
- -3 -3N -2N -1L -
T
ILO
0.21 0.26 0.26 0.46 ns
T
RPW
0.41 0.48 0.48 1.37 ns
T
CKO
0.45 0.53 0.53 0.74 ns
T
AS
0.28 0.32 0.32 0.26 ns
T
DICK
0.42 0.47 0.47 0.90 ns
T
AH
0.35 0.42 0.42 0.71 ns
T
CKDI
0.28 0.39 0.39 0.56 ns
Tabla II
TIEMPO DE PROPAGACI ON Y CONTAMINACI ON EN LA SPARTAN 6
IV. RESULTADOS CUANTITATIVOS
Con las dos tablas anteriores, se realiz o una comparaci on
cuantitativa y se pudo hallar la tabla III. All se muestra el
porcentaje de mejora de una con respecto a la otra. Para
elaborar la tabla, se tom o tanto la versi on con el mejor grado
de velocidad (-5 en el caso de la Spartan 3 y -3 en el caso
de la Spartan 6) como la de menor grado (-4 Spartan 3 y -1L
Spartan 6). Tambi en se debe tener en cuenta que, debido a
que los tiempos T
AH
en la Spartan 3 aparecan con un valor
de cero, no se tuvieron en cuenta al momento de comparar.
Smbolo Mejora ( %)
- Highest Speed Lowest Speed
T
ILO
60.4 24.6
T
RPW
46.1 -57.5
T
CKO
28.6 -2.78
T
AS
39.1 50.9
T
DICK
66.9 42.7
T
CKDI
-12.0 -93.1
Total 38,2 -5.86
Tabla III
TIEMPO DE PROPAGACI ON Y CONTAMINACI ON EN LA SPARTAN 3
En la tabla III, cuando se presenta un valor porcentual
positivo hace referencia a una mejora de la Spartan 6 respecto
a la Spartan 3. Si hay alg un valor negativo signica que la
que mejora es la Spartan 3. Se puede ver entonces que, la
Spartan 6 con mayor de velocidad (-3) es bastante superior a
la Spartan 3: 38.2 % m as r apida que esta ultima. La versi on
de menor grado de velocidad (-1L) presenta una desmejora
-baja pero apreciable- con respecto a la Spartan 3: 5.86 %.
V. AN ALISIS DE RESULTADOS
Con el resultado obtenido en la anterior secci on, es v alido
preguntarse el porqu e de la diferencia de tiempos. Pues bien,
hay una raz on general para ello: el uso de menos slices para
la FPGA Spartan 6 produce caminos (paths) m as cortos, lo
que desemboca en tiempos menores.
VI. OTRAS VERSIONES DE CADA FPGA
Cabe resaltar que no se encontraron variantes importantes
de la Spartan 6. Sin embargo, s hay dos peque nas variaciones:
la LX y la LXT, pero, para efectos del presente informe, no
hay distinci on alguna entre la una y la otra.
Respecto a las variaciones que han salido de la Spartan 3 son
principalmente: Spartan 3A, Spartan 3AN y Spartan 3E. Estas
versiones, m as que mejoras a la Spartan 3 est andar, surgen
como otras opciones, pues est an enfocadas a otros campos de
aplicaciones dentro de los que deben cubrir las FPGA.
A continuaci on se mencionan algunos de los campos y las
aplicaciones para las que fueron dise nadas estas variaciones
y posteriormente se presenta el an alisis del tiempo dentro
de los procesos que se llevan a cabo en los CLBs de estas
FGPA, incluyendo la Spartan 3.
Spartan-3A DSP
-Para aplicaciones donde se requiere MACs DSP
integrados y memoria expandida.
-Ideal para dise nos que requieren FGPAs de bajo costo
para aplicaciones de procesamiento de se nales como
radio militar, c amaras de vigilancia, im agenes m edicas,
entre otras.
Spartan-3AN
-Para aplicaciones donde se requiere memoria,
integraci on de sistemas y seguridad, as como
controladores de bajo costo integrados.
Spartan-3A
-Para aplicaciones en las que el conteo entrada/salida
(I/O) importan m as que la densidad l ogica.
-Ideal para puentes, se nalizaci on diferencial y la
memoria de interfaz de las aplicaciones que requieren
multiples interfaces.
Spartan-3E
-Para aplicaciones en las que la densidad l ogica cobra
m as importancia que el conteo entrada/salida (I/O), es
decir, el caso contrario al anterior.
-Ideal para la integraci on l ogica, el co-procesamiento
DSP y el control embebido, que requieren una interfaz
estrecha y modesta.
Spartan-3
-Para aplicaciones en las que la densidad l ogica y conteo
entrada/salida conllevan bastante importancia.
-Ideal para procesamiento de datos altamente integrados.
En cuanto a los tiempos de contaminaci on y propagaci on en
los CLBs, se consideran las tablas IV y V, donde la primera
contiene los tiempos de la Sparan 3A DSP, 3A y 3AN, ya que
para que estas tres FPGA todos esos tiempos son los mismos.
Por otro lado, la tabla V contiene los respectivos tiempos de
la Spartan 3E.
Smbolo Grado de velocidad Unidades
- -5 -4 -
T
ILO
0.62 0.71 ns
T
RPW
1.33 1.61 ns
T
CKO
0.60 0.68 ns
T
AS
0.18 0.36 ns
T
DICK
1.58 1.88 ns
T
AH
0 0 ns
T
CKDI
0 0 ns
Tabla IV
TIEMPO DE PROPAGACI ON Y CONTAMINACI ON EN LA SPARTAN 3A DSP,
3A Y 3AN
Smbolo Grado de velocidad Unidades
- -5 -4 -
T
ILO
0.66 0.76 ns
T
RPW
1.57 1.80 ns
T
CKO
0.52 0.60 ns
T
AS
0.46 0.52 ns
T
DICK
1.58 1.81 ns
T
AH
0 0 ns
T
CKDI
0 0 ns
Tabla V
TIEMPO DE PROPAGACI ON Y CONTAMINACI ON EN LA SPARTAN 3E
A partir de una detallada observaci on a las tablas I, IV y
V se pueden llegar a las siguientes conclusiones:
T
ILO
: En este tiempo la Spartan 3 tiene un mejor
desempe no que el de sus variaciones pues es
aproximadamente un 12 % m as r apida.
T
RPW
: Nuevamente para esta ocasi on la Spartan 3 tiene
un mejor desempe no siendo aproxidamente un 80 %
m as r apida, lo cual representa un gran margen de mejora.
T
CKO
: En este caso el desempe no que presentan
cualquiera de las variaciones de la Spartan 3 es
mejor, aunque la diferencia no es mucha, equivale
aproximadamente a un 8 %.
T
DICK
: Como es tendencia, la Spartan 3 tiene mejores
tiempos que sus variaciones para este tiempo, donde la
diferencia equivale a un 25 % aproximadamente.
Para los tiempos restantes no se hizo el correspondiente
an alisis, pues son cero en todas las variaciones.
Al comparar y hacer un an alisis m as general, adem as de
considerar los porcentajes y lo que representan para un tiempo
general, es posible concluir que en cuesti on de tiempos de
propagaci on y contaminaci on las variaciones no mejoran la
Spartan 3 y por ende tampoco son mejores que la Spartan
6, que como ya se observ o anteriormente tiene un mejor
desempe no que la Spartan 3.
VII. COSTOS
A pesar de que la Spartan 6 result o ser m as r apida, es
v alido cuestionarse por el costo de cada FPGA. Se tom o como
referencia el precio que aparece en la p agina de Digilent para
cada una
3
.
Para lograr hacer un an alisis detallado y certero de los
precios, es necesario considerar FGPAs cuya unica diferencia
sea la familia, es decir, tratar de usar la misma clase de
dispositivo, a saber, las Nexys. Lo anterior debido a la gran
variedad de marcas que ofrecen dichas FPGA.
El precio al que ofrecen la Nexys 2 Spartan-3 es de 180
dolares, mientras el precio al que ofrecen la Nexys Spartan-
6 es de 270 dolares
4
. Como se puede observar, hay una
diferencia de un tercio entre los dos precios, donde una de
las causas de esta diferencia se puede atribuir a la velocidad
de la Spartan 6. No obstante, como ya se mencion o, esta es
una de las causas, y no necesariamente la principal pues dentro
de cada familia hay m as factores que determinan del precio
de cada tarjeta
VIII. CONCLUSIONES
Se pudo concluir que la Spartan 6 con grado de
velocidad -3 es un 38.2 % m as r apida -en acciones que
3
Para mirar con mayor detalle el precio y las especicaciones de cada
FPGA, revsese los links que se etiquetaron como [9] y [10] en la bibliografa.
4
Es importante anotar que los precios que se mencionaron son los que apa-
recen en el sitio web como Public, ya que aparece otro precio (Academic)
que diere s olo en un dolar la una de la otra.
conciernen a los CLBs- respecto a la Spartan 3 con
grado de velocidad -5; es decir, las dos versiones con
mayor grado de velocidad.
Las dos versiones de cada FPGA de menor grado de
velocidad (-4 para la Spartan 3 y -1L para la Spartan 6)
tienen un desempe no muy similar. A un as, la Spartan 3
es un 5.86 % m as r apida.
Las variaciones de Spartan 3 no mejoran en este aspecto,
pues como se pudo observar, esta es m as r apida en casi
todos los tiempos de propagacion y contanaminaci on
de los CLBs. Lo que s se pudo ver fue que las otras
versiones s mejoran en t erminos de capacidad de
memoria o transferencia de informaci on (MB/s o GB/s).
A pesar de que la Spartan 3 fue m as lenta que la Spartan
6, lo que se puede detallar al comparar el datasheet de
cada una es una diferencia -a favor de la Spartan 3- en
los dem as tiempos. Por ejemplo, el tiempo que le toma
a la se nal ir desde el pin de entrada hasta el reloj central
y desde el reloj central al pin de salida es mucho menor
en la Spartan 3.
La FPGA Spartan 6 es un 33.33 % m as econ omica que
la Spartan 6.
REFERENCIAS
[1] David Money Harris - Sara L. Harris. Digital Design and Computer
Architecture. 1st Edition.
[2] Spartan-6 FPGA, Congurable Logic Block. User guide. Publicado
el 23 de febrero de 2010. URL disponible en lnea: http :
//www.xilinx.com/support/documentation/userguides/ug384.pdf
[3] Spartan-3 FPGA Data Sheet: DC and Switching Characteristics,
Publicado el 27 de Junio de 2013. Disponible en lnea: http :
//www.xilinx.com/support/documentation/datasheets/ds099.pdf
[4] Spartan-6 FPGA Data Sheet: DC and Switching Characteristics,
Publicado el 27 de Junio de 2014. Disponible en lnea: http :
//www.xilinx.com/support/documentation/datasheets/ds162.pdf
[5] Spartan-3E FPGA Family Data Sheet, Publicado el
19 de Julio de 2013. Disponible en lnea: http :
//www.xilinx.com/support/documentation/datasheets/ds312.pdf
[6] Spartan-3A FPGA Family Data Sheet, Publicado el
19 de Agosto de 2010. Disponible en lnea: http :
//www.xilinx.com/support/documentation/datasheets/ds529.pdf
[7] Spartan-3AN FPGA Family Data Sheet, Publicado el
12 de Junio de 2014. Disponible en lnea: http :
//www.xilinx.com/support/documentation/datasheets/ds557.pdf
[8] Basic FPGA Architectures, Publicado el
a no 2014. Disponible en lnea: http :
//www.csd.uoc.gr/ hy220/2009f/lectures/11
b
asic
f
pgaarch.pdf
[9] Nexys
TM
2 Spartan-3E FPGA Board. Disponible en lnea: http :
//www.digilentinc.com/Products/Detail.cfm?NavPath =
2, 400, 789Prod = NEXY S2
[10] Nexys
TM
3 Spartan-6 FPGA Board. Disponible en lnea: http :
//www.digilentinc.com/Products/Detail.cfm?NavPath =
2, 400, 897Prod = NEXY S3f

Você também pode gostar