You are on page 1of 17

ALVAREZ BALTIERRA HIRAM JAIR

CAMPOS JARDON LUIS EDUARDO


GUTIERRZ ARRIAGA LUIS URIEL

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Practica 1: Circuitos Combinacionales y Secuenciales

INTRODUCCIN

SUMADORES
En electrnica un sumador es un circuito lgico que calcula la operacin suma. En
los computadores modernos se encuentra en lo que se denomina Unidad
aritmtico lgica (ALU).
Generalmente realizan las operaciones aritmticas en cdigo binario, decimal o
BCD exceso en 3, por regla general los sumadores emplean el sistema binario.
En los casos en los que se est empleando un complemento a dos para
representar numero negativos, el sumador se convertir en un sumadorsubstractor (Adder-substracter).
Tipos de sumadores

Half- adder
Full- adder
Metodo Ripple
Carry- Look- Ahead
Carry- select

SEMISUMADOR
Se denomina semisumador al circuito combinacional capaz de realizar la suma
aritmtica binaria de dos nicos bits A y B, proporcionando a su salida un bit
resultado de suma S y un bit de acarreo C. En la siguiente figura se muestra la
tabla de verdad de este circuito con sus funciones, acompaado de un esquema
del Half-Adder.

Dispositivos Lgicos Programables

1/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

FULL ADDER
Este dispositivo nos ofrece una mejora del semisumador al cual se le aade un
acarreo de entrada.
De esta manera podemos afrontar sumas de ms de un bit para las cuales
utilizaremos el acarreo de salida del anterior en el acarreo de entrada del
siguiente. As completamos la suma correctamente.
A continuacin vemos la tabla de verdad y un esquema.

METODO RIPPLE
Un sumador de dos informaciones binarias A+B de n bits necesita realizar n sumas
parciales, empleando para ello n sumadores completos. Esto nos hace conectar el
acarreo de salida con el siguiente acarreo de entrada de manera que podamos
realizar la suma del siguiente bit con acarreo.

Dispositivos Lgicos Programables

2/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Es un circuito muy simple e intuitivo pero presenta el serio inconveniente de tener


que esperar un tiempo igual a n tiempos de propagacin antes de obtener un
resultado estable.

CARRY LOOK AHEAD


Este sumador, llamado tambin sumador paralelo con acarreo anticipado, realiza
la suma aumentando la velocidad de proceso sobre la conexin en serie. Lo logra
mediante la generacin de todos los bits de acarreo en el mismo proceso de
clculo de las sumas parciales.
Al sumar dos informaciones se obtendr el acarreo por dos posibilidades: Se
genera acarreo en la propia etapa del sumador.
Generado (A=B=1)
Gj = Aj * Bj
Proviene de la etapa anterior. Propagado
Pj = Aj Bj
Por tanto el acarreo producido en la etapa i-esima Ci ser porque se genera o
propaga y se expresar: Ci=Gi+ Pi Ci-1=Ai Bi + (Ai + Bi) Ci-1

CARRY SELECT

Dispositivos Lgicos Programables

3/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

En este tipo de sumador se realiza un acarreo


mixto basado en sumadores y multiplexores,
donde la generacin de acarreo en cada
sumador

se

realiza

en

paralelo

la

propagacin en cada multiplexor en serie.


El tiempo de propagacin de este sumador
depende del tiempo de propagacin de la
primera etapa, ms el tiempo de propagacin
de los (M/N-1) multiplexores para propagacin
del acarreo. A cambio el circuito es bastante ms grande que la estructura ripple.
OBJETIV
O:
Que el alumno desarrolle la habilidad de disear y diferenciar entre un
circuito combinacional y un circuito secuencial. As como implementarlo en
un DPL utilizando el Lenguaje de desarrollo de hardware VHDL.
PROCEDIMIE
NTO:
1.- Disear un sumador / restador de 3 bits, mostrando el resultado en dos
displays

de

segmentos,

el

resultado

deber

ser

presentado

en

hexadecimal; teniendo en cuenta que la suma mxima seria 7 + 7 el


resultado a mostrar ser

0xE, y la resta mxima ser 0

resultado mostrara 0x7., siendo el punto el indicador de signo.

Dispositivos Lgicos Programables

4/2

15 y el

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Dispositivos Lgicos Programables

5/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

2.- Disear un contador de 0 99 a 10 Hz, donde se muestre el contador en


dos displays de nodo comn que comparten bus de datos, los cuales tienen
seales de activacin para cada display donde se debe de habilitar uno a
uno cada display a una frecuencia de 200 Hz. El contador debe de contar
con un botn de reset y detiene-avanza, activado en alto y bajo
respectivamente.

Dispositivos Lgicos Programables

6/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
--creacin de la entidad, designacin de entradas y salidas
entity ejercicio2 is port(
clk :in std_logic;
reset,pause:in std_logic;
disp:out std_logic_vector(3 downto 0);
sal:out std_logic_vector(7 downto 0));
end ejercicio2;

