Anda di halaman 1dari 19

DEPARTAMENTO DE TECNOLOGA ELECTRNICA

ESCUELA TCNICA SUPERIOR DE INGENIERA INFORMTICA


Multiplicador Secuencial 4x4
Enunciados de Prcticas de Laboratorio
Estructura de Computadores
1. Introduccin y objetivos
El propsito generl !e est sesin !e l"ortorio es operr #on siste$s !igitles $o!ernos% Este
propsito se #on#ret en los sig&ientes o"'eti(os)
Cono#er #$o oper &n siste$ !igitl #on l estr&#t&r *Uni!! !e Dtos + Uni!! !e Control,%
En prti#&lr- el siste$ prop&esto reli. l $&ltipli##in !e !os n/$eros "inrios A + 0 !e
#&tro "its $e!inte el lgorit$o "s!o en s&$s + !espl.$ientos l !ere#1%
Desrrollr ls 1"ili!!es !e !ise2o e i$ple$ent#in% Pr ello el l&$no !e"er3 !es#ri"ir en
4erilog el $&ltipli#!or- !e 5or$ estr&#t&rl- #o$o l inter#one6in !e &n &ni!! !e !tos + &n
&ni!! !e #ontrol% L &ni!! !e !tos se le propor#ion #o$plet$ente espe#i5i#!- $ientrs
7&e l &ni!! !e #ontrol !e"er3 #o$pletrl el l&$no prtir !e l #rt ASM *!e #ontrol, 7&e
se le 5#ilit totl$ente ter$in!%
I$ple$entr el $&ltipli#!or- pr lo #&l se (ol#r3 el !ise2o !el siste$ !igitl so"re &n #1ip
FPGA instl!o en &n pl# !e !esrrollo%
Co$pro"r l i$ple$ent#in !el $&ltipli#!or reli.! so"re l FPGA- tnto ni(el !e
$i#rooper#iones #o$o ni(el !e $#rooper#in &sn!o los p&ls!ores- #on$&t!ores + el
!ispl+ !e l pl# !e !esrrollo%
Pr l reli.#in !e est pr3#ti# !e l"ortorio se 5#ilitn &n #on'&nto !e 5i#1eros% L t"l 8
res&$e el #onteni!o + el o"'eti(o !e #! &no !e ellos%
Re(% 9%8:
Estructura de Computadores 2
Nombre del
fichero
Contenido Descripcin
&;#ontrol%(
Uni!! !e #ontrol !el
$&ltipli#!or%
De"e #o$pletrlo el l&$no !&rnte l
sesin !e l"ortorio%
&;!tos%(
Uni!! !e !tos !el
$&ltipli#!or%
De"e &tili.rlo sin $o!i5i##iones pr
#one#trlo l &ni!! !e #ontrol%
$&ltipli#!or%(
M&ltipli#!or se#&en#il
5or$!o por &ni!! !e !tos +
&ni!! !e #ontrol%
De"e #o$pletr l !es#rip#in estr&#t&rl
!e este $!&lo !&rnte l sesin !e
l"ortorio%
$&ltipli#!or;t"%( Test"en#1 pr $&ltipli#!or%
De"e &tili.rlo sin $o!i5i##iones pr
reli.r l si$&l#in%
siste$;#o$pleto%(
Siste$ #o$pleto pr
i$ple$entr en el #1ip FPGA%
Se &tili.r3 sin $o!i5i##iones !&rnte l
5se !e i$ple$ent#in%
"s+s<%&#5
Fi#1ero #on l rel#in entre ls
se2les !el siste$ + los pines
!el #1ip FPGA !e l pl# !e
!esrrollo BASYS2%
Se &tili.r3 sin $o!i5i##iones !&rnte l
5se !e i$ple$ent#in%
Tabla 1. Ficheros necesarios durante la sesin de laboratorio.
2. Descripcin del multiplicador secuencial
El $&ltipli#!or se#&en#il tiene l estr&#t&r t=pi# !e &n siste$ !igitl orgni.!o en &ni!! !e
!tos + &ni!! !e #ontrol%
Des!e el p&nto !e (ist !e l !es#rip#in 4erilog- el $&ltipli#!or ser3 &n $!&lo !es#rito !e 5or$
estr&#t&rl- inter#one#tn!o &n instn#i !e l &ni!! !e #ontrol + &n instn#i !e l &ni!! !e !tos-
tl + #o$o $&estr l 5ig&r 8%
!NIDAD
DE
CONTROL
6s
SUML:
#l>
#+#ont
reset
!NIDAD
DE
DATO"
?s&$1
&p#ont
#l>
?s&$l
s1rs&$
?
@
!toAAB):C
@
!to0AB):C
res&ltAD):C
#+#ont
E
AB):C
"AB):C
reset
5in
$&ltAD):C
$&ltA:C
6s
Se $&estrn !e #olor
ro'o ls entr!s !el
$&ltipli#!or + !e
#olor .&l ls sli!s%
#lini#io
#l#
?#
?s&$1
&p#ont
?s&$l
s1rs&$
?
#lini#io
#l#
?#
5in
Fi!ura 1. "epresentacin estructural del mdulo #erilo! multiplicador.
Estructura de Computadores $
Des!e el p&nto !e (ist !e &n &s&rio !el $&ltipli#!or- el 5&n#ion$iento ser= el sig&iente)
Antes !e e$pe.r &srlo por pri$er (e. es ne#esrio #ti(r l se2l !e FresetF- 7&e es
s=n#ron- pr lle(r l &ni!! !e #ontrol l est!o ini#il% A prtir !e ese $o$ento es posi"le
soli#itrle l $&ltipli#!or 7&e 1g ls $&ltipli##iones 7&e se !eseen%
Pr e5e#t&r &n $&ltipli##in el &s&rio #olo# en ls entr!s FF + F"F los !os n/$eros
$&ltipli#r + #ti( l entr! F6sF !&rnte &n #i#lo !e relo'- pr in!i#rle l $&ltipli#!or 7&e
!e"e e$pe.r el pro#eso !e $&ltipli##in%
A prtir !e este $o$ento- !&rnte (rios #i#los !e relo'- l &ni!! !e #ontrol ( #ti(n!o ls
se2les #orrespon!ientes pr 7&e los ele$entos !e l &ni!! !e !tos (+n e'e#&tn!o ls
!i(erss $i#roGoper#iones en ls 7&e se 1 !es#o$p&esto l oper#in !e $&ltipli##in%
C&n!o l &ni!! !e #ontrol ! por #on#l&i!o el pro#eso !e $&ltipli##in- Hst #ti( l sli!
F5inF pr 7&e el &s&rio sep 7&e l $&ltipli##in 1 ter$in!o + 7&e el !to 7&e 1+ #olo#!o
en l sli! F$&ltF es el res&lt!o #orre#to !e l $is$%
2.1. Algoritmo de multiplicacin basado en sumas y desplaamientos
Pr reli.r l $&ltipli##in !e !os n/$eros "inrios !e @ "its- A + 0- el $&ltipli#!or ( seg&ir
&n lgorit$o "s!o en s&$s + !espl.$ientos l !ere#1% A #ontin&#in se e6pli# en !etlle este
pro#e!i$iento%
Si nos 5i'$os en l prte s&perior !e l 5ig&r <- en el 7&e se $&estr l $&ltipli##in !e !os
n/$eros "inrios IAJ888: + 0J8:8:K- (e$os 7&e el pro#e!i$iento !e $&ltipli##in tr!i#ionl
#onsiste en reli.r &n s&$ #&+os s&$n!os se (n !espl.n!o l i.7&ier!% A!e$3s- l trtrse !e
!tos "inrios- los s&$n!os !e est s&$ slo p&e!en ser el pri$er opern!o !e l $&ltipli##in Iel
n/$ero AK o "ien el #ero%
El lgorit$o !e $&ltipli##in !e s&$s + !espl.$ientos prop&esto #onsiste en o"tener el
res&lt!o 5inl !e l s&$ $e!inte &n pro#eso iterti(o en el 7&e se (n 1#ien!o pe7&e2s s&$s
si$ples Is&$s pr#ilesK- !e ls #&les se ( o"tenien!o &n res&lt!o pr#il 7&e sir(e !e p&nto !e
prti! l sig&iente iter#in !el pro#eso% En l /lti$ iter#in el res&lt!o pr#il o"teni!o es + el
res&lt!o 5inl%
En l prte in5erior !e l 5ig&r < se $&estr &n e'e$plo !e $&ltipli##in !e !os n/$eros "inrios
IAJ888: + 0J8:8:K sig&ien!o pso pso el lgorit$o !e s&$s + !espl.$ientos%
8% P#so $% En el pso 8 se le !r3 &n (lor ini#il los E "its !el res&lt!o pr#il% Los #&tro
pri$eros se ponen :::: + los #&tro /lti$os son el (lor !el opern!o 0 I5='ese $3s !elnte
en 7&e estos /lti$os #&tro "its se Fpier!enF to!os trs #"r el lgorit$oK% Trs este pso 8 se
( entrr en &n pro#eso iterti(o en el 7&e se reli.r3n los psos < + B #&tro (e#es seg&i!s-
tr"'n!o so"re el res&lt!o pr#il o"teni!o en los psos nteriores%
<% P#so &% En el pso < se nli.r3 el (lor !e &no !e los "its !el opern!o 0 Iel 7&e se $&estr
s&"r+!o en #! &no !e los Fpsos <F !e l 5ig&r <K% Este "it lo tene$os sie$pre !isponi"le en
Estructura de Computadores %
l posi#in $enos signi5i#ti( !el res&lt!o pr#il !e E "its% Depen!ien!o !e si el (lor !el "it
nli.!o Iel s&"r+!oK es : o es 8- en el pso < se 1r3 &no !e los !os ##iones sig&ientes)
<%8 Si el "it nli.!o !el !to 0 es 8- se le s&$ el (lor !el opern!o A los #&tro "its
$3s signi5i#ti(os !el res&lt!o pr#il !e E "its% Esto nos ! &n res&lt!o pr#il !e L "its-
!on!e el "it $3s signi5i#ti(o es el "it !e #rr+ !e l s&$%
<%< Si el "it nli.!o !el !to 0 es :- se le s&$ :::: los #&tro "its $3s
signi5i#ti(os !el res&lt!o pr#il !e E "its% Esto nos ! &n res&lt!o pr#il !e L "its-
!on!e el "it $3s signi5i#ti(o es el "it !e #rr+ !e l s&$- 7&e sie$pre ser3 :- p&es s&$r
:::: n&n# pro(o# #rreo% M+ 7&e !rse #&ent !e 7&e en reli!! en este #so nos
po!r=$os 1orrr 1#er l s&$ +- si$ple$ente- li$itrnos 2!ir !ire#t$ente &n : por
l i.7&ier! l res&lt!o pr#il !e E "its pr o"tener el res&lt!o pr#il !e L "its%
B% P#so '% En el pso B lo /ni#o 7&e se 1#e es !espl.r &n "it l !ere#1 los L "its !el
res&lt!o pr#il !el pso <% Esto 1#e 7&e se pier! &n "it Iel "it !el opern!o 0 7&e se
#ons&lt en el pso < nteriorK + 7&e (ol($os tener &n res&lt!o pr#il !e E "its &"i#!o en
l posi#in en 7&e se en#ontr" originl$ente el res&lt!o pr#il !e E "its 7&e ten=$os ntes
!el pso <% Si + 1e$os 1e#1o @ (e#es los psos < + B- el res&lt!o pr#il es el res&lt!o 5inl !e
l $&ltipli##in + si no p&es se (&el(en repetir otr (e. los psos < + B 1st llegr @ (e#es%
A=1110 1110
B=0101 0101

1110
0000
1110
+ 0000

01000110
Procedimiento de multiplicacin tradicional
Al!oritmo de sumas & despla'amientos
1110
0101

00000101
Paso 1.Inicio

1110
0101

00000101
+ 1110

011100101
Paso 2.Sumar

1110
0101

01110010

Paso 3.Desplazar

1110
0101

01110010
+ 0000

001110010
Paso 2.Sumar

1110
0101

00111001

Paso 3.Desplazar

1110
0101

00111001
+ 1110

100011001
Paso 2.Sumar

1110
0101

10001100

Paso 3.Desplazar

1110
0101

10001100
+ 0000

010001100
Paso 2.Sumar

1110
0101

01000110

Paso 3.Desplazar
Fi!ura 2. Al!oritmo de multiplicacin mediante sumas & despla'amientos.
Estructura de Computadores (
2.2. !nidad de datos del multiplicador
L &ni!! !e !tos prop&est pr &n $&ltipli#!or se#&en#il "s!o en el lgorit$o !e s&$s +
!espl.$ientos !es#rito en l se##in <%8 se $&estr en l 5ig&r B%
Se !ispone !e &n registro !e &n "it- ll$!o C- + !os registros !e !espl.$iento !e @ "its- ll$!os
SUMM + SUML% L pre' !e registros SUMM + SUML #onten!r3 el res&lt!o pr#il !el lgorit$o
#&n!o este se #o$pong !e E "its Itrs el pso 8 + trs el pso B !el lgorit$oK% El registro C #onten!r3
el no(eno "it !el res&lt!o pr#il- #&n!o Hste se #o$pong !e L "its Itrs el pso < !el lgorit$oK% Los
tres registros '&ntos (n per$itir 1#er el !espl.$iento !e &n "it !es#rito en el pso B !el lgorit$o%
Otros ele$entos i$portntes son &n registro A- !e @ "its- pr #ontener l opern!o A- + &n s&$!or
!e @ "its pr s&$r A #on SUMM- tl + #o$o !i#e el lgorit$o 7&e 1+ 7&e 1#er%
Por /lti$o- se tiene &n #ont!or !e $!&lo @- ll$!o CONT- 7&e ( per$itir lle(r l #&ent !e ls
@ iter#iones 7&e !i#e el lgorit$o 7&e 1+ 7&e reli.r so"re los psos < + B !el $is$o%
AA@C
#l
@
!toAAB):C
?
#l>
?
:
S&$!or @ "its
"
res
SUMMA@C
#l
?
#l>
s1rs&$
#lini#io
s1r
sri
?s&$1
SUMLA@C
#l
?
#l>
s1rs&$
:
s1r
sri
?s&$l
res&ltAB):C
res&ltA@C
#o&t
CONT
$o! @
#l
&p &p#ont
#lini#io
#l>
#+ #+#ont
!in
!o&t
!in
!o&t !o&t
!in
@
!to0AB):C
@
@
@
@
CA8C
#l
?
#l>
?#
#l# !in
!o&t
Se $&estrn !e #olor
ro'o ls entr!s !e l
&ni!! !e !tos + !e
#olor .&l ls sli!s%
res&ltAD)@C
@
res&ltAD)@C
Fi!ura $. "epresentacin estructural del mdulo #erilo! u"datos )unidad de datos del multiplicador*.
L !es#rip#in RT !e los ele$entos !e l 5ig&r B se $&estr en l 5ig&r @%
Estructura de Computadores +
cl( cl ) Oper#cin de escrit*r#
8 : R :
6 8 R !in
: : R R
"e!istros con car!a en paralelo )A & C*
cl( cl ) shr Oper#cin de escrit*r#
8 : : R :
6 8 : R !in
6 6 8 R SMRIR-sriK
: : : R R
"e!istros de despla'amiento )S,-. & S,-L*
cl( cl *p Oper#cin de escrit*r#
8 : CONT :
6 8 CONT CONTN8
: : CONT CONT
Contador mdulo %
Todas las operaciones de escritura son s/ncronas0 incluso
las de puesta a cero )se1al de control 2cl2*.
Todas las operaciones de lectura son incondicionales por
lo 3ue nin!una salida es tri4estado.
Los re!istros & el contador muestran siempre en su bus
de salida el 5alor actual del dato almacenado.
El contador muestra0 adems0 un 1 en su salida 2c&2
cuando el dato almacenado es 1111 & un 6 en otro caso.
Fi!ura %. 7escripcin "T de los componentes de la unidad de datos.
2.#. !nidad de control del multiplicador
L &ni!! !e #ontrol !el $&ltipli#!or es l en#rg! !e lle(r #"o el lgorit$o !e s&$s +
!espl.$ientos !es#rito en l se##in <%8% Pr ello- l &ni!! !e #ontrol !e"e #o$&ni#rse #on l
&ni!! !e !tos prop&est I(er 5ig&r BK- re#i"ien!o se2les !e est!o + en(i3n!ole se2les !e #ontrol%
Con#ret$ente- el #o$port$iento !e l &ni!! !e #ontrol- &n (e. re#i"i! l se2l F6sF !e p&est
en $r#1- po!r= ser el sig&iente)
8% P#so $% Or!enr l p&est #ero ini#il !el registro registro SUMM Itl + #o$o re7&iere el
lgorit$oK + !el #ont!or CONT Ipr e$pe.r !es!e #ero l #&ent !e ls @ iter#ionesK% En este
$is$o pso se reli. &n #rg en prlelo !e los !tos datoA + datoB en los registros A + SUML
respe#ti($ente% Al #"r el pso 8 ten!re$os en SUMM + SUML el pri$er res&lt!o pr#il !e
E "its so"re el 7&e 1#er ls @ iter#iones%
<% P#so &) Anli.r el (lor !e &no !e los "its !el datoB Iel "it 7&e est3 #t&l$ente en l posi#in
$enos signi5i#ti( !el registro SUMLK +- en 5&n#in !e s& (lor- 1#er lo sig&iente)
<%8% Si el "it es 8 se reli. &n s&$ !el !to !el registro A #on el !to presente en el registro
SUMM- o"teniHn!ose &n res&lt!o !e @ "its + &n "it !e #rr+% Los @ "its !el res&lt!o se
g&r!r3n en el $is$o registro SUMM + el "it !e #rreo se g&r!r3 en el registro C%
<%<% Si el "it es :- es#ri"ire$os &n : en el registro C% Esto es e7&i(lente s&$r :::: SUMM-
g&r!r el res&lt!o !e @ "its en SUMM + g&r!r el #rreo I7&e ser3 :K en el registro C%
En #&l7&ier !e los !os #sos nteriores- l #"r el pso < los registros C- SUMM + SUML
#onten!r3n los L "its !el n&e(o res&lt!o pr#il%
B% P#so '% Trs el pso nterior- en el pso B se (n !espl.r &n "it l !ere#1 los L "its !el
res&lt!o pr#il !e L "its #onteni!o en los registros C- SUMM + SUML% Por tnto- l 5inli.r este
pso- en SUMM + SUML ten!re$os l$#en!o el n&e(o res&lt!o pr#il !e E "its% Se ! or!en
l #ont!or CONT !e 7&e in#re$ente s& (lor I#os 7&e 1r3 l ter$inr este psoK% Si el (lor
Estructura de Computadores 8
#t&l !e CONT en este pso es B Is& #rr+ (le 8K esto in!i# 7&e + 1e$os 1e#1o @ (e#es los
psos < + B- s= 7&e se sltr= l pso @ + !e lo #ontrrio se repetir=n los psos < + B n&e($ente%
@% P#so +% 4eni$os !el pso B- l&ego SUMM + SUML #ontienen &n (lor !e E "its 7&e es el res&lt!o
!e l $&ltipli##in !e los !tos datoA + datoB% Se #ti( l se2l F5inF pr in!i#rle l &s&rio
7&e l $&ltipli##in 1 #on#l&i!o% Se (&el(e &n est!o !e esper !el #&l no sl!re$os 1st
7&e se pro!&.# &n n&e( #ti(#in !e l se2l F6sF%
Si !es#ri"i$os este $is$o #o$port$iento !e l &ni!! !e #ontrol en l&gr !e #on pl"rs
$e!inte &n #rt ASM- el res&lt!o ser= l #rt ASM $ostr! en l 5ig&r 9%
A prtir !e est #rt ASM se p&e!e o"tener !ire#t$ente l !es#rip#in pro#e!i$entl en 4erilog
!e l &ni!! !e #ontrol Iel $!&lo u9controlK- tre 7&e !e"er3 reli.r el l&$no !&rnte l sesin !e
l"ortorio%
6s
SUMMO:- CONTO:- AO!toA- SUMLO!to0
#lini#io- ?- ?s&$l
SUML:
8


SUMMOSMRISUMM-CK- SUMLOSMRISUML-SUMMA:CK- CONTOCONTN8
s1rs&$- &p#ont
:
CO:
#l#
SUMMOANSUMM- CO#o&t
?s&$1- ?#
8
:
#+#ont
8
:
S:
S8
S<
SB
5in SF
Se $&estrn !e #olor
ro'o ls entr!s !e l
&ni!! !e #ontrol + !e
#olor .&l ls sli!s%
Fi!ura (. Carta AS- :de datos; & :de control; del multiplicador secuencial.
Estructura de Computadores <
2.4. Sistema completo en la placa de desarrollo
Pr pro"r el !ise2o !igitl reli.!o se &tili.r3 &n pl# !esrrollo !el 5"ri#nte Digilent
8
ll$! BASYS2 7&e in#l&+e &n #1ip FPGA !e 8::%::: p&erts I$o!elo PCBS8::EK + lg&nos
#o$ponentes ele#trni#os pr po!er reli.r &n entr! + sli! "3si#- #o$o por e'e$plo E
#on$&t!ores- @ !ispl+s !e D seg$entos- E le!s + @ p&ls!ores- entre otros% Pr po!er inter#t&r #on
el siste$ &tili.n!o l pl# !e !esrrollo- es ne#esrio 2!ir l !ise2o &n pro#e!i$iento pr
intro!&#ir los !tos $&ltipli#r- po!er (is&li.r los res&lt!os + #ons&ltr el est!o !el siste$%
Me!inte (rios $!&los !es#ritos en 4erilog + + prepr!os I5i#1ero sistema9completo.5K se 1
#onstr&i!o &n siste$ !igitl #o$o el in!i#!o !e $ner es7&e$3ti# en l 5ig&r Q% Est 5ig&r
$&estr el $!&lo multiplicador #onstr&i!o por el l&$no- #one#t!o &n $!&lo #p. !e #ontrolr el
!ispl+ D seg$entos% Este #ontrol!or #onst !e @ entr!s !e @ "its I!B- !< !8 + !:K #orrespon!iHn!ose
en ese or!en #on los @ !=gitos !el !ispl+ I!e i.7&ier! !ere#1K% A!e$3s- se 1 #one#t!o el relo'
F#l>F- l se2l F6sF + l se2l FresetF tres p&ls!ores pr po!er #ontrolr el 5&n#ion$iento !el siste$
$n&l$ente% L se2l F5inF + el relo' llegn &n $!&lo 7&e #ontrol los le!s pr po!er (is&li.r el
e5e#to !e l p&ls#in !el "otn so#i!o l relo' e in!i#r l 5inli.#in !e l $&ltipli##in% Por /lti$o-
los !tos A + 0 se p&e!en intro!&#ir en "inrio $e!inte los E #on$&t!ores represent!os en l prte
s&perior i.7&ier!% O"ser(e en l 5ig&r #o$o los !tos AJ888: + 0J:8:8 #o!i5i#!os en los
#on$&t!ores se $&estrn en 1e6!e#i$l en ls !os pri$ers posi#iones !el !ispl+ #o$o FEF + F9F%
control#dor,displ#-
!BAB):C
!p
#l>
@
#tAQ):C nAB):C
m*ltiplic#dor
6s
reset
@
AB):C
@
"AB):C
$&ltAD):C
5in
!<AB):C
@
!8AB):C
@
!:AB):C
@
D @
control#dor,leds
$&ltAD)@C
$&ltAB):C
E
"oton6s "otonreset "oton#l>
#l>
"e.#l de relo/
de 01M23
4ener#d# por
l# pl#c# 5A"6"&
Fi!ura +. Es3uema del mdulo #erilo! sistema"completo conectado a los elemento de la placa BASYS2.
8 E$pres !e!i#! l !ise2o en te#nolog=s "s!s en FPGA + $i#ro#ontrol!ores% Re") 1ttp)SS???%!igilentin#%#o$
Estructura de Computadores =
#l>
reset
6s
Dto A Dto 0
A 0 MULT
Le!s
Con$&t!or
!e en#en!i!o
Mo!o
!e
progr$#in
C1ip FPGA
Fi!ura 8. Foto!ra>/a de la placa de desarrollo BASYS2
L 5ig&r D $&estr &n 5otogr5= !e l pl# !e !esrrollo !on!e p&e!e (er el spe#to rel !e
lg&nos !e los ele$entos represent!os en l 5ig&r Q% De #&er!o !i#1 5ig&r- p&e!e (er 7&e los @
pri$eros #on$&t!ores per$iten intro!&#ir en "inrio el !to A- 7&e se representr3 en to!o $o$ento-
en 1e6!e#i$l en el pri$er !=gito !el !ispl+% Con el !to 0 s&#e!e lo $is$o- slo 7&e #on los /lti$os
#&tro #on$&t!ores + el seg&n!o !=gito !el !ispl+% El res&lt!o I5or$!o por SUMM + SUMLK se ir3
$ostrn!o #i#lo #i#lo !e relo' en los !os /lti$os !=gitos !el !ispl+% Los "otones se2l!os en l 5ig&r
intro!&#en &n 8 lgi#o #&n!o se p&lsn + est3n #one#t!os ls se2les FresetF- F6sF- + F#l>F !el $!&lo
multiplicador%
Pr operr- lo pri$ero reli.r es signrle (lor los !tos A + 0 &sn!o los #on$&t!ores%
El pro#e!i$iento pr 1#er 7&e l &ni!! !e #ontrol slg !el est!o !e esper S: #onsiste en
p&lsr en pri$er l&gr el "otn F6sF +- sin le7#nt#r el dedo !e Hl- p&lsr &n (e. el "otn F#l>F% Esto
1#e 7&e el siste$ (n#e 1#i el est!o S8 + e$pie#e $&ltipli#r% En este $o$ento !e"er= (er &n
/ni#o LED en#en!i!o I+ p&e!e le(ntr el !e!o !el "otn F6sFK + prtir !e 1or- #! (e. 7&e p&lse el
"otn F#l>F el LED en#en!i!o #$"ir3 !e posi#in $o(iHn!ose 1#i l !ere#1- $ientrs el siste$ (
opern!o #i#lo #i#lo + #$"in!o !e est!o%
Si el siste$ est3 opern!o #orre#t$ente- trs #! p&ls#in !e F#l>F los !os /lti$os !=gitos ir3n
$ostrn!o el res&lt!o pr#il !e l $&ltipli##in% C&n!o el $&ltipli#!or #ti(e l se2l !e F5inF se
il&$inr3n to!os los LEDs in!i#n!o 7&e 1 ter$in!o l $&ltipli##in% En este $o$ento los !os
/lti$os !=gitos !el !ispl+ estr3n $ostrn!o Ien 1e6!e#i$lK el res&lt!o 5inl% Por e'e$plo- si
$&ltipli#$os AJ888: por 0J:8:8- #&+o res&lt!o 5inl es :8:::88:- el !ispl+ $ostrr3 FE9@QF l
ter$inr- p&esto 7&e FEF por F9F ! #o$o res&lt!o F@QF Ito!os ellos n/$eros 1e6!e#i$lesK%
Si sospe#1 7&e l &ni!! !e #ontrol !el $&ltipli#!or est3 en &n est!o in#orre#to- p&e!e p&lsr el
"otn !e FresetF pr 1#er 7&e l &ni!! !e #ontrol (&el(- !e 5or$ s=n#ron- l est!o ini#il S:%
Estructura de Computadores 16
#. $studio experimental
Pr po!er reli.r el est&!io e6peri$entl !e"e est&!ir pre(i$ente l !es#rip#in !el
$&ltipli#!or se#&en#il 7&e pre#e en l se##in <% C&n!o lo 1+ 1e#1o p&e!e pro#e!er #on l prte
e6peri$entl !e l pr3#ti#- 7&e !e 5or$ es7&e$3ti# po!r= res&$irse s=)
8% Co$pletr + (eri5i#r el $&ltipli#!or%
8%8% Crer &n pro+e#to en el entorno ISE%
8%<% A2!ir los @ r#1i(os 4erilog !el $&ltipli#!or%
8%B% Co$pletr el $!&lo 4erilog !e l &ni!! !e #ontrol%
8%@% Co$pletr l !es#rip#in estr&#t&rl en 4erilog !el $&ltipli#!or%
8%9% Si$&lr el $&ltipli#!or pr (eri5i#r s& #orre#to 5&n#ion$iento%
<% Reli.r l i$ple$ent#in !el siste$ #o$pleto en &n #1ip FPGA + (eri5i#r s& 5&n#ion$iento%
A #ontin&#in se !etlln los psos seg&ir pr reli.r #! &no !e los prt!os%
#.1. %ompletar y veri&icar el multiplicador
Pr #o$pletr el !ise2o !el $&ltipli#!or + (eri5i#r s& 5&n#ion$iento sig los sig&ientes psos)
8% Cree &n n&e(o pro+e#to (#=o en el entorno ISE sig&ien!o los $is$os psos !e l sesin !e
l"ortorio nterior% Pro#&re !rle &n no$"re !istinti(o Ipor e'e$plo s& no$"re propioK por7&e
$3s !elnte en l pr3#ti# !e"er3 lo#li.r est #rpet !entro !el !is#o !&ro%
El mdulo TEST_multiplicador
debe aparecer como raz del
rbol de mdulos del proyecto.
La vista de simulacin
debe estar seleccionada.
En el rbol de mdulos se ven todos
los mdulos del proyecto.
Se indica entre parntesis en qu
archivo est deinido cada mdulo! de
los " que se han a#adido al proyecto.
Fig&r E% 4ist !e si$&l#in #on los @ r#1i(os 7&e se 1n 2!i!o l pro+e#to%
<% Sele##ione l (ist !e sim*l#cin en el pro+e#to tl + #o$o se $&estr en l prte s&perior !e l
5ig&r E% A2! l pro+e#to los @ 5i#1eros 7&e se $&estrn #ontin&#in $e!inte l op#in A!!
So&r#e Io A!! Cop+ o5 So&r#eK !entro !el $en/ Pro'e#t)
<%8% Fi#1ero u9datos.5) A23!lo #o$o All% No ne#esitr3 $o!i5i#r s& #onteni!o%
Estructura de Computadores 11
<%<% Fi#1ero u9control.5) A23!lo #o$o All. M3s !elnte !e"er3 e!itrlo pr #o$pletrlo%
<%B% Fi#1ero multiplicador.5) A23!lo #o$o All% M3s !elnte !e"er3 e!itrlo pr #o$pletrlo%
<%@% Fi#1ero multiplicador9tb.5) A23!lo #o$o Simulation% No ne#esitr3 $o!i5i#r s& #onteni!o%
Trs 2!ir los @ 5i#1eros- #o$pr&e"e 7&e el $!&lo ll$!o TEST9multiplicador0 7&e es el
test"en#1 !el $!&lo multiplicador- pre#e en l r=. !el 3r"ol !e $!&los tl + #o$o $&estr l
5ig&r E% Es nor$l 7&e l 2!ir los @ r#1i(os en l #onsol se le $&estre lg/n $ens'e !e
error- p&es 1+ r#1i(os 7&e est3n in#o$pletos + #ontienen errores sint3#ti#os 7&e !e"er3
#orregir $3s !elnte !&rnte el !esrrollo !e l pr3#ti#%
module u_control(
input wire xs, reset, !"#0, c$cont, cl%,
output re& clinicio, clc, wc, w', wsum(, wsuml, s(rsum, upcont, )in
*+
,, -ecl'r'ci.n de l' list' de est'dos de l' c'rt' A"/
,, -e0e 12"3#45A6#A con los est'dos 7ue )'lt'n en l' list'/
p'r'meter 0 = 890000,
// COMPLETE CON LOS ESTADOS QUE FALTAN
// COMPLETE CON LOS ESTADOS QUE FALTAN
// COMPLETE CON LOS ESTADOS QUE FALTAN
: = 890100+

,, -ecl'r'ci.n de l's ;'ri'0les est'do_'ctu'l $ si&uiente_est'do/
// Debe COMPLETARLA para que tengan el TAMAO CORRECTO.
re& < =0> est'do_'ctu'l, si&uiente_est'do+
,, 3roceso de c'm0io de est'do/ !tili?' l's ;'ri'0les de)inid's pre;i'mente/
'lw'$s @(posed&e cl%,posed&e reset*
i)(reset*
est'do_'ctu'l A= 0+
else
est'do_'ctu'l A= si&uiente_est'do+
,, 3roceso com0in'cion'l 7ue c'lcul' l's s'lid's $ el proximo est'do/
,, -e0e 12"3#45A6#2 con l' in)orm'ci.n o0tenid' ' p'rtir de l' c'rt' A"/
'lw'$s @(B*
0e&in
,, 3onemos ' 0 tod's l's s'lid's, p'r' 7ue dentro del 9c'se9 solo ('$'
,, 7ue modi)ic'r el ;'lor de l's s'lid's 7ue ten&'n 7ue ponerse ' 1/
clinicio=0+ clc=0+ wc=0+ w'=0+ wsum(=0+ wsuml=0+ s(rsum=0+ upcont=0+ )in=0+
,, 3onemos 9si&uiente_est'do9 ' 0 p'r' 7ue dentro del 9c'se9 solo ('$' 7ue
,, modi)ic'r 9si&uiente_est'do9 cu'ndo ten&' 7ue ponerse ' un ;'lor distinto de 0/
si&uiente_est'do = 0+

c'se (est'do_'ctu'l*
0=
i)(xs*
si&uiente_est'do = 1+
// COMPLETAR, n!lu"en#$ el re%t$ #e e%ta#$% #e la !arta ASM.
// Obtenga la n&$r'a!(n ne!e%ara a partr #e la !arta ASM.

endc'se
end ,, (del 'lw'$s*
endmodule
Fra!mento de cdi!o 1. Fichero u9control.5 con el dise1o )incompleto* de la unidad de control
Estructura de Computadores 12
B% El sig&iente pso es #o$pletr el 5i#1ero u9control.5 I$ostr!o en el 5rg$ento !e #!igo 8K%
Re#&er!e 7&e p&e!e "rir #&l7&ier r#1i(o pr e!itrlo 1#ien!o !o"le #li#> so"re Hl en el 3r"ol
!e $!&los !el pro+e#to% El o"'eti(o es #o$pletr l !es#rip#in pro#e!i$entl 4erilog !e l #rt
ASM 7&e !es#ri"e el 5&n#ion$iento !e l &ni!! !e #ontrol% Le ls in!i##iones presentes en los
#o$entrios !el r#1i(o u9control.5 + #o$plete to!o lo 7&e se pi!e en Hl 5i'3n!ose tent$ente en
l #rt ASM 7&e est3 i$ple$entn!o + 7&e p&e!e (er en l 5ig&r 9- en l #&l est3n #lr$ente
$r#!os los no$"res !e ls #'s !e est!o + los no$"res !e ls entr!s + sli!s !e l &ni!!
!e #ontrol% De 5or$ res&$i!- ls tres son ests tres)
B%8% Co$pletr l !e#lr#in FparameterF #on los est#dos 8*e f#lt#n !e l #rt ASM%
B%<% De#lrr ls (ri"les Festado9actualF + Fsi!uiente9estadoF #on s& t#m#.o correcto%
B%B% Co$pletr l# descripcin del comport#miento de c#d# est#do en l senten#i Fcase2%
Sig !elnte solo #&n!o l e5e#t&r &n Beha5ioral Chec? S&nta@ so"re este $!&lo- en l
#onsol no (e$os ning/n error ni ning/n (iso I?rningK%
module multiplic'dor(
input wire <8=0> ', ,, 4ntr'd' del d'to A
input wire <8=0> 0, ,, 4ntr'd' del d'to B
input wire cl%, ,, 6eloC del multiplic'dor
input wire xs, ,, eD'l de comien?o (p'r' l' !/ de 1ontrol*
input wire reset, ,, 6eset 'sEncrono del sistem' (p'r' l' !/ de 1ontrol*
output wire )in, ,, eD'l de )in de oper'cion
output wire <F=0> mult ,, 6esult'do multiplic'ci.n (solo es ;Glido 'l 'cti;'rse 9)in9*
*+
// Aqu) #ebe #e&nr * !able% ntern$%, !a#a un$ #e un %$l$ bt,
// para e&e!tuar la% !$ne+$ne% entre la n%tan!a #el '(#ul$
// ,u-!$ntr$l, " la n%tan!a #el '(#ul$ ,u-#at$%,.
// Pue#e #arle l$% n$'bre% que quera %e'pre que n$ %e e%t.n u%an#$ "a.
// Aqu) #ebe !rear una n%tan!a #el '(#ul$ ,u-#at$%,.
// U%e ,/NST-u-#at$%, para el n$'bre #e la n%tan!a.
// Al !rear la n%tan!a #ebe !$ne!tar %u% entra#a% " %al#a%
// a algun$ #e l$% !able% ntern$% que 0a #e&n#$ arrba " ta'b.n
// a algun$ #e l$% puert$% #e entra#a " #e %al#a #el ,'ultpl!a#$r,
// A"1#e%e #e la% &gura% que apare!en en el 'anual #e la pr2!t!a.
// Ta'b.n pue#e abrr el ar!03$ ,u-#at$%.3, para 3er la
// #e&n!(n e+a!ta #e la% entra#a% " %al#a% #el '(#ul$ ,u-#at$%,.
// Aqu) #ebe !rear una n%tan!a #el '(#ul$ ,u-!$ntr$l,.
// U%e ,/NST-u-!$ntr$l, para el n$'bre #e la n%tan!a.
// Al !rear la n%tan!a #ebe !$ne!tar %u% entra#a% " %al#a%
// a algun$ #e l$% !able% ntern$% que 0a #e&n#$ arrba " ta'b.n
// a algun$ #e l$% puert$% #e entra#a " #e %al#a #el ,'ultpl!a#$r,
// A"1#e%e #e la% &gura% que apare!en en el 'anual #e la pr2!t!a.
// Ta'b.n pue#e abrr el ar!03$ ,u-!$ntr$l.3, para 3er la
// #e&n!(n e+a!ta #e la% entra#a% " %al#a% #el '(#ul$ ,u-!$ntr$l,.
endmodule
Fra!mento de cdi!o 2. Fichero multiplicador.5 con la intercone@in de la unidad de datos & la unidad de control.
Estructura de Computadores 1$
@% En este p&nto !e"e "rir el 5i#1ero multiplicador.5 I$ostr!o en el 5rg$ento !e #!igo <K pr
#o$pletr l !es#rip#in estr&#t&rl !el $!&lo multiplicador% Le ls in!i##iones presentes en
los #o$entrios !el r#1i(o multiplicador.5 + #o$plete to!o lo 7&e se pi!e en Hl 5i'3n!ose
tent$ente en l 5ig&r 8- 7&e es !on!e se $&estrn 7&H #one6iones !e"e 1#er entre l &ni!!
!e !tos + l &ni!! !e #ontrol% De 5or$ res&$i!- ls ##iones reli.r en este 5i#1ero son ls
sig&ientes)
@%8% Co$pletr l !e#lr#in !e los #"les internos 7&e (+ ne#esitr pr l inter#one6in
!e ls instn#is%
@%<% Co$pletr ls #one6iones !e l instn#i !e l &ni!! !e #ontrol%
@%B% Co$pletr ls #one6iones !e l instn#i !e l &ni!! !e !tos%
Sig !elnte solo #&n!o l e5e#t&r &n Beha5ioral Chec? S&nta@ so"re este $!&lo- en l
#onsol no (e$os ning/n error ni ning/n (iso I?rningK%
Selecciono mdulo
TEST_multiplicador
$plico una de las
opciones disponibles
Fi!ura =. El mdulo de testbench TEST9multiplicador
9% Por /lti$o se ( reli.r l si$&l#in !el $&ltipli#!or + se ( (eri5i#r s& #orre#to
5&n#ion$iento% Pr ello sig los sig&ientes psos I5='ese "ien en l 5ig&r LK)
9%8% Sele##ione el $!&lo !e test"en#1 en el 3r"ol !e pro+e#to% Es el $!&lo s&perior en el 3r"ol
!e pro+e#to #on el no$"re TEST9multiplicador Iest3 !entro !el 5i#1ero multiplicador9tb.5*.
9%<% Trs est sele##in !e"e e'e#&tr el pro#eso Beha5ioural Chec? S&nta@ pr #o$pro"r 7&e
no 1+ 1+ errores en ning/n $!&lo 7&e 5or$e prte !el pro+e#to% En reli!!- #&n!o
est&(i$os #o$pletn!o los r#1i(os u9control.5 + multiplicador.5- + #1e7&e$os l sint6is !e
!i#1os $!&los- por lo 7&e no !e"er= pre#er 1or ning/n $ens'e !e error ni !e (iso n&e(o%
9%B% Un (e. #orregi!os los errores- reli#e l si$&l#in !el $!&lo TEST9multiplicador
sele##ion3n!olo en el 3r"ol !el $!&los + &sn!o l op#in Simulate Beha5ioural -odel% Si to!o
Estructura de Computadores 1%
( "ien se le "rir3 l pli##in ISi$% Teng en #&ent ls sig&ientes #&estiones)
9%B%8% Si l si$&l#in se pr l llegr 8 $i#roseg&n!o &se el i#ono !el tri3ng&lo .&l I "un
AllK pr 1#er 7&e se e'e#&te l si$&l#in 1st en#ontrr l or!en T5inis1%
9%B%<% El 5i#1ero !e test"en#1 est3 progr$!o pr 1#er 8< $&ltipli##iones !istints #on el
$!&lo multiplicador% Preste $&#1 ten#in l #onsol- p&es el test"en#1 est3 progr$!o
pr #o$pro"r si el $&ltipli#!or 5&n#ion #orre#t$ente + le (isr3 si !ete#t errores%
%ebe estar seleccionada
esta pesta#a para poder
a#adir ob&etos a la
ventana de ondas
Encuentro el ob&eto que
me interesa dentro de la
instancia y lo arrastro a la
ventana de ondas para
verlo en la simulacin.
'ave(o por el rbol de
instancias hasta encontrar la
instancia que me interesa.
Fi!ura 16. Cmo a1adir obAetos a la 5entana de ondas de Bsim
9%B%B% Si trs e6$inr l #onsol o ls 5or$s !e on! #onsi!er 7&e el $&ltipli#!or no est3
5&n#ionn!o #orre#t$ente- !e"e en#ontrr el 5llo + rreglrlo% Pr ello es &n "&en i!e
1#er 7&e l si$&l#in nos $&estre $3s in5or$#in !el 5&n#ion$iento interno !e los
$!&los% De"er= 2!ir l (entn !e 5or$s !e on! ls se2les interns !e los $!&los !e
l &ni!! !e !tos 7&e #onsi!ere $3s i$portntes ILos (lores !e ls sli!s !el registro C-
SUMM- SUML- o l (ri"le est!o;#t&l- por e'e$ploK% F='ese en l 5ig&r 8: si no re#&er!
#$o se 1#=% T$"iHn es i$portnte 2!ir el $!&lo $&ltipli#!or #on to!os s&s ele$entos-
pr !ete#tr #"les s&eltos- entr!s no #one#t!s + 5llos si$ilres en l !es#rip#in
estr&#t&rl !e este $!&lo% O"(i$ente esto t$"iHn le !e"e +&!r (er- pso pso- si l
&ni!! !e !tos + l &ni!! !e #ontrol se est3n #o$portn!o e6#t$ente #o$o !e"er=n% L
pri$er $&ltipli##in 7&e pr&e" el test"en#1 es l !e los n/$eros 888: + 8:8:- 7&e es l
$is$ 7&e se e6pli# pso pso en l 5ig&r 9- s= 7&e p&e!e ser "&en i!e 5i'rse en l
5ig&r e intentr (er 7&e est3 +en!o $l- so"re to!o si el 5llo est3 en l &ni!! !e #ontrol% Est
$is$ $&ltipli##in se $&estr pso pso en l /lti$ p3gin !el $n&l !e l pr3#ti#-
pr 7&e p&e! #o$prr los res&lt!os #on los s&+os%
No sig !elnte 1st 7&e los res&lt!os !e ls 8< $&ltipli##iones sen #orre#tos%
Estructura de Computadores 1(
#.2. Implementar el multiplicador en la '()A y veri&icar su &uncionamiento
Finl$ente se i$ple$entr3 el siste$ !igitl reli.!o en &n !ispositi(o progr$"le tipo FPGA
in#l&i!o en l pl# !e !esrrollo BASYS2%
Tl + #o$o se !etll en l se##in <%@ el $&ltipli#!or ne#esit
#one#trse los #on$&t!ores- "otones + el !ispl+ !e l pl# !e
!esrrollo pr po!er inter#t&r #on Hl% Los $!&los 7&e #ontroln estos
#o$ponentes se en#&entrn + !ise2!os + test!os en el 5i#1ero
sistema9completo.5% A!e$3s !el siste$ #o$pleto- es ne#esrio &tili.r
otro 5i#1ero !on!e se in!i#n ls #one6iones entre los pines !el #1ip FPGA
+ ls se2les !e entr! + sli! !el $!&lo sistema9completo% Este
5i#1ero se ll$ bas&s2.uc> + est3 #o$plet$ente ter$in!o- s= 7&e no es
ne#esrio to#r n! en Hl%
Los psos seg&ir son los sig&ientes)
8% C$"ir el pro+e#to ISE !e l (ist !e si$&l#in l (ist !e
i$ple$ent#in I5='ese en l 5ig&r 88K
<% A2!ir !os 5i#1eros l pro+e#to)
<%8% Fi#1ero sistema9completo.5) A2!irlo #o$o Bmplementation%
Este 5i#1ero pre#er3 1or #o$o r=. !el 3r"ol !e $!&los
pro+e#to%
<%<% Fi#1ero bas&s2.uc>) A2!irlo #o$o Bmplementation% De"e #o$pro"r 7&e t$"iHn pre#e
en el 3r"ol !e pro+e#to%
B% L i$ple$ent#in se reli. sele##ionn!o el $!&lo sistema9completo en el 3r"ol !e pro+e#to%
De"e sele##ionr l op#in Generte Progr$$ing File I5ig&r 88K + seg&ir los sig&ientes psos)
B%8% P&lsn!o el botn derecho !el rtn so"re l op#in Generte Progr$$ing File pre#er3
&n $en/ 5lotnte #o$o el $ostr!o en l 5ig&r 8<% Sele##ionn!o en ese $en/ l op#in !e
$en/ !e Pro#ess Properties pre#er3 el !i3logo $ostr!o en l 5ig&r 8<"%
B%<% En el !i3logo 1+ 7&e elegir l #tegor= Strt&p Options + #$"ir el (lor !el pri$er
#$po FPGA StrtGUp Clo#> !e CCLC DTAE4Cloc?% Trs #eptr los #$"ios #on el "otn FC se
(ol(er3 l (entn prin#ipl !e ISE%
B%B% P&lsn!o !os (e#es el "otn i.7&ier!o !el rtn so"re Generte Progr$$ing File se e'e#&t
el pro#eso #o$pleto + se gener el 5i#1ero !e progr$#in% Tl + #o$o se $&estr en l 5ig&r
88- si el pro#eso 1 ter$in!o #on H6ito pre#er3 &n in!i#!or (er!e- en #so #ontrrio &n sp
ro'o in!i#n!o l e6isten#i !e errores% En #so !e e6istir errores !e"e #orregirlos + repetir el
pro#eso%
Fi!ura 11. Bmplementacin
Estructura de Computadores 1+
)a* )b*
Fi!ura 12. Fpciones de !eneracin del >ichero de pro!ramacinG
)a* menH desple!able0 )b* dilo!o con opciones.
@% El /lti$o pso #onsiste en progr$r l pl# !e !esrrollo #on &n 5i#1ero 7&e se 1 gener!o
trs el pro#eso !el pso nterior% Con#ret$ente- el 5i#1ero !e"er= ll$rse sistema9completo.bit
+ 1+ 7&e trns5erirlo por l #one6in US0 l FPGA% Pr ello sig los sig&ientes psos)
@%8% Co$pr&e"e 7&e el $o!o !e progr$#in !e l FPGA est3 est"le#i!o en $o!o PC% Pr ello
5='ese en l 5ig&r D + (e !n!e est3 sit&!o el #on$&t!or -odo de Pro!ramacin. Aseg/rese !e
7&e l pie. !e #olor .&l est3 est3 #olo#! en $o!o PC + no en $o!o "F-.
@%<% Cone#te el p&erto US0 !e l pl# !e !esrrollo + $&e( 1#i rri" el #on$&t!or !e
en#en!i!o I5='ese en l 5ig&r D si no s"e #&3l esK% Si + est&(ier en#en!i! l pl#- p3g&el +
en#iHn!l !e n&e(o%
@%B% Ini#ie el progr$ A!ept !es!e el $en/ !e ini#io I$en/ Digilent U A!ept- i#ono K +
pre#er3 el progr$ $ostr!o en l 5ig&r 8B% Con este progr$ se p&e!e trns5erir el 5i#1ero
!e progr$#in IbitstreamK l FPGA% El progr$ Adept per$ite progr$r los #o$ponentes
!e l pl# BASYS2- estos son- &n FPGA + &n PROM% Solo ($os progr$r l FPGA- por
tnto se !e"e &tili.r el "otn 0ro?se in!i#!o en l 5ig&r + sele##ionr el 5i#1ero .bit !e#&!o
Pr ello 1+ "&s#r l #rpet !el pro+e#to ISE en el 7&e se est3 tr"'n!o + ll= en#ontrre$os
el res&lt!o !e l s=ntesis en &n 5i#1ero .bit- 7&e en n&estro #so se ll$r3 #on#ret$ente-
sistema9completo.bit% Un (e. sele##ion!o este 5i#1ero se #ti(r3 el "otn Progr$ & "str3
#on p&lsrlo pr 7&e l FPGA se progr$e%
Op#iones !e
progr$#in
Estructura de Computadores 18
Fi!ura 1$. Pro!ramacin de placas 7i!ilent con Adept.
9% De"er= 1"er le=!o pre(i$ente el prt!o <%@ !e l p3gin E- !on!e se e6pli# en !etlle l
5or$ en l 7&e el $!&lo multiplicador se 1 in#l&i!o !entro !e otro $!&lo 4erilog ll$!o
sistema9completo + Hste s& (e. se inter#one#t!o los ele$entos !e l pl# BASYS2 pr 7&e
po!$os inter#t&r #on Hl + 1#er $&ltipli##iones * $no,% En l 5ig&r D Ip3gin LK- se nos
$&estr &n 5otogr5= !e l pl# !e !esrrollo BASYS2 + en est $is$ p3gin se e6pli# l
5or$ en 7&e !e"e$os $nip&lr los #on$&t!ores + "otones pr 1#er &n $&ltipli##in%
Fi'3n!ose en est 5ig&r + en ls instr&##iones !e es p3gin- &tili#e los #on$&t!ores + los
"otones pr reli.r l $&ltipli##in !e (rios n/$eros + #o$pr&e"e si el res&lt!o es #orre#to-
tenien!o en #&ent 7&e los n/$eros se representn en 1e6!e#i$l en el !ispl+% El
pro#e!i$iento- !e 5or$ res&$i!- ser= el sig&iente)
9%8% Colo#r los n/$eros #on los #on$&t!ores%
9%<% P&lsr el "otn F@s2 +- sin le(ntr el !e!o- p&lsr el "otn F#l>F &n (e. pr 7&e #o$ien#e l
$&ltipli##in% V p&e!e le(ntr el !e!o !el "otn F6sF%
9%B% A1or n! $3s 7&e rest generr $3s 5ln#os !e s&"i! en el relo'- (ol(ien!o p&lsr el
"otn F#l>F pr 1#er (n.r el $&ltipli#!or #i#lo #i#lo !es!e el est!o S: 1st el est!o SF-
$o$ento en 7&e se #ti(r3 l se2l !e F5inF + se en#en!er3n to!os los LEDS + se (er3 en el
!ispl+ el res&lt!o !e l $&ltipli##in
#.#. *rabajo opcional
Intente #onseg&ir 7&e el $&ltipli#!or tr!e $enos #i#los en o"tener el res&lt!o 5inl- est&!in!o
ls sig&ientes posi"ili!!es%
8% Piense !eteni!$ente si po!e$os eli$inr l trs5eren#i CO: 7&e se 1#e en el est!o S<
#&n!o SUML: (le : si- #$"io- #olo#$os l trns5eren#i CO: en el est!o S8 + t$"iHn en
el est!o SB% Si #ree 7&e es posi"le 1#erlo- $o!i5i7&e l #rt ASM- l !es#rip#in 4erilog !e l
$is$ + e'e#&te el test"en#1 !el $&ltipli#!or pr #o$pro"r 7&e el $&ltipli#!or sig&e
5&n#ionn!o "ien%
0otn pr
progr$#in
Sele##in !e
5i#1ero
Estructura de Computadores 1<
<% Si 1 1e#1o el prt!o nterior- en el est!o S< !e l #rt ASM- #&n!o SUML: es :- no se 1#e
ning&n ##in% Si$ple$ente se !e' psr &n #i#lo !e relo' Isin r.n lg&nK pr en el
sig&iente #i#lo psr SB% Piense si ser= posi"le- sin 5e#tr l res&lt!o 5inl !el lgorit$o-
$o!i5i#r el #o$port$iento !e S<- !e 5or$ 7&e #&n!o SUML: (lg :- se e'e#&tsen en S< ls
##iones !e SB- es !e#ir- se or!ensen ls trns5eren#is SUMMOSMRISUMM-CK-
SUMLOSMRISUML-SUMMA:CK + CONTOCONTN8 + l&ego se sltse l est!o S< o l est!o SF
!epen!ien!o !e si l entr! F#+#ontF (le : o (le 8% Si #ree 7&e eso es posi"le- $o!i5i7&e l #rt
ASM- el #!igo 4erilog #orrespon!iente + si$&le ls $&ltipli##iones pr (er si 1or tr!n
$enos en reli.rse% WTr!n to!s ls $&ltipli##iones el $is$o tie$poX WC&3l es l 7&e tr!
$3sX WC&3l es l 7&e tr! $enosX WC&3nto tr!"n ntes !e este #$"io to!s to!s ls
$&ltipli##ionesX WC&3ntos #i#los nos 1orr$os 1or en &n $&ltipli##inX WTen!r= senti!o
$&ltipli#r 0 6 A en l&gr !e 0 6 A en #iertos #sos- pr 1orrr tie$po en l $&ltipli##inX
B% Si 1 1e#1o to!o lo nterior- piense si p&e!e #elerr /n $3s l $&ltipli##in eli$inn!o el
est!o S8 + $o(ien!o to!s s&s ##iones &n #' !e ##in #on!i#ionl 7&e se e'e#&te solo
#&n!o F6sF (lg 8% Si #ree 7&e es posi"le- #$"ie l #rt ASM- i$ple$Hntel en 4erilog + si$&le
ls $&ltipli##iones pr (er si son #orre#ts + tr! $enos 7&e ntes% WC&3nto es el 1orro !e
tie$po- en #i#los- #o$pr!o #on l nterior (ersin !e ls $&ltipli##ionesX
@% Piense si ser= posi"le $o!i5i#r l &ni!! !e !tos pr 7&e los psos < + B !el lgorit$o !e
$&ltipli##in por s&$s + !espl.$ientos se 1i#iern en &n /ni#o #i#lo !e relo'% Si #ree 7&e es
posi"le- 1g esos #$"ios en l &ni!! !e !tos- #$"ie t$"iHn en l #rt ASM- $o!i5i7&e los
$!&los 4erilog #orrespon!ientes + 1g ls si$&l#iones pr (er 7&e e5e#ti($ente p&e!e
1#erse%
Pro!&#to !e 888: :8:8
C
i
c
l
o

d
e

r
e
l
o
/
!nid#d de Control !nid#d de D#tos
micro9oper#ciones
Entr#d#s "#lid#s
e
s
t
#
d
o
,
#
c
t
*
#
l
Contenido de los re4istros
:
s
"
!
M
L
1
c
-
c
o
n
t
c
l
i
n
i
c
i
o
)
#
)
s
*
m
l
)
s
*
m
h
)
c
c
l
c
s
h
r
s
*
m
*
p
c
o
n
t
f
i
n
A CONT C "!M2 "!ML
: : 6 6 S: 6666 6 6 6666 6666
8 8 6 6 S: 6666 6 6 6666 6666
< : 6 6 8 8 8 S8 6666 6 6 6666 6666 SUMMO:- CONTO:- AO!toA- SUMLO!to0
B : 8 : 8 8 S< 888: : 6 :::: :8:8 SUMMOANSUMM- CO#o&t
@ : 8 : 8 8 SB 888: : : 888: :8:8 SUMMOSMRISUMM-CK- SUMLOSMRISUML-SUMMA:CK- CONTOCONTN8
9 : : : 8 S< 888: 8 : :888 ::8: CO:
Q : : : 8 8 SB 888: 8 : :888 ::8: SUMMOSMRISUMM-CK- SUMLOSMRISUML-SUMMA:CK- CONTOCONTN8
D : 8 : 8 8 S< 888: < : ::88 8::8 SUMMOANSUMM- CO#o&t
E : 8 : 8 8 SB 888: < 8 :::8 8::8 SUMMOSMRISUMM-CK- SUMLOSMRISUML-SUMMA:CK- CONTOCONTN8
L : : 8 8 S< 888: B 8 8::: 88:: CO:
8: : : 8 8 8 SB 888: B : 8::: 88:: SUMMOSMRISUMM-CK- SUMLOSMRISUML-SUMMA:CK- CONTOCONTN8
88 : : : 8 SF 888: : : :8:: :88:
8< : : : S: 888: : : :8:: :88:
Not) Ls sli!s !e l U% !e Control 7&e est3n (lor : en &n !eter$in!o #i#lo !e relo' se representn !e'n!o (#= l #sill #orrespon!iente%

Anda mungkin juga menyukai