You are on page 1of 8

1

DISEO COMBINACIONAL MEDIANTE VHDL


Elena Gabriela Amador Toledo 113166; Rosalva Ortega Ruiz 112542
Universidad Autnoma de Ciudad Jurez
Departamento de Ingeniera Elctrica y Computacin
Circuitos digitales. Grupo B
al113166@alumnos.uacj.mx ; al112542@alumnos.uacj.mx

Resumen

En esta prctica se realizaron los problemas encargados en


clase interpretando lo que se peda en cada uno de los
problemas. Se realizaron la tabla de la verdad de cada uno
de ellos, se obtuvieron sus ecuaciones por medio de los
mapas de Karnaught para despus reducirlas por algebra
booleana, ya obtenidas las ecuaciones, fueron introducidas
a VHDL para ser programadas en FPGA.

I. INTRODUCCIN
Los sistemas combinacionales estn formados por un
conjunto de compuestas interconectadas cuya salida, en
un momento dado, esta nicamente en funcin de la
entrada, en ese mismo instante.
Histricamente, los primeros diseos digitales se
realizaron siguiendo las tcnicas clsicas de sntesis.
A medida que el grado de complejidad de los circuitos
aumentaba, dando lugar a circuitos de mayor grado de
integracin se tuvo que recurrir a mtodos que permiten
simular su comportamiento.
Los lenguajes de descripcin de hardware (HDL)
reemplazan la descripcin esquemtica de un sistema
digital por una descripcin textual.
En la dcada de 1980 surgi la necesidad de crear un
lenguaje normalizado y se desarroll VHDL que fue
normalizado por el IEEE.
VHDL permite especificar el comportamiento o la
estructura de un sistema empleando jerarquas, tambin
permite hacer descripciones desde un alto nivel de
algoritmos hasta un nivel de componentes que pueden
compartir la misma descripcin.
Las siglas FPGA significan Field Programable Gate
Array. Como su nombre indica, se trata de un dispositivo
compuesto por una serie de bloques lgicos (puertas,
registros, memorias, flip/flops, etc) programables, es
decir, la interconexin entre estos bloques lgicos y su
funcionalidad no viene predefinida sino que se
puede programar y reprogramar.

II. DESARROLLO
Dentro de la practica 8, que es la primera parte de los
diseos combinacionales, se resolvieron, leyeron y
analizaron los siguientes problemas.
Problema 1.
Disee un sistema combinacional capaz de
comparar dos nmeros binarios A y B de dos bits
cada numero, que genere 3 salidas para indicar si
A=B, A<B, A>B.
Problema 4.
Disee un sistema combinacional capaz de indicar
la decisin de aceptada o rechazada a una
propuesta cuando el porcentaje de las acciones a
favor es mayor o igual al 60 %.
Tomando en cuenta que la empresa tiene cuatro
accionistas en donde el accionista A tiene el 40 %,
el B el 30 %, el C el 20% y el D el 10 %, en funcin
de la votacin de cada uno de los accionistas a
favor = 1 o en contra = 0, el sistema deber de
indicar en la salida Y si cumple.
Problema 5.
Un sistema de alarma contra incendios se
conectara a cinco conmutadores X1, X2, X3, X4 y
X5 si se activa uno de estos conmutadores debe de
activarse una sirena S1, si se activan dos o mas
conmutadores en forma simultanea deben
encenderse la sirena S1 y una segunda sirena S2.
Al final de cada problema se implementaba el cdigo
VHDL que nos permita se procedi acceder al diagrama
de tiempos para comparar nuestras respuestas con la tabla
de verdad.
Para la segunda parte, es decir la practica 9, se
resolvieron tres problemas ms.
El primer problema trata de un semforo donde se
estableci cuando debera encender y para que autopista.
Se tenan dos autopistas una de este a oeste y la otra de
norte a sur. El semforo de la autopista este a oeste se debe
de poner en verde siempre que los carriles C y D estn

ocupados, o cuando algunos de estos estn desocupados y


