INTRODUCCIÓN DE DISPOSITIVOS PROGRAMABLES EN
PRÁCTICAS DE LABORATORIO
Ca los J. Jiménez, Ca men Baena, Manuel Valencia, En ique Os úa
Uni e sidad de Se illa - Ins i u o de Mic oelec ónica de Se illa.
En es a comunicación se p esen a la ealización de una p ác ica de la
asigna u a Es uc u a de Compu ado es de p ime cu so de Ingenie ía
In o má ica en la que in oduce el uso de disposi i os p og amables. En
dicha p ác ica se ealiza un mul iplicado secuencial 4x4, diseñándolo con la
he amien a ISE WebPack de Xilinx e implemen ándolo con placas de
desa ollo de Xilinx.
1. In oducción
En es a comunicación se p esen a una p opues a de implemen ación p ác ica pa a la docencia de
diseño lógico usando ecnología compleja, con o ien ación a la nue a es uc u a de c édi os eu opeos
ECTS y pa a un cu so uni e si a io inicial en diseño digi al. Es e abajo su ge, po una pa e, al ene
en cuen a que la cuan i icación del ECTS se nu e de ac i idades múl iples (docencia eó ica y aplicada,
abajo pe sonal del alumno, e c.), cen ándose en las p ác icas de labo a o io po se el aspec o más
inno ado , y, po o a, al conside a los a ances de la ecnología en el campo del diseño digi al con su
indudable c ecimien o de complejidad. Es e aumen o de complejidad en la ecnología a ec a
di ec amen e, en e o os, a los siguien es aspec os: el p opio sis ema digi al, el uso de he amien as de
diseño, la ecnología de implemen ación del sis ema elec ónico y el en o no de es adecuado.
La p opues a que p esen amos en es e abajo pe sigue que un alumno de un cu so inicial en diseño
digi al sea capaz de eco e , en una única sesión de labo a o io de dos ho as de du ación, odo el
p oceso de diseño digi al a anzado sob e FPGA pa a implemen a un mul iplicado secuencial y
comp oba su uncionamien o eal (no simulado). Es o equie e di e sas ac i idades docen es:
enseñanza-ap endizaje eó ica en el aula, aplicación al ci cui o bajo es udio, desa ollado de abajo
pe sonal po el alumno y p epa ación de diseños po los p o eso es. Es a p opues a, en nues o caso
pa icula , se lle a a cabo con éxi o en el segundo cua imes e del p ime cu so de las i ulaciones de
In o má ica.
Los obje i os pe seguidos son múl iples. En p ime luga , concep ualmen e es á cen ada en una
es uc u a de mul iplicación digi al (sumas y desplazamien os a la de echa) cuyo uso, aunque
consolidado a ni el cien í ico, no o ma pa e de la ma e ia habi ual de los cu sos de g ado sob e
“diseño digi al” [1]. En segundo luga , como diseño p ác ico de un sis ema digi al a ni el RT, es un
ejemplo de no muy al a complejidad pa a p ac ica con una es uc u a de da os y con ol. En e ce
luga , el alumno adqui i á expe iencia cuasi-p o esional al diseña un sis ema digi al usando una
he amien a come cial a anzada. Po úl imo, el alumno pod á es a el sis ema diseñado median e una
placa de desa ollo especí ica, comp obando an o su ope ación global en ada-salida como la
ope ación ciclo a ciclo.
En lo que sigue se desc ibe, en p ime luga el compo amien o del mul iplicado secuencial así
como los dis in os componen es en los que se ha di idido. A con inuación se desc iben b e emen e los
concep os eó icos explicados en las clases de aula necesa ios pa a la ealización de la p ác ica. Se sigue
con la desc ipción de las a eas a ealiza po el alumno, an o de p epa ación de la p ác ica como de
ealización en el labo a o io. Finalmen e se ex aen algunas conclusiones.
2. Desc ipción del mul iplicado secuencial
El mul iplicado secuencial es un sis ema digi al que ealiza la mul iplicación de dos núme os, en
nues o caso de cua o bi s, median e una sucesión de sumas y desplazamien os. El amaño del
mul iplicado se ha limi ado a palab as de 4 bi s po placa debido, únicamen e, al amaño de la placa de
p ueba. El esquema de uncionamien o que sigue es e ipo de mul iplicado es se mues a en la igu a 1.
Pa a su diseño, se ha di idido el ci cui o comple o en es bloques: una unidad de da os, una unidad
de con ol y un ci cui o denominado CGXS ( igu a 2). La unidad de da os se enca ga del manejo de los
da os a mul iplica , su almacenamien o, sumas, desplazamien os, e c. La unidad de con ol gene a las
señales que con olan el uncionamien o de la unidad de da os y el ci cui o CGXS es el enca gado de la
gene ación de la señal de comienzo pa a la unidad de con ol. La señal gene ada po el ci cui o CGXS,
denominada XSCICLO, es una señal de un pulso a ‘1’ du an e un ciclo de eloj gene ada a pa i de la
ac i ación de la señal START que es una señal ac i a en al o pe o con una du ación de un núme o
inde e minado de ciclos de eloj. Con obje o de que la p ác ica sea abo dable en el iempo que los
alumnos es án en el labo a o io, el bloque de da os y el bloque CGXS les se án dados al alumno ya
diseñados, de o ma que és e únicamen e enga que diseña el bloque de con ol. Pa a la ealización de
es e diseño se le impone que emplee pa a la codi icación de los es ados un algo i mo “one-ho ”, es
deci , un bies able po cada es ado.
Figu a 1. Algo i mo de mul iplicación basados en sumas y desplazamien os a la de echa
A3A2A1A0
B3B2B1B0
A0.B0
A1.B0
A2.B0
A3.B0
P10
A1.B0
A2.B0
A3.B0
A0.B1
A1.B1
A2.B1
A3.B1
P10
Desplazamien o a la de echa del p ime p oduc o pa cial
=
P11
=
P12
=
P13
=
Ob ención del p ime p oduc o pa cial (A3-0 x B0)
+
P20
P21
P22
P23 Ob ención del segundo p oduc o pa cial
P20
P21
P22
P23 Desplazamien o a la de echa del segundo p oduc o pa cia
l
A0.B2
A1.B2
A2.B2
A3.B2
+
P30
P31
P32
P33 Ob ención del e ce p oduc o pa cial
P30
P31
P32
P33 Desplazamien o a la de echa del e ce p oduc o pa cial
A0.B3
A1.B3
A2.B3
A3.B3
+
P40
P41
P42
P43 Ob ención del cua o p oduc o pa cial
Resul ado inal: P40
P41
P42
P43 P30 P20 P10
Cou 2
Cou 2
Cou 3
Cou 3
Cou 4
P40
P41
P42
P43
Cou 4 Desplazamien o a la de echa del cua o p oduc o pa cial
Cou 4
Cou 1=0
Cou 1
El uncionamien o global de es e mul iplicado es el siguien e. La p ime a ez que se dispone a
mul iplica , el usua io debe á ealiza un ese del sis ema ac i ando la señal des inada a ello
(RESETA). Pos e io men e, ac i a á la señal START dando así un ‘1’ lógico al ci cui o CGXS, el cual
p opo ciona la señal de comienzo pa a el con olado , XSCICLO. Una ez que el con olado ecibe un
‘1’ po su línea de en ada, XSCICLO a p opo cionando, ciclo a ciclo de eloj, las señales de con ol
que necesi a cada elemen o de la unidad de da os. Es as señales son las que gobie nan la ca ga y el
desplazamien o de los egis os en los que se almacenan los da os de en ada así como los da os en los
que se an almacenando los dis in os p oduc os pa ciales.
La es uc u a del ci cui o de la unidad de da os, se mues a en la igu a 3, Es á o mada po es
egis os (A, SUMH y SUML), un sumado pa alelo de 4 bi s y un con ado módulo 4 (CONT). La
abla de desc ipción de cada uno de es os bloques se mues a en la igu a 4.
Pa a la ealización de la mul iplicación siguiendo el algo i mo de sumas y desplazamien os
mos ado an e io men e, en el bloque de da os se siguen los siguien es pasos: as una ca ga en pa alelo
de los da os A y B en los egis os A y SUML espec i amen e, se p ocede a analiza cuál es el bi
menos signi ica i o de B (SUML[0]). Según sea ‘0’ o ‘1’, se ealiza una suma del da o de A con el da o
p esen e en un e ce egis o (SUMH) des inado a almacena los p oduc os pa ciales de la
mul iplicación. T as la ca ga de la suma, en su caso en SUMH, se ealiza una ope ación de
desplazamien o a la de echa de los egis os SUMH y SUML. Así, SUMH desplaza su bi LSB a SUML
dado que en la p óxima ope ación de suma pa a la ob ención del siguien e p oduc o pa cial, es e bi no
debe suma se sino que pasa a con e i se en el siguien e bi del esul ado, esul ado que se a
almacenando en el egis o SUML. Es e p oceso se ealiza á 4 eces, ya que el da o B posee 4 bi s. Pa a
ello, se ha dispues o de un con ado módulo-4 y se á la señal de aca eo de es e con ado la que indique
en in de la mul iplicación. El esul ado inal de la ope ación queda á gua dado en los egis os SUMH
y SUML.
El úl imo bloque que queda po especi ica de nues o sis ema es CGXS. Consis e en un ci cui o
que, a pa i de la ac i ación de una señal START a ‘1’ lógico, p opo ciona un pulso posi i o de
exac amen e un ciclo de eloj de du ación (XSCICLO). El ci cui o que lo implemen a se mues a en la
igu a 5 (a), En la pa e (b) de dicha igu a se mues a un diag ama empo al con el compo amien o de
sus señales. En es e diag ama empo al se obse a que la ac i ación de RESETA pone a ‘0’ los
bies ables, incluido el asínc ono (qSR= ‘0’). Cuando se ac i a START el bies able asínc ono almacena
un ‘1’ (qSR= ‘1’), alo que ya no abandona á has a que se e mine la ope ación ac i ando FIN.
(Ob iamen e ambién se bo a á si se ac i a RESETA). Una ez que qSR= ‘1’ el p ime ciclo de CLK
ha á que ese ‘1’ se aslade a XSCICLO, pe o sólo du an e un ciclo de CLK.
Unidad
de da os
Unidad
de con ol
señales
de con ol
señales
de es ado
A
B
A*B
XSCICLO
CGXS
RESETA
START
CLK
CLK
Figu a 2. Rep esen ación a ni el de bloques del mul iplicado implemen ado en el CI.
4
4
8
CLK
RESETA
R
L
CE
CLK
A[4]
R
L
CE
CLK
SUMH[4]
LEFT
SLI = 0
R
L
CE
CLK
SUML[4]
LEFT
SLI = 0
SUMH[0]
CLSINCR
WSUML
CESUML
0
CLSINCR
WSUMH
CESUMH
0
CLSINCR
WA
0
Rq
CLK
Din
CE
CLSINCR
CEBBLE
Sumado 4 bi s DATB[3:0]
DATA[3:0]
SUML[0]
SUML[3:0]
SUMH[3:0]
R
CE
CLSINCR
CECONT
Cin = 0
Cou
O
CY
&
SUML[0]
SLI = 0
4
4
4
4
44
4
4
IN IN
CONT
Figu a 3. Unidad de da os del mul iplicado secuencial.
SRI SRI
Regis o A:
R L CE ope ación
000 A ← A
1-- A ← 0
01- A ← DATA[3:0]
001 A ← SHL(A, SLI)
Regis os R (SUMH, SUML):
R L CE LEFT ope ación
000 0 R ← R
1-- - R ← 0
01- - R ← IN
001 0 R ← SHR(R, SRI)
001 1 R ← SHL(R, SLI)
Bies able D (DBBLE):
R CE ope ación
1- DBBLE ← 0
0 0 DBBLE ← DBBLE
0 1 DBBLE ← Din
Con ado módulo-4 (CONT)
R CE ope ación
1- CONT ← 0
00 CONT ← CONT
0 1 CONT ← CONT+1
Figu a 4. Desc ipción de los egis os que o man la unidad de da os del mul iplicado .
3. Ta eas en aula
An es de exigi le al alumno la ealización del es udio eó ico, ha habido que p opo ciona le, en
las clases de aula, los conocimien os necesa ios pa a su ealización. En es as clases se
desa olla la eo ía de diseño lógico a ni el RT pa a sis emas con u a de da os y con ol
median e ca as ASM y el diseño de dichos sis emas empleando un bies able po es ado. Es a
eo ía se aplica á en clases de p oblemas al diseño de la u a de da os del mul iplicado secuencial
obje o de la p ác ica usando los componen es con los que se á implemen ado pos e io men e [2].
Muchos de los sis emas digi ales secuenciales pueden diseña se sepa ando en e sus componen es
una u a de da os y una unidad de con ol. El diseño de es os sis emas puede hace se, además de po el
mé odo clásico de diag amas de es ado, usando el llamado “Algo i mo de Máquina de Es ados” (en
inglés Algo i hmic S a e Machine, ASM). Es e algo i mo especi ica median e un diag ama de lujo los
pasos del p ocedimien o y los caminos de decisión. Al se un diag ama de lujo pa a un algo i mo
ha dwa e debe ene unas ca ac e ís icas especiales que liguen de ce ca el desa ollo ha dwa e del
algo i mo.
El diag ama ASM con iene es elemen os básicos: la caja de es ado, la caja de decisión escala y la
caja de salida condicional. Un es ado en la secuencia de con ol se indica median e una caja de es ado,
que se dibuja como un ec ángulo y que con iene una ope ación de ans e encia de egis o o señales de
salida que se ac i an cuando la unidad de con ol es á en un de e minado es ado. La caja de decisión
escala desc ibe el e ec o de una en ada en el con ol. Tiene la o ma de un ombo con dos caminos de
> 1
> 1
RESETA
START
D
R
C
q
1
&
1
CLK
FIN
XSCICLO
q
SR
D
R
C
q
2
RESETA
START
q
SR
q
1
CLK
FIN
q
2
T
CLK
XSCICLO
Figu a 5. Bloque CGXS, (a) Esquemá ico, (b) Compo amien o empo al.
(a)
(b)
salida. La condición de en ada es una a iable bina ia de en ada o una exp esión booleana que
depende únicamen e de las en adas.
El e ce elemen o, la caja de salida condicional es exclusi a del diag ama ASM. Tiene una o ma
o alada que la di e encia de la caja de es ados. El camino de en ada a una caja de salida condicional,
p oceden e de una caja de es ado, debe pasa a a és de una o más cajas de decisión. Si la condición
especi icada en el camino, a a és de las cajas de decisión que conducen de una caja de es ado a una
caja de salida condicional, se cumple, se ac i an las ans e encias de egis os o salidas enume adas
den o de la caja condicional.
4. Ta ea a ealiza po el alumno: es udio eó ico
Una ez es udiado el uncionamien o del mul iplicado secuencial, cada alumno debe ealiza ,
an es de acudi al labo a o io de p ác icas, la ca a ASM de la unidad de con ol y el ci cui o que la
implemen e u ilizando pa a los es ados una codi icación “one-ho ” (un bies able po cada es ado).
El compo amien o del bloque de con ol es el siguien e: su ciclo de uncionamien o comienza con
la espe a en la ac i ación de la señal XSCICLO. La p ime a ac uación consis e en la ac i ación de la
señal CLSINR (clea de los egis os del bloque de da os). Una ez ealizado el clea se p oduce la
ac i ación de las señales de ca ga de los egis os con los da os a mul iplica (WA y WSUML). A pa i
de aquí comienza el p oceso de ealización de las ope aciones de mul iplicación. Las señales a gene a
son CEEBLE (ac i ación de la acumulación del aca eo) y WSUMH (ac i ación de la ca ga). El úl imo
paso es la ealización del desplazamien o de los egis os. Es e p oceso se ealiza mien as no se ac i e
la señal CY (salida de aca eo del con ado módulo 4 del bloque de da os). La ca a ASM que
implemen a es e compo amien o se mues a en la igu a 6.
A pa i de es a ca a ASM se ob iene el diseño del ci cui o en base a bies ables y pue as lógicas
que se mues a en la igu a 7, donde se ha enido en cuen a la condición de u iliza un bies able po cada
es ado.
D
1
q
1
R
C
D
2
q
2
R
C
XSCICLO
CLK
RESETA
CLSINCR
>1 D
3
q
3
R
C
&
SUML[0]
WSUMH
WSUML
WA CEBBLE
D
4
q
4
R
C
&
&
1
CY
CESUMH
CESUML
FIN
Figu a 7. Esquemá ico de la unidad de con ol.
5. Ta ea a ealiza po el alumno: abajo en el labo a o io
En el labo a o io, el alumno debe á in oduci el diseño de la unidad de con ol ealizada en el
es udio eó ico en la he amien a de Xilinx ISE WebPack [3] pa a su p og amación en una FPGA. Pa a
simpli ica el diseño, dispone de an emano del diseño del mul iplicado 4x4 sal o del diseño de la
unidad de con ol. El alumno debe á in oduci el esquemá ico de la unidad de con ol y simula el
ci cui o comple o. En la igu a 8 se mues a una cap u a del esquemá ico del mul iplicado 4x4. En ella
odos los bloques han sido desc i os en VHDL. Además de los bloques p opios del mul iplicado se han
in oducido dos bloques, “con olado leds” y “con olado 7seg” que si en pa a mos a las señales de
salida del mul iplicado en los leds y el display sie e segmen os de la placa de desa ollo. De es a o ma
los da os a mul iplica son in oducidos u ilizando los conmu ado es que iene la placa. algunas de las
señales in e nas son isualizadas u ilizando leds y los da os de en ada así como la salida se isualizan
u ilizando los displays 7-segmen os.
DBBLE
←
Cou .SUML[0]
CEBBLE
SUML[0]
SUMH ¨ A + SUMH
WSUMH
10
SUMH
←
SHR(SUMH, q
DBBLE
), SUML
←
SHR(SUML,SUMH[0]),
CESUMH CESUML
CONT
←
CONT + 1
CECONT
FIN
1
0
CY
XSCICLO
A
←
0, SUMH
←
0, SUML
←
0, CONT
←
0, DBBLE
←
0
CLSINR
A
←
DATA[3:0], SUML
←
DATB[3:0]
WA WSUML
1
0
a S
0
S
0
S
1
S
2
S
3
S
4
Figu a 6. Ca a ASM de la unidad de con ol.
6. Conclusiones
Es a expe iencia se ha desa ollado con mucho éxi o en el cu so 2004/2005. Los alumnos e minan
oda la expe iencia en dos ho as y salen muy mo i ados e ilusionados an o po ‘habe manejado’ la
he amien a de Xilinx, la FPGA y la placa de desa ollo, como po habe comp obado que el
mul iplicado unciona según los da os y señales de con ol es udiados eó icamen e.
Re e encias
[1]
Albe o Molina, Se gio Díaz, Jose I. Escude o, “Es uc u a y Tecnología de Compu ado es”, Ed. Panella, 2004
.
[2] Mo is Mano, Cha les Kime, “Fundamen os de Diseño Lógico y Compu ado as”, Pea son Educación, 2005.
[3] Xilinx ISE WebPack: www.xilinx.com
Figu a 8. Esquemá ico del mul iplicado en la he amien a de Xilinx.