Práctica 6. Divisor de d e frecuencia Código library IEEE; use IEEE.STD_LOGIC_1164.ALL; IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_arith.all; IEEE.STD_LOGIC_arith.all; use IEEE.STD_LOGIC_unsigned.all; IEEE.STD_LOGIC_unsigned.all; use IEEE.nueri!_std.all; IEEE.nueri!_std.all; entity di"ider is ##Entradas y salidas del di"is$r %$rt & !l$!' ( in std_l$gi!; ne)_!l$!' ( $ut std_l$gi! *; end di"ider; ar!hite!ture +eha"i$ral $, di"ider is signal !$nt_!l$!' ( integer (- ; signal te/ ( std_l$gi! (- 00; begin /r$!ess&!l$!'* begin i,&rising_edge&!l$!'** i,&rising_edge&! l$!'** then ##te/ &y !$nt_!l$!'* !abian !uand$ el !$ntad$r ##al!ana el "al$r i,&!$nt_!l$!' - 123* then !$nt_!l$!' 5- ; te/ 5- n$t&te/*; ne)_!l$!' 5- te/; else !$nt_!l$!' 5- !$nt_!l$!' 1; end i,; end i,; end /r$!ess; end +eha"i$ral; #################### library IEEE; use IEEE.STD_LOGIC_1164.ALL; IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_arith.all; IEEE.STD_LOGIC_arith.all; use IEEE.STD_LOGIC_unsigned.all; IEEE.STD_LOGIC_unsigned.all; use IEEE.nueri!_std.all; IEEE.nueri!_std.all; entity %6 is ##Entradas y salidas
%$rt &
,$rat$ ( in std_l$gi!; /ausa ( in std_l$gi!; sua ( in std_l$gi!; !l$!' ( in std_l$gi!; nu ( $ut std_l$gi!_"e!t$r &7 d$)nt$ * (88 *;
end %6; ar!hite!ture +eha"i$ral $, %6 is !$/$nent di"ider is %$rt & !l$!' ( in std_l$gi!; ne)_!l$!' ( $ut std_l$gi! *; end !$/$nent; ##9el$: !$n en$s ,re!uen!ia signal ne)_!l$!' ( std_l$gi!; ##C$ntad$r /ara in!reentarde!reentar signal !$nt ( std_l$gi!_"e!t$r &7 d$)nt$ * (- 88; ##C$ntad$r !$n !$rriient$ a la dere!ha signal r!$nt ( std_l$gi!_"e!t$r &7 d$)nt$ * (- 88; ##Cuenta !uant$s !i!l$s han /asad$ &/ara
di"ider /$rt a/&!l$!'> ne)_!l$!'*;
/r$!ess&ne)_!l$!'> sua> /ausa> ,$rat$> !$nt> r!$nt* begin i,&rising_edge&ne)_!l$!'* and /ausa - 010* then i,&,$rat$ - 010* then i, &sua - 010* then !$nt 5- !$nt 1; else !$nt 5- !$nt # 1; end i,; else ##Si el ,$rat$ es Gray> el C$ntad$r !abia
##!uand$ han /asad$ d$s /er?$d$s. !he!' 5- !he!' 1; i,&!he!' - 2* then i,&sua - 010* then !$nt 5- !$nt 1; else !$nt 5- !$nt # 1; end i,; !he!' 5- ; else !$nt 5- !$nt; end i,; end i,; else null; end i,; i,&,$rat$ - 010* then r!$nt 5- !$nt; nu 5- !$nt; else r!$nt 5- 00 @ !$nt&7 d$)nt$ 1*; nu 5- !$nt $r r!$nt; end i,; end /r$!ess; end +eha"i$ral;
Simulación
Esquema RTL
Al comarar el diagrama de !loques con el esquema RTL o!tenido en el soft"are# se o!serva que en am!os se uede areciar una comartimentación del modelo# sin em!argo# en el esquema RTL se uede reresentar a un nivel más !a$o que en el diagrama# ermitiendo ver cómo se forma cada uno de los comonentes del circuito.
E$ecución
%aturalmente# &a que se trata de fotos# no se uede o!servar el incremento & decremento del contador ni el retraso de tiemo ara cada formato. En las imágenes se muestra el n'mero (# )***+ en !inario & )*,,+ en código -ra&. Pro!lemas encontrados %o se encontró ning'n ro!lema durante esta ráctica. Conclusiones En esta ráctica tuvimos que acer uso del relo$ de forma similar a la ráctica asada# ero aora lo icimos arovecando las roiedades de los divisores de frecuencia. Esta ráctica se sintió como mucas en una orque fueron dos contadores los que se tuvieron que imlementar# ero fue una !uena oortunidad ara ensar creativamente & as/ resolver el ro!lema.