los carriles A y B no estn ocupados.
El otro semforo norte-sur siempre estar en verde
cuando A y B estn ocupados, siempre y cuando C y D
estn desocupados, o bien cuando A o B estn ocupados
pero C y D estn vacantes.
Para cuando no circula vehculo alguno el semforo que
estar encendido ser este-oeste.
En el segundo problema se busca encontrar una salida que
nos muestra el voto de cinco jueces respecto a cierta
competencia.
Las salidas sern dos S1 y S0. Cuando el voto es 4-1 o
5-0 a favor la salida ser igual a S1, S0= 1,1. Cuando el
voto es 4-1 o 5-0 en contra la salida ser igual a S1, S0=
0,0. Si la votacin es 2-3 o 3-2 la competencia debe
continuar y la salida ser S1, S0= 1,0.
El tercer y ltimo problema de esta parte de la prctica se
tienen tres salidas: S0 que nos muestra las combinaciones
impares, S1 indica las combinaciones pares y S2 seala
que las combinaciones de las seales de entrada
representan nmeros primos. Las entradas para el sistema
combinacional sern seis.
Despus de leer cada problema se realizaron las tablas de
verdad correspondientes. Con los resultados de la tabla de
verdad se establecieron sentencias para crear un cdigo e
implementar el circuito por medio del programa ISE. Se
cre un programa para cada problema dependiendo de las
condiciones que se indicaban.

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
1
0
0
0
0
1

0
0
0
1
0
0
0
0

1
1
0
0
1
1
1
0

Despus de haber visto cmo debe reaccionar nuestro


