Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7 VHDL
7 VHDL
Lenguaje VHDL
Cdigo para representar sistemas
digitales en VHDL
JJVS-09 2
Las secciones fundamentales que forman el
cdigo en VHDL son: librera (LIB!"#$ entidad
(%&'I'"# ( arquitectura (!CHI'%C')%#*
LIB!": contiene un conjunto de libreras que
contienen la definicin de datos$ estructuras$ etc*
%&'I'": %specifica las entradas+salidas del
circuito*
!,)I'%C')%: %-isten dos formas de de
describir un circuito$ estructural ( por su
comportamiento* %sta forma a su .e/ se di.ide en
flujo de datos ( algortmica*
JJVS-09 3
%&'ID!D
ENTITY 0)1 IS
23' ( !: IN BI'4
B: IN BI'4
5%L%C: IN BI'4
5!LID!: OUT BI'#4
END 0)14
JJVS-09 4
!rquitectura (estructural#
ARCHITECTURE %5')C')!L OF 0)1 IS
SIGNAL !1$B1$&35%L: BI'4
BEGIN
)6: ENTITY I&V PORT MAP (%785%L%C$ "78&35%L#4
)9: ENTITY !&D: PORT MAP (%978!$ %:78&35%L$ "78!1#4
):: ENTITY !&D: PORT MAP (B$ 5%L%C$ B1#4
);: ENTITY 3: PORT MAP (%978!1$ %:78B1$"785!LID!#4
END %5')C')!L4
JJVS-09 5
Descripcin estructural completa
ENTITY 0)1 IS
23' ( !: IN BI'4
B: IN BI'4
5%L%C: IN BI'4
5!LID!: OUT BI'#4
END 0)14
ARCHITECTURE %5')C')!L OF 0)1 IS
SIGNAL !1$B1$&35%L: BI'4
BEGIN
)6: ENTITY I&V PORT MAP (%785%L%C$ "78&35%L#4
)9: ENTITY !&D: PORT MAP (%978!$ %:78&35%L$ "78!1#4
):: ENTITY !&D: PORT MAP (B$ 5%L%C$ B1#4
);: ENTITY 3: PORT MAP (%978!1$ %:78B1$"785!LID!#4
END %5')C')!L4
JJVS-09 6
Descripcin completa
comportamental<algortmica
%&'I'" 0)1 I5
23' ( !: I& BI'4
B: I& BI'4
5%L%C: I& BI'4
5!LID!: 3)' BI'#4
%&D 0)14
arc=itecture Comportamental of 0)1 is
B%>I&
23C%55 (!$B$selec#
begin
if (selec7?6?# t=en
salida@7a4
else
salida@7b4
end if4
end process4
end Comportamental4
JJVS-09 7
Descripcin completa
comportamental<flujo de datos
%&'I'" 0)1 I5
23' ( !: I& BI'4
B: I& BI'4
5%L%C: I& BI'4
5!LID!: 3)' BI'#4
%&D 0)14
arc=itecture Alujo9 of 0)1 is
signal nosel$a-$b-: bit4
B%>I&
&osel @7 not selec4
!-@7 a !&D nosel4
B-@7 b !&D selec4
5alida@7 a- 3 b-4
end Alujo94
JJVS-09 8
Descripcin completa
comportamental<flujo de datos
(transferencia entre registros#
%&'I'" 0)1 I5
23' ( !: I& BI'4
B: I& BI'4
5%L%C: I& BI'4
5!LID!: 3)' BI'#4
%&D 0)14
arc=itecture Alujo: of 0)1 is
B%>I&
salida@7a B=en selec7?6? %L5% b4
end Alujo:4
JJVS-09 9
%ntidad
)na entidad estC compuesta por tres elementos:
1. Puertos de entrada-salida. Cada una de las seDales de entrada ( salida en una
entidad$ son llamadas puertos* Los puertos deben poseer nombre$ modo ( tipo de
datos*
2. Modos.
(a#0odo in
(b#0odo out
(c#0odo inout (puerto bidireccional con
Retroalimentacin dentro o fuera de la entidad)
(d) 0odo buffer (se comporta como salida
pero permite reali/ar retroalimentaciones internas#
Tipos de datos.
(a#stdElogic*
(b#Boolean*
(c#stdElogicE.ector (.ectores de bits#*
(d#Integer*
JJVS-09 10
%jercicio: Declare la entidad de la
!L) de cuatro bits mostrada*
!L)
In9 In: 3p5el 0odo
Cin Cout
esult %qual
%ntit( !L) is
2ort (
In9 : in stdElogicE.ector (; doBnto 6#4 << 2rimer 3perando
In: : in stdElogicE.ector (; doBnto 6#4 << 5egundo 3perando
3p5el : in stdElogicE.ector(6 to :#4 << 5elector de 3peracin
0ode : in stdElogic4 << 0odo !ritmFtico+Lgico
Cin : in stdElogic4 << !carreo de entrada
esult : out stdElogicE.ector (; doBnto 6#4 << esultado
Cout : out stdElogic4 << !carreo de salida
%qual : out stdElogic << 9 cuando In9 7 In:
#4
%nd %ntit( !L)4
JJVS-09 11
!rquitectura
)na arquitectura (architecture# se define como
la estructura que describe el funcionamiento de
una entidad*
Las arquitecturas se clasifican en:
9* %structural*
:* Auncional (comportamental#*
;* Alujo de datos*
JJVS-09 12
1212
Comparacin de los tipos de Arquitectura
Q U H A C E ? C M O E S T
C O M P U E S T A ?
Descripcin
Auncional
Descripcin
%structural
La descripcin estructural es mucho ms fcil de sintetizar que la descripcin funcional
por que se refiere a componentes fsicos concretos.
Sin embargo es ms difcil de desarrollar por que requiere de mayor experiencia del
diseador para hacer los diseos ms eficientes.
JJVS-09 13
Descripcin funcional
(comportamental#
comparador
La descripcin funcional e-pone la forma en que trabaja el
sistema4 se consideran las entradas ( salidas sin importar como
estF organi/ado en su interior*
:
:
a
b
c
arc=itecture funcional of comp is
begin
process(a$b#
begin
if a 7 b t=en
c @7?9?4
else
c @7?6?4
end if4
end process4
end funcional4
entit( comp is
2ort (
a : in 5'DEL3>ICEV%C'3 (9 doBnto 6#4
b : in 5'DEL3>ICEV%C'3 (9 doBnto 6#4
c : out 5'DEL3>IC#4
end comp4
JJVS-09 14
Ejeriio: %scriba la declaracin de
entidad para el siguiente circuito*
JJVS-09 15
'ipos de declaraciones
%n VHDL e-isten dos tipos de declaraciones:
se!e"ia#es ( o"!rre"tes*
Las secuenciales requieren (if-then-else# o (case#$
dentro de la instruccin process*
La declaracin concurrente se obtiene con when-
else o con ecuaciones booleanas*
JJVS-09 16
entit( compEconcurrente is
2ort ( a : in 5'DEL3>ICEV%C'3 (9 doBnto 6#4
b : in 5'DEL3>ICEV%C'3 (9 doBnto 6#4
c : out 5'DEL3>IC#4
end compEconcurrente4
arc=itecture concurrente of comp is
begin
c@7?9? B=en (a7b# else ?6?4
end concurrente4
arc=itecture funcional of comp is
begin
process(a$b#
begin
if a 7 b t=en
c @7?9?4
else
c @7?6?4
end if4
end process4
end funcional4
Ejeriio$ %scriba las declaraciones de las
arquitecturas secuencial ( concurrente para
un comparador de dos bits*
5ecuencial Concurrente
JJVS-09 17
Comparador de magnitud de G bits
(secuencial#
G
G
a
b
a7b
a8b
a@b
-
(
/
arc=itecture Be=a.ioral of compa is
begin
process(a$b# begin
if a7b t=en
-@7?9?4
elsif a8b t=en
(@7?9?4
else
/@7?9?4
end if4
end process4
end Be=a.ioral4
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*!LL4
use I%%%*5'DEL3>ICE!I'H*!LL4
use I%%%*5'DEL3>ICE)&5I>&%D*!LL4
entit( compa is
2ort ( a : in 5'DEL3>ICEV%C'3 (; doBnto 6#4
b : in 5'DEL3>ICEV%C'3 (; doBnto 6#4
- : out 5'DEL3>IC4
( : out 5'DEL3>IC4
/ : out 5'DEL3>IC#4
end compa4
JJVS-09 18
Declaraciones concurrentes
%n una declaracin concurrente no importa el
orden en que se escriban las seDales$ (a que el
resultado para determinada funcin sera el
mismo*
%n VHDL e-isten tres tipos de declaraciones
concurrentes:
%.De#araio"es o"diio"a#es asi&"adas a !"a
se'a# (when-else#*
(.De#araio"es o"!rre"tes asi&"adas a
se'a#es.
).Se#ei*" de !"a se'a# (with-select-when).
JJVS-09 19
Declaraciones condicionales
asignadas a una seDal (when-else#*
La declaracin +,e"-e#se se utili/a para asignar
.alores a una seDal$ determinando as la ejecucin
de una condicin propia del diseDo*
%jemplo:
a b c f
6 6 6 9
6 6 9 6
6 9 6 6
6 9 9 9
9 6 6 6
9 6 9 6
9 9 6 9
9 9 9 9
entit( tabla is
2ort ( a$b$c : in 5'DEL3>IC4
f : out 5'DEL3>IC#4
end tabla4
arc=itecture Be=a.ioral of tabla is
begin
f @7 ?9? B=en (a7?6? and b7?6? and c7?6?# else
?9? B=en (a7?6? and b7?9? and c7?9?# else
?9? B=en (a7?9? and b7?9? and c7?6?# else
?9? B=en (a7?9? and b7?9? and c7?9?# else
?6?4
end Be=a.ioral4
JJVS-09 20
3peradores lgicos
Los operadores lgicos presentan el siguiente orden ( prioridad:
9* %-presiones entre parFntesis
:* Complementos
;* Auncion !&D
G* Auncin 3
%cuacin %n VHDL
,7 a I - * ( q7a or (- and (#
"7 a I b * c I d (7not(a or (b and c#or d#
JJVS-09 21
Declaraciones concurrentes
asignadas a seDales
Las funciones de salida se describen mediane la
ecuacin booleana que describe el
comportamiento de cada una de las compuertas*
JJVS-09 22
%jemplo:
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
use I%%%*5'DEL3>ICE)&5I>&%D4
entit( logic is
port(
a$b$c$d$e$f: in 5'DEL3>IC4
-9$-:$-;: out 5'DEL3>IC#4
end logic4
9
:
;
)9:!
JG6K
9
:
;
)G:!
JG;:
L
96
K
)9:C
JG6K
)M
&!&D
9
:
;
)::!
G6JJ
M
H
G
)::B
G6JJ
.%
.(
.)
a
/
d
e
0
arc=itecture booleana of logic is
begin
-9@7 a -nor b4
-:@7 (((c and d# or (a -nor b##nand
((c and d# and(e -nor f###4
-;@7(c and d# and (e -nor f#4
end booleana4
JJVS-09 23
5eleccin de una seDal
(Bit=<select<B=en#
%sta declaracin se utili/a para asignar un .alor
a una seDal con base en el .alor de otra seDal
pre.iamente seleccionada*
a(6# a(9# C
6 6 9
6 9 6
9 6 9
9 9 6
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
entit( arq is
port(
a : in 5'DEL3>ICEV%C'3(9 doBnto 6#4
C : out 5'DEL3>IC#4
end arq4
arc=itecture arq of arq is
begin
Bit= a select
c@7?9? B=en N66N$
?6? B=en N69N$
?9? B=en N96N$
?6? B=en ot=ers4
end arq4
JJVS-09 24
%jercicio
DiseDe un circuito combinacional que detecte
nOmeros primos de G bits* ealice la tabla de
.erdad ( elabore un programa que describa su
funcin* )tilice instrucciones del tipo with-
select-when*
arc=itecture detecta of primos is
begin
Bit= 1 select
A@7 ?9? B=en N6669N$
?9? B=en N6696N$
?9? B=en N6699N$
?9? B=en N6969N$
?9? B=en N6999N$
?9? B=en N9699N$
?9? B=en N9996N$
?6? B=en ot=ers4
end detecta4
entit( primos is
port(
1 : in 5'DEL3>ICEV%C'3(; doBnto 6 #4
A : out 5'DEL3>IC
#4
end primos4
JJVS-09 25
2rogramacin mediante
declaraciones secuenciales
! diferencia de una declaracin concurrente$
una secuencial debe ejecutarse en el orden en
que aparece ( formar parte de un proceso
(process#*
Declaracin i0-t,e"-e#se
JJVS-09 26
%jemplo de un comparador
:
:
a
b
c
arc=itecture funcional of comp is
begin
process(a$b#
begin
if a 7 b t=en
c @7?9?4
else
c @7?6?4
end if4
end process4
end funcional4
entit( comp is
2ort (
a : in 5'DEL3>ICEV%C'3 (9 doBnto 6#4
b : in 5'DEL3>ICEV%C'3 (9 doBnto 6#4
c : out 5'DEL3>IC#4
end comp4
JJVS-09 27
2ara mCs condiciones (8:#
JJVS-09 28
Comparador de magnitud de G bits
(secuencial#
G
G
a
b
a7b
a8b
a@b
-
(
/
arc=itecture Be=a.ioral of compa is
begin
process(a$b# begin
if a7b t=en
-@7?9?4
elsif a8b t=en
(@7?9?4
else
/@7?9?4
end if4
end process4
end Be=a.ioral4
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*!LL4
use I%%%*5'DEL3>ICE!I'H*!LL4
use I%%%*5'DEL3>ICE)&5I>&%D*!LL4
entit( compa is
2ort ( a : in 5'DEL3>ICEV%C'3 (; doBnto 6#4
b : in 5'DEL3>ICEV%C'3 (; doBnto 6#4
- : out 5'DEL3>IC4
( : out 5'DEL3>IC4
/ : out 5'DEL3>IC#4
end compa4
JJVS-09 29
%jercicio
%nteros*
eales
Asicos
%numerados
JJVS-09 32
'ipos lgicos estCndar
Tipo Si&"i0iado
7U7 Valor no iniciali/ado
7.7 Valor fuerte desconocido
787 3 fuerte
7%7 9 fuerte
797 !lta impedancia
767 Valor dFbil desconocido
7L7 6 dFbil
7H7 9 dFbil
7-7 &o importa (don?t care#
JJVS-09 33
Buffer tri<estado
%mplee with-select-
when para diseDar el
circuito (no considere
las seDales 5'B9 (
5'B:#*
DiseDe el circuito
empleando
ecuaciones
booleanas*
16
H
19
M
1:
G
1;
;
"6
96
"9
99
":
9:
";
9;
!
9G
B
:
5'B9
9
5'B:
9M
P1
J
P"
L
)9
GM;L
JJVS-09 35
0ultiple-or
entit( mu-: is
port(
a$b$c$d$sel : in 5'DEL3>ICEV%C'3(9 doBnto 6#4
/ : out 5'DEL3>ICEV%C'3(9 doBnto 6#
#4
end mu-:4
arc=itecture mu-: of mu-: is
begin
Bit= sel select
/@7 a B=en N66N$
b B=en N69N$
c B=en N96N$
d B=en ot=ers4
end mu-:4
JJVS-09 36
0edio sumador
Implemente el circuito en VHDL*
JJVS-09 37
0edio sumador
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
entit( medsum is
port(
a$b : in 5'DEL3>IC4
s$c : out 5'DEL3>IC#4
end medsum4
<<RR %nd of automaticall( maintained section
arc=itecture medsum of medsum is
begin
s@7a -or b4
c@7a and b4
end medsum4
JJVS-09 38
'area para entregar el 9:+&o.
!ultiplexor de " canales a 1
#ecodificador de $%# a & segmentos
'egistro con carga paralela( con
habilitacin externa y reset asncrono.
Sumador completo de 1 bit
JJVS-09 39
3peradores ( tipos de datos
JJVS-09 40
5obrecarga de operadores
(sintFsis#
JJVS-09 41
5obre carga de operadores
JJVS-09 42
Con.ersiones
entre
tipo de datos
JJVS-09 43
Con.ersiones
signal s9$s:$s;$sG$sM$sH :stdElogicE.ector(; doBnto 6#4
signal u9$u:$u;$uG$uM$uH$uJ :unsigned(; doBnto 6#4
begin
u9@7s94
u:@7M
s:@7u;4
s;@7M4
u9@7unsigned(s9#4
u:@7toEunsigned(M$G#4
s:@7stdElogicE.ector(u;#4
s;@7stdElogicE.ector(toEunsigned(M$G##4
{! ! error tipos de datos diferentes}
{correcto! ! !}
JJVS-09 44
Concatenacin S
JJVS-09 45
Corrimiento con el operador S
!lgunas .eces no es posible sinteti/ar un corrimiento
( se emplea el operador concatenacin (S#*
JJVS-09 46
%structuras bCsicas
mediante declaraciones secuenciales
Decodificador BCD+D%C
6
9
:
;
G
M
H
J
K
L
19
1:
1;
1G
arc=itecture secuencial of decEbcdEdec is
begin
process (-# begin
if -7N6666N t=en
s6@7?9?4
elsif -7N6669N t=en
s9@7?9?4
elsif -7N6696N t=en
s:@7?9?4
elsif -7N6699N t=en
s;@7?9?4
elsif -7N6966N t=en
sG@7?9?4
elsif -7N6969N t=en
sM@7?9?4
elsif -7N6996N t=en
sH@7?9?4
elsif -7N6999N t=en
sJ@7?9?4
elsif -7N9666N t=en
sK@7?9?4
else
sL@7?9?4
end if4
end process4
end secuencial4
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
entit( decEbcdEdec is
port(
- : in 5'DEL3>ICEV%C'3(; doBnto 6#4
s6$s9$s:$s;$sG$sM$sH$sJ$sK$sL : out 5'DEL3>IC#4
end decEbcdEdec4
JJVS-09 47
%jercicio
(; qui/ 7 9 punto de e-amen#
DiseDe un decodificador de BCD a J segmentos*
!
B
C
D
%
A
>
9
:
G
K
JJVS-09 48
%mpleando C!5%
arc=itecture secuencial of bcdJseg is
begin
process (!# begin
case ! is
B=en N6666N 78 d@7N6666669N4
B=en N6669N 78 d@7N9669999N4
B=en N6696N 78 d@7N6696696N4
B=en N6699N 78 d@7N6666996N4
B=en N6966N 78 d@7N9669966N4
B=en N6969N 78 d@7N6966966N4
B=en N6996N 78 d@7N6966666N4
B=en N6999N 78 d@7N6669996N4
B=en N9666N 78 d@7N6666666N4
B=en N9669N 78 d@7N6666966N4
B=en ot=ers 78 d@7N9999999N4
end case4
end process4
end secuencial4
JJVS-09 49
De#araio"es o"diio"a#es
asi&"adas a !"a se'a#
JJVS-09 50
%jemplo: Codificador de prioridad
,ui/: DiseDe el codificador empleando when-else
(declaracin condicional a seDales#*
JJVS-09 51
Implementacin (9#
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
entit( prioEencoder is
port(
r : in 5'DEL3>ICEV%C'3(G doBnto 9#4
pcode : out 5'DEL3>ICEV%C'3(: doBnto 6#
#4
end prioEencoder4
arc=itecture arqEB=en of prioEencoder is
begin
pcode@7N966N B=en r(G#7?9? else
N699N B=en r(;#7?9? else
N696N B=en r(:#7?9? else
N669N B=en r(9#7?9? else
N666N4
end arqEB=en4
JJVS-09 52
Implementacin (:#
arc=itecture arqEB=en of prioEencoder is
begin
Bit= r select
pcode@7 N966N B=en N9<<<N$
N699N B=en N69<<N$
N669N B=en N6669N$
N666N B=en ot=ers4
end arqEB=en4
JJVS-09 53
DiseDe el siguiente circuito empleando
with-select-when
JJVS-09 54
Implementacin
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
entit( decoder is
port(
a : in 5'DEL3>ICEV%C'3(9 doBnto 6#4
en : in 5'DEL3>IC4
( : out 5'DEL3>ICEV%C'3(; doBnto 6#
#4
end decoder4
arc=itecture arqEB=en of decoder is
signal s:stdElogicE.ector(: doBnto 6 #4
begin
s@7enSa4
Bit= s select
(@7 N6666N B=en N6<<N$
N6669N B=en N966N$
N6669N B=en N969N$
N6696N B=en N996N$
N9666N B=en ot=ers4
end arqEB=en4
JJVS-09 55
Comparacin
concurrente .s secuencial
%-isten declaraciones equi.alentes en ambas
arquitecturas$ sin embargo$ un if o case permite
cualquier nOmero ( tipo de declaraciones
secuenciales es sus ramas ( as es mCs fle-ible (
.ersCtil* )n uso disciplinado puede =acer el
cdigo mCs descripti.o ( aOn =acer un circuito
mCs eficiente*
JJVS-09 56
%jemplos
JJVS-09 57
Cdigo intuiti.o
JJVS-09 58
Cdigo intuiti.o
JJVS-09 59
0emoria no asignada
2ara pre.enir este error$ deberCn seguirse las
siguientes reglas:
9*Inclu(e todas las seDales de entrada en la lista
sensible*
:*Incluir el else en el if*
;*!signar un .alor a cada seDal en cada rama*
JJVS-09 60
0emoria no asignada
JJVS-09 61
Constantes
JJVS-09 62
)so de constantes:
sumador de G bits
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
use ieee*numericEstd*all4
entit( sumadorEcEcarr( is
port(
a : in 5'DEL3>ICEV%C'3(; doBnto 6#4
b : in 5'DEL3>ICEV%C'3(; doBnto 6#4
sum : out 5'DEL3>ICEV%C'3(; doBnto 6#4
cout : out 5'DEL3>IC#4
end sumadorEcEcarr(4
arc=itecture concurrente of sumadorEcEcarr( is
signal aEe-t$bEe-t$sumEe-t : unsigned(G doBnto 6#4
begin
aEe-t@7unsigned(?6?Sa#4
bEe-t@7unsigned(?6?Sb#4
sumEe-t@7aEe-tIbEe-t4
sum@7stdElogicE.ector(sumEe-t(; doBnto 6##4
cout@7sumEe-t(G#4
end concurrente4
JJVS-09 63
)sando constantes
para el cdigo
)na mejor opcin es definir el tamaDo del sumador
como una constante$ de esta manera modificando
este .alor el cdigo sir.e para cualquier tamaDo de
sumador*
arc=itecture concurrente of sumadorEccE.ar is
constant &:integer:7K4
signal aEe-t$bEe-t$sumEe-t : unsigned(& doBnto 6#4
begin
aEe-t@7unsigned(?6?Sa#4
bEe-t@7unsigned(?6?Sb#4
sumEe-t@7aEe-t I bEe-t4
sum@7stdElogicE.ector(sumEe-t(&<9 doBnto 6##4
cout@7sumEe-t(
end concurrente4
entit( sumadorEccE.ar is
port(
a : in 5'DEL3>ICEV%C'3(J doBnto 6#4
b : in 5'DEL3>ICEV%C'3(J doBnto 6#4
sum : out 5'DEL3>ICEV%C'3(J doBnto 6#4
cout : out 5'DEL3>IC#4
end sumadorEccE.ar4
Las constantes permiten tener un cdigo mCs fCcil
de entender ( mantener*
JJVS-09 64
>eneric
5e emplea para pasar informacin dentro de
una entidad ( componente* "a que el generic
no puede ser modificado dentro de la
arquitectura$ este funciona como una
constante*
JJVS-09 65
5umador con generic
librar( I%%%4
use I%%%*5'DEL3>ICE99HG*all4
use ieee*numericEstd*all4
entit( sumE.ar: is
generic (&:integer:7G#4
port(
b : in 5'DEL3>ICEV%C'3(&<9 doBnto 6#4
a : in 5'DEL3>ICEV%C'3(&<9 doBnto 6#4
suma : out 5'DEL3>ICEV%C'3(&<9 doBnto 6#4
cout : out 5'DEL3>IC#4
end sumE.ar:4
arc=itecture gen of sumE.ar: is
signal aEe-t$bEe-t$sumEe-t : unsigned(& doBnto 6#4
begin
aEe-t@7unsigned(?6?Sa#4
bEe-t@7unsigned(?6?Sb#4
sumEe-t@7aEe-t I bEe-t4
sum!@7stdElogicE.ector(sumEe-t(&<9 doBnto 6##4
cout@7sumEe-t(
end gen4
JJVS-09 66
ecomendaciones
Versin completa
Versin simplificada
&Omeros de punto flotante
1
s
exp f
:; () : %
: ; %
JJVS-09 76
5umador de punto flotante
JJVS-09 77
5umador fp