architecture Behavioral of ejercicio2 is


signal clk10hz,clk200hz:std_logic; --signal de los relojes para ajustar la
frecuencia
signal uni,dec:std_logic_vector(3 downto 0);
signal aux: std_logic_vector(3 downto 0);

begin
process (clk) proceso para ajustar la frecuencia a los 200 Hz deseados
variable i:integer;
begin
if(clk'event and clk='1')then

Dispositivos Lgicos Programables

7/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

i:=i+1;
if(i<250000)then
clk200hz<='0';
elsif(i=500000)then
i:=0;
clk200hz<='1';
else
clk200hz<='1';
end if;
end if;
end process;
proceso para que la tarjeta funcione a 1 Hz y se pueda observar mejor el
comportamiento del --programa
process (clk)
variable i:integer;
begin
if(clk'event and clk='1')then
i:=i+1;
if(i<5000000)then
clk10hz<='0';
elsif(i=10000000)then
i:=0;
clk10hz<='1';
end if;
end if;
end process;

process (clk200hz, aux,dec,uni)

--proceso de decodificacion de datos a

imprimir
begin
if(clk200hz = '0')then
disp<="1101";
aux<=dec;

Dispositivos Lgicos Programables

8/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

case (aux) is
when "0000"=>sal<=x"C0";
when "0001"=>sal<=x"F9";
when "0010"=>sal<=x"A4";
when "0011"=>sal<=x"B0";
when "0100"=>sal<=x"99";
when "0101"=>sal<=x"92";
when "0110"=>sal<=x"83";
when "0111"=>sal<=x"F8";
when "1000"=>sal<=x"80";
when others=>sal<=x"98";
end case;
else
disp<="1110"; aux<=uni;
case (aux) is
when "0000"=>sal<=x"C0";
when "0001"=>sal<=x"F9";
when "0010"=>sal<=x"A4";
when "0011"=>sal<=x"B0";
when "0100"=>sal<=x"99";
when "0101"=>sal<=x"92";
when "0110"=>sal<=x"83";
when "0111"=>sal<=x"F8";
when "1000"=>sal<=x"80";
when others =>sal<=x"98";
end case;
end if;
end process;

process (clk10hz,reset,pause) proceso en el cual se inicia la suma de datos


en el contador
begin
if(clk10hz'event and clk10hz='1')then
if (reset='0')then
if (pause='0') then

Dispositivos Lgicos Programables

9/2

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

if (uni<"1001") then
uni<=uni+1;
else
uni<="0000";
if (dec<"1001") then
dec<=dec+1;
else
dec<="0000";
end if;
if (dec="1001" and uni="0101")then
dec<="0000";
uni<="0000";
end if;
end if;
else
uni<=uni;
dec<=dec;
end if;
else
dec<="0000";
uni<="0000";
end if
end if;
end process;
end Behavioral;

3.- Realizar un circuito digital que conste de 4 contadores de 0 15 con


diferentes frecuencias cada uno, las frecuencias de operacin de cada
contador sern

150Hz, 1.5Hz, 200Hz y

50Hz.Cada uno de los contadores se debern mostrar en displays de nodo


comn los cuales
tienen seales de activacin para cada uno, se debe de habilitar uno a uno
cada display a una frecuencia de 800 Hz.

Dispositivos Lgicos Programables

10/

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Dispositivos Lgicos Programables

11/

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Dispositivos Lgicos Programables

12/

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Dispositivos Lgicos Programables

13/

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

Dispositivos Lgicos Programables

14/

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

4.-Disear el Control Digital de un teclado matricial de 4x4, teniendo una


frecuencia de muestreo por lnea de 20Hz, y con prioridad del ms alto,
implementar un mtodo de paro de muestreo si se detect una tecla
presionada, mostrar en un display de 7 segmentos la tecla que se presion
en el teclado.

Dispositivos Lgicos Programables

15/

INSTITUTO POLITCNICO NACIONAL


UNIDAD PROFESIONAL INTERDISCIPLINARIA EN
INGENIERA Y TECNOLOGAS AVANZADAS

NOTA: Este ltimo ejercicio fue evaluado con el ejercicio de la prctica nmero 2.

CONCLUSIONES
Gutirrez:
La principal funcin de esta prctica es mostrarnos que podemos realizar
circuitos tanto secuenciales, como combinacinales en vhdl. En su uno de los
mayores problemas que surgi al momento de realizar esta prctica fue el de
generar los diversos comparadores de frecuencia.

Campos Jardon Luis Eduardo:


En VHDL, existen varias formas de hacer los sumadores y restadores, desde
usar los corrimientos, por medio de operaciones lgicas o usando el signo +
-.
Es una gran ventaja poder utilizar estos smbolos directamente, ya que ahorran
mucho cdigo y tiempo de programacin para poder utilizarlo en la aplicacin.

Dispositivos Lgicos Programables

16/

You might also like