circuito se procedi a dar el siguiente cdigo:
entity comprador is
Library IEEE;
Use IEEE.STD_LOGIC_1164.ALL;
Port (A: in STD_LOGIC_VECTOR (1 DOWNTO 0);
B : in STD_LOGIC_VECTOR (1 DOWNTO 0);
Y : out STD_LOGIC_VECTOR (2 DOWNTO 0);
end compador;
architecture Behavioral of comparador is
begin
IF (A=B) THEN Y = "010"
ELSE IF (A<B) THEN Y="001"
ELSE Y="100";
end Behavioral;

III. RESULTADOS
Parte 1
Resultados del problema 1.
Despus del anlisis del problema 1 se muestra en la
siguiente tabla el comparador donde las salidas son las
marcadas en colores distintos y las entradas que son A0,
A1, B0, B1.
Tabla 1. Tabla de la verdad del comparador o del primer problema.

A0
0
0
0
0
0
0
0
0

A1
0
0
0
0
1
1
1
1

B0
0
0
1
1
0
0
1
1

B1
0
1
0
1
0
1
0
1

A=B
1
0
0
0
0
1
0
0

A<B
0
1
1
1
0
0
1
1

A>B
0
0
0
0
1
0
0
0

Figura 1. Simulacin del programa del comparador.

Una vez que se compar las salidas que coincidan con la


tabla de la verdad. Se muestran en las siguientes figuras
el esquema general del comparador y sus esquemas de
bloques donde cada bloque es una cantidad de compuertas
y en estos esquemas se muestra como es la estructura
grafica de las compuertas que se usaron para elaborar el
programa.

En el que se implanto el siguiente cdigo:


Entity voto is
Port (A: IN STD_LOGIC_VECTOR (3 DOWNTO 0)
;
Y: out std_logic);
end voto;

Figura2.- Esquema del comparador y bloques de compuertas.

architecture Behavioral of voto is


begin
Y <= '1' when A= "0111" else
'1' when A= "1010" else
'1' when A= "1011" else
'1' when A="1100" else
'1' when A="1101" else
'1' when A= "1110" else
'1' when A= "1111" else
'0';
EndBehavioral;

Al hacer click en cada una de las compuestas se puede ver


como cada combinacin o comparacin est formada por
compuestas AND mientras que la salida est constituida
con una compuerta OR.
Resultados del problema 4.
Despus de analizar el problema se siguieron los pasos
anteriores.
Tabla 2. Tabla de la verdad del circuito combinacional del segundo
problema

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Y
0
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1

Figura 3.- Simulacin del cuarto problema de la practica 8.

Figura 4.- Esquema de las compuertas del cuarto problema de la


practica 8.

Y para concluir los problemas con la prctica 8 se realiz


el problema 5. El cual se demostr con la siguiente tabla.
Tabla 3. Tabla de la verdad del quinto problema en la practica 8.

X1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

X2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

X3
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

X4
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

X5
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

S2
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Despus se aplic el siguiente cdigo:


entity alarmavsincendio is
Port (A: in STD_LOGIC_vector( 4 downto 0 );

elsif (A= "10000") then S <= "10" ;


else S <= "11" ;
end if ;
end process;
end Behavioral;
Con el cual se pudo simular, dndonos como resultado
las siguientes imgenes.

Figura 5.- Simulacin del tercer problema en leguaje VDHL.

Figura 6.- Esquema o estructura de las compuertas de la salida S1 y


el bloque de la salida S2 del problema 5 de la practica 8.

S : out std_logic_vector (1 downto 0) );


end alarmavsincendio;
architecture Behavioral of alarmavsincendio is
begin
process (A)
begin
if (A = "00000") then S <= "00" ;
elsif (A= "00001") then S <= "10" ;
elsif (A= "00010") then S <= "10" ;
elsif (A= "00100") then S <= "10" ;
elsif (A= "01000") then S <= "10" ;

Figura 7. Esquema o estructura de las compuestas ya mas


desplegadas en problema 5 de la practica 8.

Parte 2
Resultados del problema 1.
Despus de analizar las condiciones del primer problema,
la tabla del verdad del problema del semforo queda de la
siguiente manera:
Tabla 4. Tabla de verdad circuito combinacional problema 1

D
A0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

C
A1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

B
A2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

A
A3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

E-W
Y0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0

N-S
Y1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

Como ya se haba mencionado despus de tener la tabla


de verdad se cre un cdigo para implementar el circuito
que se desea. En la figura 8 se muestra el cdigo
correspondiente al primer problema.

Figura 9. Diagrama esquemtico problema 1

En la figura 9 se visualiza el diagrama donde se


representan las compuertas utilizadas para la creacin del
circuito del primer problema analizado.
Resultados del problema 2.
Para el problema 2 se sabe que cuando la votacin es 4-1
o 5-0 a favor la salida ser igual a 11, en cambio cuando
es 4-1 o 5-0 en contra la seal de salida ser igual a 00.
En cualquier otro caso la salida ser 01.
Teniendo eso en cuenta se realiz la tabla de verdad
mostrada en la tabla 5. Despus con estos resultados se
cre el cdigo para dicho circuito, este cdigo se muestra
en la figura 10.
Tabla 5. Tabla de verdad circuito combinacional problema 2.

Figura 8. Cdigo problema 1

J1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1

J2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0

J3
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0

J4
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

J5
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0

S1
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1

6
1
1
1
1
1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
1
1
1
1
0
0
0
0
1
1
1
1

1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
0
0
0
0
1
0
0
0
1
0
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1

Figura 10. Cdigo problema 2

Resultados del problema 3.


Para este tercer problema se busca representar en la salida
S0 los nmeros impares, en la salida S1 los pares y los
nmeros primos en la salida S2.
Los nmeros pares en binario siempre terminan en 0 y
los nmeros impares en 1. Los nmeros primos se saben
que son los que solo se pueden dividir entre dos nmeros
los cuales es el uno y l mismo.
Sabiendo lo anterior se cre la tabla de verdad la cual
cuenta con seis entradas y tres salidas como ya se haba
mencionado. Y se muestra con mayor claridad en la tabla
6.

Tabla 6. Tabla de verdad circuito combinacional problema 3

E0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1

E1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

E2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1

E3
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1

E4
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

E5
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

S2
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
1
0
0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
Figura 12. Cdigo nmeros pares problema 3

El cdigo utilizado para este problema se muestra en la


figura 11 donde la salida nos mostrar los nmeros
impares que no son primos y la condicin en la que se
muestran los nmeros pares y que son a la vez primos.

IV. CONCLUSIONES
En esta prctica se realizaron los problemas que daban
ambas prcticas y a su vez se hicieron sus tablas de
verdad, donde, despus se hizo el algoritmo usando
diferentes comandos vistos en clase.
Los sistemas combinacionales son utilizadados en
circuitos sencillos y en esta prctica pudimos ver algunos
ejemplos bsicos en la cual se utilizan. Estos sistemas
combinacionales producen una respuesta instantnea, es
decir, las salidas se pueden calcular a partir de la
combinacin de los valores de las entradas en el mismo
instante. Esto sistemas al poder sencillos de hacer tiene
muchas utilizaciones bsicas
.
Rosalva Ortega Ruiz.

Figura 11. Cdigo nmeros impares problema 3

En la figura 12 se muestra la otra parte del cdigo donde


se muestran las condiciones para que en la seal de salida
se vean los nmeros impares y primos. La ltima
condicin es para cualquier otra seal de entrada nos
muestre como salida los nmeros pares nicamente.

En esta prctica se utiliz el conocimiento adquirido en


clase para utilizar los comandos IF, ELSE, VECTOR,
entre otros, con la finalidad de entender que mediante
estos comandos podemos ahorrarnos el paso de los mapas
de Karnaugh aparte de las largas ecuaciones que hay que
escribir en el programa Xilinx.
Fue repasado el conocimiento adquirido en laboratorio de
control y practicas anteriores ya que tuvimos que definir
las variables que utilizamos, y usar programas con los que
ya habamos trabajado antes en clase.
Elena Gabriela Amador Toledo.

8
V. Bibliografa

M. Morris Mano; Escalona Garca, Roberto; Duchn


Snchez, Gonzalo; Diseo Digital, Pearson
Educacin, 2003.
C. H. Roth, Jr.; Fundamentos de Diseo Lgico;
Thomson, 2005.

You might also like