Programas Vhdl

Páginas: 8 (1765 palabras) Publicado: 2 de diciembre de 2012
Electrónica Digital II

Tarea 1

Profesor:

Alumno:

Fecha de entrega: 1 de Octubre de 2012

BCD_7_seg
-------------------------------------------------------------------------------
library IEEE; use IEEE.STD_LOGIC_1164.all;
entity BCD_7_Seg is
port( B : in STD_LOGIC_VECTOR(3 downto 0); --Entrada BCD
S : out STD_LOGIC_VECTOR(7 downto 1) -- Salida 7 segmentos);
end BCD_7_Seg;
architecture Decodificador of BCD_7_Seg is
begin process(B)
begin
case B is
when "0000" => S <= "1111110"; --Conversion de codigo
when "0001" => S <= "0110000"; -- De S(7) que sera el segment a
when "0010" => S <= "1101101"; --A S(1) que sera el segment g
when "0011" => S <= "1111001";
when "0100" => S <="0110011";
when "0101" => S <= "1011011";
when "0110" => S <= "1011111";
when "0111" => S <= "1110000";
when "1000" => S <= "1111111";
when "1001" => S <= "1110011";
when others => S <= "-------"; --No importa, sin valor
end case; end process; end Decodificador;
Simulacion del BCD_7_Segmentos

Aquí se muestra la salida de los7 bits de acuerdo al guarismo que se tenga en los 4 bits de entrada. Como se puede apreciar a partir del guarismo 9 ya no hay señal de salida.
Para “0” código BCD “0000” Aquí se muestra la representación del código de 7 segmentos “1111110”
Para “1” código BCD “0001” Aquí se muestra la representación del código de 7 segmentos “0110000”
Para “2” código BCD “0010” Aquí se muestra larepresentación del código de 7 segmentos “1101101”

Comp_n
---------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity Comp_n is
generic (n : integer := 4 );
port( Gi, Ei, Li : in STD_LOGIC; --Operandos
A,B : in STD_LOGIC_VECTOR(n-1 downto 0); --Cascada
Go,Eo,Lo : out STD_LOGIC --Salidas
);
end Comp_n;
architecture Recurrente ofComp_n is
signal G, E, L : std_logic_vector (n downto 0); --Intermedios
begin
process (A,B,Gi,Ei,Li,G,E,L)
begin
G(n) <= Gi; E(n) <=Ei; L(n) <=Li; --Entradas cascada
for i in n-1 downto 0 loop
G(i) <= G(i+1) OR (E(i+1) AND (A(i) AND NOT(B(i))));
E(i) <= E(i+1) AND (A(i) XNOR B(i));
L(i) <= L (i+1) OR (E(i+1) AND (NOT(A(i)) AND B(i)));end loop; end process;
Go <= G(0); Eo <= E(0); Lo <= L(0);
end Recurrente;
Simulacion de Comparador Generico
Gi=0, Ei=1, Li=0; A(0)=0, B(0)=0, Go=0, Eo=0 y Lo=0
Gi=0, Ei=1, Li=0; A(1)=1, B(1)=0, Go=1, Eo=0 y Lo=0

Sumador_n
-------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.all;entitySumador_gen is
generic (n : integer := 4);
port( Ci : in STD_LOGIC; -- Acarreo de entrada
A, B : in STD_LOGIC_VECTOR(n-1 downto 0); -- Sumandos
Co : out STD_LOGIC; -- Acarreo de salida
S : out STD_LOGIC_VECTOR(n-1 downto 0) -- Suma
);
endSumador_gen;
architectureRecurrente of Sumador_gen is
signal C : std_logic_vector(n downto 0); --Acarreos intermedios
begin
process(A,B,C,Ci)
begin
c(0) <= Ci; --Acarreo de entrada
fori in 0 to n-1 loop
S(i) <= (A(i) XOR B(i)) XOR C(i); -- Suma recurrente
C(i+1) <= ((A(i) AND B(i)) OR (A(i) AND C(i))) OR (B(i) AND C(i)); -- Acarreorecurrente
end loop;
Co <= C(n);
endprocess;end Recurrente;
Simulacion del Sumador Genérico de 4 bits sin acarreo

Simulacion del Sumador Genérico de4 bits con acarreo inicial cada 150ns

Simulacion del Sumador Genérico de 4 bits con acarreo de salida cada 150ns

“Comprobación de la Suma 4+2=6”
Ci=0, A(2)=1, B(2)=0, Co=0 S(2)=1

Restador_n
-------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entityRestador_Genis
generic( n : integer := 4 ); -- Definicion de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programa en vhdl contador década
  • Vhdl
  • Vhdl
  • Vhdl
  • VHDL el arte de programar sistemas digitales
  • VHDL
  • vhdl
  • Vhdl

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS