PRACTICA8
-
Upload
joan-bautista-bautista -
Category
Documents
-
view
8 -
download
1
description
Transcript of PRACTICA8
-
1
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, AB.
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
Elena Gabriela Amador Toledo 113166; Rosalva Ortega Ruiz 112542 Universidad Autnoma de Ciudad Jurez
Departamento de Ingeniera Elctrica y Computacin Circuitos digitales. Grupo B
[email protected] ; [email protected]
DISEO COMBINACIONAL MEDIANTE VHDL
-
2
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.
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 A1 B0 B1 A=B AB
0 0 0 0 1 0 0
0 0 0 1 0 1 0
0 0 1 0 0 1 0
0 0 1 1 0 1 0
0 1 0 0 0 0 1
0 1 0 1 1 0 0
0 1 1 0 0 1 0
0 1 1 1 0 1 0
1 0 0 0 0 0 1
1 0 0 1 0 0 1
1 0 1 0 1 0 0
1 0 1 1 0 1 0
1 1 0 0 0 0 1
1 1 0 1 0 0 1
1 1 1 0 0 0 1
1 1 1 1 1 0 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
-
3
Figura2.- Esquema del comparador y bloques de compuertas.
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
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;
architecture Behavioral of voto is begin
Y
-
4
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 X2 X3 X4 X5 S1 S2
0 0 0 0 0 0 0
0 0 0 0 1 1 0
0 0 0 1 0 1 0
0 0 0 1 1 1 1
0 0 1 0 0 1 0
0 0 1 0 1 1 1
0 0 1 1 0 1 1
0 0 1 1 1 1 1
0 1 0 0 0 1 0
0 1 0 0 1 1 1
0 1 0 1 0 1 1
0 1 0 1 1 1 1
0 1 1 0 0 1 1
0 1 1 0 1 1 1
0 1 1 1 0 1 1
0 1 1 1 1 1 1
1 0 0 0 0 1 1
1 0 0 0 1 1 0
1 0 0 1 0 1 1
1 0 0 1 1 1 1
1 0 1 0 0 1 1
1 0 1 0 1 1 1
1 0 1 1 0 1 1
1 0 1 1 1 1 1
1 1 0 0 0 1 1
1 1 0 0 1 1 1
1 1 0 1 0 1 1
1 1 0 1 1 1 1
1 1 1 0 0 1 1
1 1 1 0 1 1 1
1 1 1 1 0 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 );
S : out std_logic_vector (1 downto 0) );
end alarmavsincendio; architecture Behavioral of alarmavsincendio is
begin process (A)
begin
if (A = "00000") then S
-
5
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 C B A E-W N-S
A0 A1 A2 A3 Y0 Y1
0 0 0 0 1 0
0 0 0 1 0 1
0 0 1 0 0 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 0 0
0 1 1 0 0 0
0 1 1 1 0 0
1 0 0 0 1 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 0
1 1 0 0 1 0
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 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 8. Cdigo problema 1
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.
J1 J2 J3 J4 J5 S0 S1
0 0 0 0 0 0 0
0 0 0 0 1 0 0
0 0 0 1 0 0 0
0 0 0 1 1 0 1
0 0 1 0 0 0 0
0 0 1 0 1 0 1
0 0 1 1 0 0 1
0 0 1 1 1 0 1
0 1 0 0 0 0 0
0 1 0 0 1 0 1
0 1 0 1 0 0 1
0 1 0 1 1 0 1
0 1 1 0 0 0 1
0 1 1 0 1 0 1
0 1 1 1 0 0 1
0 1 1 1 1 1 1
1 0 0 0 0 0 0
1 0 0 0 1 0 1
-
6
1 0 0 1 0 0 1
1 0 0 1 1 0 1
1 0 1 0 0 0 1
1 0 1 0 1 0 1
1 0 1 1 0 0 1
1 0 1 1 1 1 1
1 1 0 0 0 0 1
1 1 0 0 1 0 1
1 1 0 1 0 0 1
1 1 0 1 1 1 1
1 1 1 0 0 0 1
1 1 1 0 1 1 1
1 1 1 1 0 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 E1 E2 E3 E4 E5 S0 S1 S2
0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 1 0 0
0 0 0 0 1 0 0 1 1
0 0 0 0 1 1 1 0 1
0 0 0 1 0 0 0 1 0
0 0 0 1 0 1 1 0 1
0 0 0 1 1 0 0 1 0
0 0 0 1 1 1 1 0 1
0 0 1 0 0 0 0 1 0
0 0 1 0 0 1 1 0 0
0 0 1 0 1 0 0 1 0
0 0 1 0 1 1 1 0 1
0 0 1 1 0 0 0 1 0
0 0 1 1 0 1 1 0 1
0 0 1 1 1 0 0 1 0
0 0 1 1 1 1 1 0 0
0 1 0 0 0 0 0 1 0
0 1 0 0 0 1 1 0 1
0 1 0 0 1 0 0 1 0
0 1 0 0 1 1 1 0 1
0 1 0 1 0 0 0 1 0
0 1 0 1 0 1 1 0 0
0 1 0 1 1 0 0 1 0
0 1 0 1 1 1 1 0 1
0 1 1 0 0 0 0 1 0
0 1 1 0 0 1 1 0 0
0 1 1 0 1 0 0 1 0
0 1 1 0 1 1 1 0 0
0 1 1 1 0 0 0 1 0
0 1 1 1 0 1 1 0 1
0 1 1 1 1 0 0 1 0
0 1 1 1 1 1 1 0 1
1 0 0 0 0 0 0 1 0
1 0 0 0 0 1 1 0 0
1 0 0 0 1 0 0 1 0
1 0 0 0 1 1 1 0 0
1 0 0 1 0 0 0 1 0
1 0 0 1 0 1 1 0 1
1 0 0 1 1 0 0 1 0
1 0 0 1 1 1 1 0 0
1 0 1 0 0 0 0 1 0
1 0 1 0 0 1 1 0 1
1 0 1 0 1 0 0 1 0
1 0 1 0 1 1 1 0 1
1 0 1 1 0 0 0 1 0
1 0 1 1 0 1 1 0 0
-
7
1 0 1 1 1 0 0 1 0
1 0 1 1 1 1 1 0 1
1 1 0 0 0 0 0 1 0
1 1 0 0 0 1 1 0 0
1 1 0 0 1 0 0 1 0
1 1 0 0 1 1 1 0 0
1 1 0 1 0 0 0 1 0
1 1 0 1 0 1 1 0 1
1 1 0 1 1 0 0 1 0
1 1 0 1 1 1 1 0 0
1 1 1 0 0 0 0 1 0
1 1 1 0 0 1 1 0 0
1 1 1 0 1 0 0 1 0
1 1 1 0 1 1 1 0 1
1 1 1 1 0 0 0 1 0
1 1 1 1 0 1 1 0 1
1 1 1 1 1 0 0 1 0
1 1 1 1 1 1 1 0 0
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.
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.
Figura 12. Cdigo nmeros pares problema 3
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.
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.