An´ Analisis a´ lisis de Rendimiento (Timing): FPGA Spartan 3 Vs Spartan 6 Wilder Fitzgerald Guzm´an, an,
[email protected]; Carlos Iv´an an Jerez, cijerezg@una
[email protected]. l.edu.co; co; Laboratorio de Electr´onica onica Digital I, Facultad de ingenier´ ingenier´ıa ıa Universidad Nacional de Colombia, Bogot a´
real realiz iz´o´ una comparaci´ cion o´ n cual cualit itat ativ iva a y ´ cuantit cuantitati ativa va entre entre los tiempo tiemposs de de propag propagaci aci´on o n media media (tpd ) y los tiempos tiempos de contam contamina inaci ci´on o´ n (tcd ) de las FPGA FPGA Sparta Spartan n 3 y Spar Sparta tan n 61 . Se indag indago´ adem adem´as a´ s por versio versiones nes mejorad mejoradas as de cada cada FPGA FPGA y se hicier hicieron on algunas algunas compar comparacio aciones nes entre entre ellas. ellas. Para Para ello, ello, se estudi estudi´o´ detalladament detalladamentee los respectivos respectivos datasheet’s datasheet’s de cada FPGA y se compararon ciertos valores de tiempo. Al final, se pudo concluir que, a pesar de que ambas tarjetas son muy similares, la Spartan 6 posee unos tiempos de propagaci on o´ n y tiempos de contaminaci´ contaminacion o´ n menores. —Se Resumen—Se
I.
´ I NTRODUCCION
Una Una FPGA FPGA (Fie (Field ld Prog Progra ramm mmab able le Gate Gate Arra Array) y) es un conj conjun unto to de comp compue uert rtas as l ogicas o´ gicas,, circui circuitos tos integ integrad rados os y bloques l´ogicos ogicos que permiten ser programados por un agente exter externo no median mediante te el uso de un lengua lenguaje je de descri descripci pcion o´ n de hardwa hardware. re. El princi principal pal fabri fabrican cante te de estos estos dispos dispositi itivo vo es Xilinx Xilinx,, el cual cual posee posee vari varias as famili familias: as: l ogica o´ gica de pegamen pegamento to (CoolRunner y CoolRunner II), de alto rendimiento (Virtex) y de bajo bajo coste coste (Spart (Spartan) an).. El presen presente te docume documento nto presta presta especial atenci on o´ n a estas e´ stas ultimas. u´ ltimas. La familia familia Spartan posee una arquitectura arquitectura muy similar similar en cada una de sus variantes; variantes; est´ estan a´ n conf confor orma mada dass por por un conj conjun unto to de Bloq Bloque uess L ogicos o´ gicos Configurabl Configurables es (Configura (Configurable ble Logic Logic Blocks: Blocks: CLBs) rodeados rodeados por un per´ımetro ımetro de Bloques Programables de entrada/salida entrada/salida (Programmable Input/Output Blocks: IOBs). Estos elementos funcionales est an a´ n interconectados por una jerarqu´ jerarqu ´ıa ıa de canales de conexion o´ n (Routi (Routing ng Channe Channels) ls),, la que incluye incluye una red de baja capacita capacitancia ncia para la distrib distribuci uci on o´ n de se˜ senales ˜ de reloj de alta frecuencia. [2]
que se ve en realidad es un peque˜no no tiempo entre el estado ON y el estado OFF (o viceversa). Cuando se ponen mucho elemen elementos tos en cascad cascada, a, ese tiempo tiempo aument aumenta, a, por lo que es primordi primordial al tratar tratar de disminui disminuirlo rlo al m ´ınimo ınimo posible. posible. En este escrito, se mostrar an a´ n algunas tablas comparativas y se dar an a´ n ciertos ciertos porcentaj porcentajes es de comparaci´ comparaci´on o n de tiem tiempo poss de reta retard rdo o para tratar de concluir cu al a´ l FPGA es mejor: la Spartan 3 o la Spartan 6.
II.
´ ESTRUCTURAL DE UN B LOQUE L OGICO ´ D ESCRIPCI ON C ONFIGURABLE (CLB)
El Bloque Bloque L ogico o´ gico Configu Configurab rable le (CLB, (CLB, por sus siglas siglas en ingl´ ingles) e´ s) constituye constituye el principal principal recurso recurso l ogico o´ gico para la impleimple´ ca as´ mentaci´ mentacion o´ n sincr sincr´onica oni as´ı como como tamb tambiien e´ n para para los circui circuitos tos combinacionales. II-A.
Spartan 3
Para Para esta esta FPGA, FPGA, cada cada CLB se compon componee de 4 seccio secciones nes (slices) interconectadas entre s´ s ´ı; ı; estas e´ stas se agrupan en parejas. Lo anterior se puede ver en la gr afica a´ fica 1.
En una una FPGA, PGA, la l´ogica ogica programab programable le puede puede reproduci reproducirr desde funciones funciones tan sencilla sencillass como las llevad llevadas as a cabo por una puerta l ogica o´ gica o un sistema combinacional hasta complejos sistem sistemas as en un chip. chip. Sin embar embargo, go, los eleme elemento ntoss intern internos os en una tarjet tarjetaa de este este tipo tipo no son comple completam tament entee perfec perfectos tos y poseen ciertos retardos de reacci´on on (delays). En teor´ıa, ıa, el cambio cambio de estado estado en un CLB debe ser inmedia inmediato, to, pero lo 1
Dichos Dichos tiempos hacen referencia referencia a los retrasos retrasos presentes presentes en las celdas logicas o´ gicas configurables (CLB). Se hace esta aclaraci´ aclaracion o´ n 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.
Figura Figura 1. Estructu Estructura ra de un CLB en la Spartan 3.
Cada Cada uno de estas estas celdas celdas posee: posee: dos LUT’ LUT’s (Look(Look-Up Up Tables), dos elementos de almacenamiento ((flip flop’s)), dos
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
multiplexores de funci on o´ n amplia, dos transportadores de se nal n˜ al 2 y algunas compuertas aritm eticas e´ ticas . II-B.
de estos tiempos. T CK O :
Spartan 6
En este caso, cada CLB se compone de dos slices. Cada CLB celda celda posee: posee: cuatro cuatro LUT’s LUT’s y ocho elementos elementos almacenadore nadores. s. Es import important antee nombra nombrarr que la Sparta Spartan n 6 tambi´ tambi´en en posee multiplexores y compuertas aritm eticas, e´ ticas, pero no es de inter´ interes e´ s para este documento tratar dichos elementos. La figura 2 muestra el arreglo de slices en una Spartan 6.
Equivale al tiempo que transcurre desde que se activa activa la transici transici´on o´ n en el CLK CLK de entr entrad adaa hast hastaa que que aparecen los datos en la salida. T AS : Es el tiempo tiempo que ocurr ocurree desde desde la configu configurac raci´ i´on on de los datos en las entradas F o G hasta que activa la transici on o´ n del CLK de entrada del CLB. ´ un dato T DICK : Tiempo empleado desde que se envi o en la entrada BY o´ BY hasta que dicha se nal n˜ al activa la entrada CLK del CLB. Represent entaa el tiempo tiempo que pasa pasa desde desde la entrad entradaa T AH : Repres ´ CLK hasta que se refleja en las entradas llega a la secci on F o G. T CKDI : Representa el tiempo que pasa desde la entrada lleg llegaa a la secc secci´ i´on o n CLK CLK hast hastaa que que se refle refleja ja en las las entradas BX o´ BY. Ahora bien, con los tiempos a comparar ya identificados, se procedi o´ a mostrar dichos tiempos para cada FPGA. Las tablas I y II ilustran tales valores. S´ımbol ı mbolo o -
T ILO ILO T RP RP W T CKO CKO T AS AS T DICK D ICK T AH AH T CKDI C KDI
Figura Figura 2. Estructura Estructura de un CLB en la Spartan Spartan 6.
III. III-A.
´ T IEMPOS EN CONSIDERACI ON
Tiempo Tiempo de propagaci propagaci´ on ´
El tiempo de propagaci on o´ n (t pd ) se mide desde el momento en el que que la entr entrad adaa camb cambia ia su valo valorr hast hastaa que que la sali salida da asume asume su valor valor final. final. Para esta comparaci comparaci on o´ n se tuvieron en cuenta varios valores de tiempo, pues cada CLB posee gran cantidad cantidad de componene componenetes. tes. Por lo anterior anterior,, es de esperarse esperarse que hallan hallan varios varios t pd ’s internos. internos. A continuac continuacii on o´ n se detallan 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´ mas a´ s expl´ expl´ıcitamente, ıcitamente, este tiempo representa el tiempo de propagaci on o´ n dentro de los CLBs. T RP W : Representa el ancho m´ınimo ınimo permisible del pulso, alto o bajo, a la entada del SR(set/reset) del CLB. III-B.
Tiempo Tiempo de contaminaci´ contaminacion ´
Resp Respec ecto to a los los tiem tiempo poss de cont contam amin inac acii on o´ n (tcd ), se
Grado Grado de veloci velocidad dad -5 -4 0.53 0.61 0.76 0.87 0.63 0.72 0.46 0.53 1.27 1.57 0 0 0.25 0.29
Unidad Unidades es ns ns ns ns ns ns ns
Tabla I T IEMPO
´ Y CONTAMINACI ON ´ EN LA S PARTAN 3 DE PROPAGACI ON
S´ımbolo -
T ILO ILO T RP RP W T CKO CKO T AS AS T DICK D ICK T AH AH T CKDI C KDI
Grado de velocidad -3 -3N -2N -1 -1L 0. 0 .21 0.26 0.26 0.46 0. 0.41 0.48 0.48 1.37 0. 0.45 0.53 0.53 0.74 0.28 0.32 0.32 0.26 0. 0.42 0.47 0.47 0.90 0.35 0.42 0.42 0.71 0. 0.28 0.39 0.39 0.56
Unidades ns ns ns ns ns ns ns
Tabla II T IEMPO
´ Y CONTAMINACI ON ´ EN LA S PARTAN 6 DE PROPAGACI ON
I V.
R ESULTADOS CUANTITATIVOS
Con las dos tablas anteriores, se realiz o´ una comparaci on o´ n cuantita cuantitativ tivaa y se pudo hallar la tabla tabla III. All´ı se muestra muestra el taje taje de jo de to la ot Pa
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
S´ımbolo -
T ILO ILO T RP RP W T CKO CKO T AS AS T DICK D ICK T CKDI C KDI Total
Mejora ( %) %) Highes ghestt Spee Speed d Lowe Lowest st Speed peed 60.4 24.6 46.1 -57.5 28.6 -2.78 39.1 50.9 66.9 42.7 -12.0 -93.1 38,2 -5.86 Tabla III
T IEMPO
controladores de bajo costo integrados. Spartan-3A -Para -Para aplicaci aplicaciones ones en las que el conteo conteo entrada/ entrada/sali salida da (I/O) importan m´as as que la densidad l´ogica. ogica. ˜ ´ -Ide -Ideal al para para puen puente tes, s, se˜ senalizaci´ nalizacion dife difere renc nciial y la memoria memoria de interfaz interfaz de las aplicaciones aplicaciones que requieren requieren multiples interfaces.
´ Y CONTAMINACI ON ´ EN LA S PARTAN 3 DE PROPAGACI ON
En la tabla tabla III, III, cuando cuando se presen presenta ta un valor valor porcen porcentua tuall positivo hace referencia a una mejora de la Spartan 6 respecto a la Spartan 3. Si hay alg un u´ n valor negativo significa 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 Spartan 3: 38.2% m´as a s r´apida apida que esta e´ sta ultima. u´ ltima. La versi´on on de menor grado de velocidad (-1L) presenta una desmejor ´ıa ıa -baja -baja pero apreciabl apreciablee- con respecto respecto a la Spartan 3: 5.86 %. V.
´ A N ALISIS DE RESULTADOS
Con el resultado obtenido en la anterior secci on, o´ n, es v´ valido a´ lido preguntarse el porqu´e de la diferencia de tiempos. Pues bien, hay una raz´on on general para ello: el uso de menos slices para la FPGA Spartan 6 produce caminos (paths) m as a´ s cortos, lo que desemboca en tiempos menores. V I.
OTRAS VERSIONES DE CADA FPGA
Cabe resaltar que no se encontraron variantes importantes de la Spartan 6. Sin embargo, s´ s ´ı hay dos peque˜ pequenas n˜ as variaciones: variaciones: la LX y la LXT, pero, para efectos del presente informe, no hay distinci on o´ n 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 versione versiones, s, m´as as que mejoras a la Spartan 3 est´andar, andar, surgen como otras opciones, pues est´an an enfocadas a otros campos de aplicaciones dentro de los que deben cubrir las FPGA.
Spartan-3E -Para -Para aplicaciones aplicaciones en las que la densidad l ogica o´ gica cobra cobra mas a´ s importanc importancia ia que el conteo conteo entrada/s entrada/salida alida (I/O), es decir, el caso contrario al anterior. -Ideal -Ideal para para la integ integrac racii on o´ n logica, o´ gica, el co-proces co-procesamie amiento nto DSP y el control embebido, que requieren una interfaz estrecha y modesta. Spartan-3 -Para aplicaciones en las que la densidad l ogica o´ gica y conteo entrada/salida conllevan bastante importancia. -Ideal para procesamiento de datos altamente integrados. En cuanto a los tiempos de contaminaci on o´ n y propagacion o´ n 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. S´ımbo ı mbolo lo -
T ILO ILO T RP RP W T CKO CKO T AS AS T DICK D ICK T AH AH T CKDI C KDI
Unid Unidad ades es ns ns ns ns ns ns ns
Tabla IV T IEMPO
´ Y CONTAMINACI ON ´ EN LA S PARTAN 3A DE PROPAGACI ON
DSP,
3A Y 3 AN
A continuaci on o´ n se mencionan algunos de los campos y las aplicaciones para las que fueron dise nadas n˜ adas estas variaciones variaciones y poster posterior iormen mente te se presen presenta ta el an´ an alisis a´ lisis del tiempo tiempo dentro dentro de los procesos que se llevan a cabo en los CLBs de estas FGPA, incluyendo la Spartan 3. Spartan-3A DSP -Par -Paraa apli aplica caci cion ones es dond dondee se requ requie iere re MACs MACs DSP DSP integrados y memoria expandida. -Ideal para dise˜nos nos que requieren FGPAs de bajo costo aplica aplicacio cio de amient amient de se˜nal nal
Grad Grado o de velo veloci cida dad d -5 -4 0.62 0.71 1.33 1.61 0.60 0.68 0.18 0.36 1.58 1.88 0 0 0 0
S´ımbol ı mbolo o -
T ILO ILO T RP RP W T CKO CKO T AS AS T DICK D ICK T AH AH T CKDI C KDI
Grado Grado de veloci velocidad dad -5 -4 0.66 0.76 1.57 1.80 0.52 0.60 0.46 0.52 1.58 1.81 0 0 0 0
Unidad Unidades es ns ns ns ns ns ns ns
Tabla V T IEMPO
´ Y CONTAMINACI ON ´ EN LA S PARTAN 3E DE PROPAGACI ON
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
aproximad aproximadamen amente te un 12 % m as a´ s rapida. a´ pida. o´ n la Spartan 3 tiene T RP W : Nuevamente para esta ocasi on un mejor mejor desemp desempee no n˜ o sien siendo do apro aproxi xida dame ment ntee un 80% m´as as r´apida, apida, lo cual representa un gran margen de mejora. En este ste caso aso el dese desemp mpee no n˜ o que que pres presen enta tan n cual cualqu quie iera ra de las las varia ariaci cion ones es de la Spar Sparta tan n 3 es mejo mejorr, aunq aunque ue la dife difere renc ncia ia no es much mucha, a, equi equiva vale le aproximad aproximadamen amente te a un 8 %. T CK O :
T DICK :
Como es tendencia, la Spartan 3 tiene mejores tiempos que sus variaciones para este tiempo, donde la diferenci diferenciaa equival equivalee a un 25 % aproximad aproximadamen amente. te. Para los tiempos restantes no se hizo el correspondiente an´ analisis, a´ lisis, pues son cero en todas las variaciones. Al comparar y hacer un an alisis a´ lisis m´ mas a´ s general, adem´ ademas a´ s de considerar los porcentajes y lo que representan para un tiempo general, general, es posible posible concluir que en cuesti cuesti on o´ n de tiempos de propagaci´on on y contam contamina inaci´ ci´on on las variacion variaciones es no mejoran la Sparta Spartan n 3 y por ende tampoco tampoco son mejore mejoress que la Sparta Spartan n 6, que que como como ya se obse observ rv´o´ anteri anteriorm orment entee tiene tiene un mejor mejor desempe˜ desempeno n˜ o que la Spartan 3. V II.
Las dos versi versione oness de cada cada FPGA FPGA de menor menor grado de velocidad (-4 para la Spartan 3 y -1L para la Spartan 6) ˜ muy similar. A un tienen un desempe no u´ n as´ as´ı, ı, la Spartan 3 es un 5.86% 5.86% mas a´ s rapida. a´ pida. Las variaciones de Spartan 3 no mejoran en este aspecto, pues como se pudo observar, esta e´ sta es m´ mas a´ s rapida a´ pida en casi todos todos los tiempo tiemposs de propag propagaci acion on y contan contanam amina inaci ci on o´ n de los CLB’s. Lo que s´ s´ı se pudo ver fue que las otras versi versione oness s´ı mejor ejoran an en termi e´ rmino noss de capa capaci cida dad d de memoria o transferencia de informaci´on on (MB/s o´ GB/s). A pesar de que la Spartan 3 fue m as a´ s 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 as tiempos. Por ejemplo, el tiempo que le toma a la se nal n˜ al 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 Spart Spartan an 6 es un 33.33 33.33 % m´as as econ´omica omica que la Spartan 6. R EFERENCIAS
C OSTOS
A pesa pesarr de que que la Spar Sparta tan n 6 resu result lt´o´ ser m´ mas a´ s rapida, a´ pida, es v´alido alido cuestionarse por el costo de cada FPGA. Se tom´o como referencia el precio que aparece en la p agina a´ gina de Digilent para cada una 3 . Para Para lograr lograr hacer un an´ analisis a´ lisis detall detallado ado y certer certero o de los precios, es necesario considerar FGPA’s cuya ´unica unica diferencia sea sea la fami famili lia, a, es deci decirr, trat tratar ar de usar usar la mism mismaa clas clasee 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 Spartan6 es de 270 270 dola dolare ress 4 . Como Como se puede puede observ observar ar,, hay una difere diferenci nciaa de un tercio tercio entre los dos precios, 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, o, esta e´ sta es una de las causas, y no necesariamente la principal pues dentro de cada familia hay m as a´ s factores que determinan del precio de cada tarjeta V I II II .
concie concierne rnen n a los CLB’sCLB’s- respec respecto to a la Sparta Spartan n 3 con grado grado de veloc velocida idad d -5; es decir decir,, las dos versi versione oness con mayor grado de velocidad.
C ONCLUSIONES
[1] David David Money Harris - Sara L. Harris. Harris. ”Digital ”Digital Design Design and Computer Computer Architecture”. 1st Edition. [2] Spartan-6 Spartan-6 FPGA, Configurabl Configurablee Logic Logic Block. Block. User guide. Publicado Publicado el 23 de febr febrer ero o de 2010 2010.. URL URL disp dispon onib ible le en l ´ınea: ınea: http :
//www.xilinx.com/support/documentation/user g uides/ug 384.pdf [3] [3] SpartanSpartan-3 3 FPGA FPGA Data Data Sheet: Sheet: DC and Switch Switching ing Chara Characte cteris ristic tics, s, Publ Public icad ado o el 27 de Juni Junio o de 2013 2013.. Disp Dispon onib ible le en l ´ınea: ınea: http :
//www.xilinx.com/support/documentation/data s heets/ds099.pdf [4] [4] SpartanSpartan-6 6 FPGA FPGA Data Data Sheet: Sheet: DC and Switch Switching ing Chara Characte cteris ristic tics, s, Public Publicado ado el 27 de Junio Junio de 2014. 2014. Dispo Disponib nible le en l´ınea: ı nea: http :
//www.xilinx.com/support/documentation/data s heets/ds162.pdf [5] Spartan-3E FPGA 19 de Julio de
Family Data Sheet, Publicado 2013. Disponible en l ´ınea: ınea: http
el :
//www.xilinx.com/support/documentation/data s heets/ds312.pdf [6] Spartan-3A FPGA 19 de Agost gosto o de
Family Data Sheet, Publicado 201 2010. Dispo isponi nib ble en l´ınea: ea: http
el :
//www.xilinx.com/support/documentation/data s heets/ds529.pdf [7] Spartan-3AN FPGA Family Data 12 de Junio de 2014. Disponible
Sheet, Publicado en l ´ınea: ınea: http
el :
//www.xilinx.com/support/documentation/data s heets/ds557.pdf [8] Basic a˜no
FPGA Architectures, Publicado 2014. Disponible en l´ınea: http
el :
//www.csd.uoc.gr/ //www.csd.uoc.gr/ hy220/2009f/lectures/11b asicf pga a rch.pdf [9] Nexys NexysTM 2 Spartan-3 Spartan-3E E FPGA Board. Board. Disponib Disponible le en l´ınea: ınea: http : //www.digilentinc.c //www.digilentinc.com/Pr om/Pr oducts/Detail. oducts/Detail.cfm cfm?NavPath = 2, 400, 789Prod = NEXY S 2 [10] Nexys NexysTM 3 Sparta Spartan-6 n-6 FPGA FPGA Board. Board. Dispo Disponib nible le en l´ınea: ınea: http : //www.digilentinc.c //www.digilentinc.com/Pr om/Pr oducts/Detail. oducts/Detail.cfm cfm?NavPath = NEXY S 3f 2 400 897Prod