Académique Documents
Professionnel Documents
Culture Documents
Definimos una lgica, como se ve en la tabla de verdad, F solo toma dos valores o 0 o 1, entonces por condicionales generamos que cuando A y B sean la combinacin 11 la salida de F ser 1, sino la salida de F ser 0. Con esa lgica generamos nuestro cdigo en VHDL.
Cdigo en VHDL: library IEEE; use IEEE.std_logic_1164.all; entity vhdl is port ( A: in std_logic; // A y B son las entradas. B: in std_logic; F: out std_logic // F es la salida ); end vhdl; architecture funcion of vhdl is begin process (A,B) begin if (A='1' and B = '1') then F <= '0'; else F <= '1'; end if; end process; end funcion; Resultado de simulacin en el programa QUARTUS II.
LOGICA DEL SUMADOR COMPLETO. El sumador completo tiene que sumar dos bits de entrada y un acarreo de entrada. Sabemos que la suma de dos bits de entrada A y B es la operacin OR- exclusiva. Para sumar el acarreo de entrada a los dos bits de entrada, hay que aplicarle de nuevo la operacin OR-exclusiva, obtenindose la siguiente ecuacin para la salida S.
El algoritmo a realizar en el lenguaje VHDL ser de condicionales para los casos. Cdigo en VHDL: library IEEE; use IEEE.std_logic_1164.all; entity sumador is port ( A,B,Z: in std_logic; // son las entradas. S,C: out std_logic); // son las salidas. end sumador; architecture funcion of sumador is begin sumador:process(A,B,Z) begin if (A= '0' and B= '0'and Z= '0') then S<= '0'; C<= '0'; elsif (A= '0' and B= '0'and Z= '1') then S<= '1'; C<= '0'; elsif (A= '0' and B= '1'and Z= '0') then S<= '1'; C<= '0'; elsif (A= '0' and B= '1'and Z= '1') then S<= '0'; C<= '1'; elsif (A= '1' and B= '0'and Z= '0') then S<= '1'; C<= '0'; elsif (A= '1' and B= '0'and Z= '1') then S<= '0'; C<= '1'; elsif (A= '1' and B= '1'and Z= '0') then S<= '0'; C<= '1'; else S<= '1' ; C<= '1'; end if; end process sumador; end funcion;