Professional Documents
Culture Documents
Gua No. 3:
Simulacin VHDL de circuitos MSI
Catedrtico:
Ing. Salvador German.
Instructores:
Br. Bryan No Castro Cortez.
Br. David Romeo Vsquez Rodrguez.
Bachilleres: Carnet:
Hernndez Nieto, Jairo Alejandro HN14001
Sorto Castillo, Jairo Josu SC14009
INDICE
Introduccin: ................................................................................................................ 3
Objetivo General: ......................................................................................................... 4
Objetivos Especficos: ................................................................................................. 4
Marco Terico: ............................................................................................................. 5
Obtencin de Software: ................................................................................................ 8
Asignacin: ..................................................................................................................12
Ejercicio 1: ................................................................................................................12
Decoder de 3 a 8: ..................................................................................................12
coder 8 a 3: ..........................................................................................................13
Multiplexor de 2 a 1: .............................................................................................14
Demux de 1 a 4 con dos variables de control: .........................................................16
FULL ADDER: ........................................................................................................17
Multiplexor con dos entradas de datos de 4 bit y una variable de seleccin .............18
Ejercicio 2:................................................................................................................19
Ejercicio 3:............................................................................................................... 25
Investigacin: .............................................................................................................. 32
Coders: ................................................................................................................ 32
Decoders: ............................................................................................................. 34
Multiplexores: ...................................................................................................... 36
Demultiplexores: .................................................................................................. 37
sumador: .............................................................................................................. 38
Conclusiones: .............................................................................................................. 39
Bibliografa: ................................................................................................................ 40
Sitios Web: .............................................................................................................. 40
2
Gua 3: Circuitos MSI SDI115
Introduccin:
En el presente trabajo se presenta una sntesis de los circuitos MSI, los circuitos
combinaciones MSI son aquellos en los que las salidas dependen exclusivamente de las
entradas, luego para una misma entrada siempre se tiene la misma salida.
- Multiplexores y demultiplexores,
- Codificadores y decodificadores,
- Comparadores.
3
Gua 3: Circuitos MSI SDI115
Objetivo General:
Objetivos Especficos:
Estudiar el software asignado por la catedra para trabajar los Circuitos MSI.
4
Gua 3: Circuitos MSI SDI115
Marco Terico:
Para continuar conociendo el mundo de los sistemas digitales se dar un paso ms
profundo, basndonos en el uso de bloques constructores ms complejos que las funciones
lgicas que se han utilizado hasta ahora. Esto se puede hacer mediante el uso de sistemas o
circuitos MSI (Medium Scale of Integration) dnde el nmero de puertas bsicas puede ser
desde 10 hasta 100.
- Multiplexores y demultiplexores,
- Codificadores y decodificadores,
- Comparadores.
Multiplexores y demultiplexores:
5
Gua 3: Circuitos MSI SDI115
Codificadores y decodificadores,
Un decodificador es un circuito lgico con n entradas y 2n salidas, tal que para cada
combinacin de entradas se activa al menos una salida. Si slo se activa una salida se
denomina decodificador completo. Por ejemplo, este es un circuito decodificador completo
de 3 a 8 lneas, permitira la activacin de un dispositivo al proporcionarle la direccin de
dicho dispositivo. Dispone de una entrada de HABILITACIN (enable) que conecta o
desconecta el dispositivo, en este caso dicha entrada es activa a NIVEL BAJO, ya que el
dispositivo se activa cuando dicha entrada recibe un 0 lgico.
6
Gua 3: Circuitos MSI SDI115
Tanto las entradas como las salidas, principalmente estas ltimas, pueden ser:
Adems, el nmero de entradas de Habilitacin puede ser de una o ms, y pueden estar
activas a nivel alto o bajo. Podemos encontrar decodificadores de muy diversos
tamaos:
- De 2 a 4 lneas
- De 3 a 8 lneas (bin a oct)
- De 4 a 16 lneas (bin a hex)
- Convertidores de cdigos: BCD/decimal y BCD/7-seg
Los CODIFICADORES Son los dispositivos MSI que realizan la operacin inversa a la
realizada por los decodificadores. Generalmente, poseen 2n entradas y n salidas.
Cuando solo una de las entradas est activa para cada combinacin de salida, se le
denomina codificador completo.
Comparadores.
7
Gua 3: Circuitos MSI SDI115
Obtencin de Software:
El softwate TINA se obtuvo de la direccin Dropbox que subieron al grupo de Facebook
de la asignatura:
https://www.dropbox.com/sh/mmbmmcgxblibnwf/AAAYWpSzxYwvpXdmYe_iMbe5a?dl
=0
8
Gua 3: Circuitos MSI SDI115
9
Gua 3: Circuitos MSI SDI115
10
Gua 3: Circuitos MSI SDI115
11
Gua 3: Circuitos MSI SDI115
Asignacin:
Ejercicio 1:
Programar y simular en VHDL los siguientes circuitos:
- Decoder de 3 a 8.
- Coder de 8 a 3.
- Multiplexor con dos entradas de dato de 1 bit y una variable de seleccin
- Demultiplexor con cuatro salidas de datos de 1 bit y dos variables de seleccin
- Full Adder
- Multiplexor con dos entradas de datos de 4 bit y una variable de seleccin
Decoder de 3 a 8:
Tabla de verdad
12
Gua 3: Circuitos MSI SDI115
Codigo:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity deco3_8 is
port(
a: in STD_LOGIC_VECTOR(2 downto 0);
y: out STD_LOGIC_VECTOR (7 downto 0)
);
end deco3_8;
architecture arch_deco3_8 of deco3_8 is
begin
y(0)<= not a(2) and not (a(1) ) and not(a(0));
y(1)<= not a(2) and not (a(1) ) and a(0);
y(2)<= not a(2) and (a(1) ) and not(a(0));
y(3)<= not a(2) and (a(1) ) and (a(0));
y(4)<= a(2) and not(a(1) ) and not(a(0));
y(5)<= a(2) and not(a(1) ) and (a(0));
y(6)<= a(2) and(a(1) ) and not(a(0));
y(7)<= a(2) and(a(1) ) and (a(0));
end arch_deco3_8;
coder 8 a 3:
Tabla de verdad:
Codigo:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity coder3_8 is
port(
a: in STD_LOGIC_VECTOR(7 downto 0);
y: out STD_LOGIC_VECTOR (2 downto 0)
);
end coder3_8;
architecture arch_co3_8 of coder3_8 is
13
Gua 3: Circuitos MSI SDI115
begin
y(2)<= ((a(7))and not(a(6))and not (a(5))and not (a(4))and not((a(3)))and not (a(2)
)and not(a(1)) and not(a(0)))or (not(a(7))and (a(6))and not (a(5))and not (a(4))and
not((a(3)))and not (a(2) )and not(a(1)) and not(a(0)))OR(not(a(7))and not(a(6))and
(a(5))and a(4)and not((a(3)))and not (a(2) )and not(a(1)) and not(a(0)))or (not(a(7))and
not(a(6))and not (a(5))and not (a(4))and not((a(3)))and not (a(2) )and not(a(1)) and
not(a(0)))
;
y(1)<= (not(a(7))and not(a(6))and not (a(5))and not (a(4))and not((a(3)))and (a(2) )and
not(a(1)) and not(a(0)))or(not(a(7))and not(a(6))and not (a(5))and not (a(4))and
(a(3))and not (a(2) )and not(a(1)) and not(a(0)))or( not(a(7))and (a(6))and not (a(5))and
not (a(4))and not((a(3)))and not (a(2) )and not(a(1)) and not(a(0)))or((a(7))and
not(a(6))and not (a(5))and not (a(4))and not((a(3)))and not (a(2) )and not(a(1)) and
not(a(0)));
y(0)<= (not(a(7))and not(a(6))and not (a(5))and not (a(4))and not((a(3)))and not (a(2)
)and (a(1)) and not(a(0)))or(not(a(7))and not(a(6))and not (a(5))and not (a(4))and
((a(3)))and not (a(2) )and not(a(1)) and not(a(0)))or(not(a(7))and not(a(6))and (a(5))and
not (a(4))and(not (a(3)))and not (a(2) )and not(a(1)) and not(a(0)))or((a(7))and
not(a(6))and not (a(5))and not (a(4))and not((a(3)))and not (a(2) )and not(a(1)) and
not(a(0)));
end arch_co3_8;
Multiplexor de 2 a 1:
Table de verdad
14
Gua 3: Circuitos MSI SDI115
Codigo
library ieee;
use ieee.std_logic_1164.all;
entity mux21 is
port(
e1,e2,c :in bit ;
s :out bit);
end mux21;
architecture arch_mux21 of mux21 is
begin
process (e1,e2,c)
begin
case c is
when '0'=>s<=e2;
when '1'=>s<=e1;
end case;
end process;
end arch_mux21;
15
Gua 3: Circuitos MSI SDI115
Din S1 S2 y0 y1 y2 y3
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 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
Codigo:
entity demux is
port (
Din, s1 , s2 : in bit;
y0, y1,y2,y3 :out bit);
end demux;
16
Gua 3: Circuitos MSI SDI115
FULL ADDER:
A b cin cout s
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Codigo:
entity fa is
port(
a,b,cin : in bit;
cout, s: out bit
);
end fa;
architecture archfa of fa is
begin
cout <= (b and cin)or (a and cin )or(a and b);
s<= (not a and (not b )and cin)or (not a and b and not cin )or(a and not b and not cin)or(a and
b and cin);
end archfa;
17
Gua 3: Circuitos MSI SDI115
Codigo:
library ieee;
use ieee.std_logic_1164.all;
entity mux4var2a1 is
port(
c: in std_logic;
e1,e2: in std_logic_vector(3 downto 0);
s1 : out std_logic_vector(3 downto 0)
);
end mux4var2a1;
18
Gua 3: Circuitos MSI SDI115
Ejercicio 2:
Simular un convertidor de cdigo exc3 a 7 segmentos utilizando TINA como simulador y
un display de 7 segmentos de la siguiente forma:
SOLUCION:
Primero se presenta la tabla de verdad del problema y se resuelven las ecuaciones. Dont
care conditions se tomarn como X.
N A B C D t u v w x y z
0 0 0 0 0 X X X X X X X
1 0 0 0 1 X X X X X X X
2 0 0 1 0 X X X X X X X
3 0 0 1 1 0 0 0 0 0 0 1
4 0 1 0 0 1 0 0 1 1 1 1
5 0 1 0 1 0 0 1 0 0 1 0
6 0 1 1 0 0 0 0 0 1 1 0
7 0 1 1 1 1 0 0 1 1 0 0
8 1 0 0 0 0 1 0 0 1 0 0
9 1 0 0 1 0 1 0 0 0 0 0
10 1 0 1 0 0 0 0 1 1 1 1
11 1 0 1 1 0 0 0 0 0 0 0
12 1 1 0 0 0 0 0 0 1 0 0
13 1 1 0 1 X X X X X X X
14 1 1 1 0 X X X X X X X
15 1 1 1 1 X X X X X X X
19
Gua 3: Circuitos MSI SDI115
= +
=+
+
20
Gua 3: Circuitos MSI SDI115
=+
+
=
=
+
+
21
Gua 3: Circuitos MSI SDI115
0011
22
Gua 3: Circuitos MSI SDI115
0100
0101
0110
0111
23
Gua 3: Circuitos MSI SDI115
1000
1001
1010
1011
1100
24
Gua 3: Circuitos MSI SDI115
Ejercicio 3:
Desarrollar y simular un sumador restador de dos nmeros de 4 bits utilizando TINA como
simulador. El circuito se muestra a continuacin:
Los 8 bits de entrada de los dos nmeros a operar, as como el bit de seleccin sern
generadas con switches que ya se encuentran en TINA e irn conectados a tierra o Vcc (5V).
El modelo de switch a utilizar queda a opcin del estudiante.
Para la implementacin de este circuito se podrn utilizar diferentes mtodos los cuales
quedarn a eleccin del estudiante:
1. Primer mtodo: Se genera en VHDL un cdigo completo que tenga como entradas los 2
nmeros de 4 bits cada uno y una variable de seleccin para escoger entre la funcin de
suma o resta y tiene como salida 4 bits con el resultado de la operacin y un bit de acarreo
y se crea un elemento en TINA con el cdigo realizado como se muestra en la figura.
2. Segundo mtodo: Se genera en VHDL un cdigo para el sumador 7483 y un cdigo para
el MUX 74157 y utilizando las compuertas NOT que se encuentran en TINA se genera un
circuito idntico al mostrado anteriormente en la Figura 2.
25
Gua 3: Circuitos MSI SDI115
de 2 fuentes de datos de 1 bit cada una con una variable de seleccin y se colocan 4
elementos de MUX en paralelo para generar un MUX de dos entradas de datos de 4 bits
cada una con una entrada de seleccin. El modelo de circuito se muestra en la figura 4.
Solucin ejercicio 3:
Para este ejercicio se ocupa el mtodo 3 que consiste en la creacin de full adders y
multiplexores, ponerlos en paralelo para representar el sumador de 4 bits y dar la
diferencia del restador con el sumador.
Para reduccin de cdigo se ocupar el full adder de un bit hecho el ejercicio 1 y el del
multiplexor tambin del ejercicio 1.
entity mux21 is
port(
e1,e2,c :in bit ;
s :out bit);
end mux21;
architecture arch_mux21 of mux21 is
begin
process (e1,e2,c)
begin
26
Gua 3: Circuitos MSI SDI115
case c is
when '0'=>s<=e2;
when '1'=>s<=e1;
end case;
end process;
end arch_mux21;
architecture archfa of fa is
begin
cout <= (b and cin)or (a and cin )or(a and b);
s<= (not a and (not b )and cin)or (not a and b and not cin )or(a and not b and not
cin)or(a and b and cin);
end archfa;
Con estos dos cdigos (full adder y mux21) se realizar el sumador y restador de cuatro
cifras, para esto se unir los cuatro sumadores totales, para esto se conectan los Cout en los
Cin de los sumadores totales siguientes para simular el acarreo de una mayor cifra
significativa cuando se supere la representacin mxima del digito en cuestin, teniendo
esto se tendr un sumador de cuatro dgitos en binario natural. Para usarlo como restador
se usa el complemento a uno del sustraendo y al full adder de menor cifra significativa se
le agrega una fuente de voltaje en el puerto de Cin para transformar el complemento a
uno a complemento a dos. Para unir el sumador con restador se le agrega un mux de 2 a
1 de cuatro variables o cuatro mux de 2 a 1 de una variable, y en las entradas e2 de los
cuatro mux se le agrega cada cifra de uno de los nmeros que se les quiere operar y en
e1 se negara la entrada que se puso en el e2 y se agregara una variable de control que se
conectara a todos los muxes en la entrada C, las salida del mux se conectaran en cada full
adder teniendo en cuidado de conectar las salidas en las mismas entradas de los full adders,
con el proceso anterior se estuviera sumando los nmeros propios o sumando un numero
con el complemento a uno del otro, por consecuencia se unir la variable de control al Cin
del full adder de menor cifra significativa.
27
Gua 3: Circuitos MSI SDI115
1111+1111
28
Gua 3: Circuitos MSI SDI115
1111+0001
1111+0001
29
Gua 3: Circuitos MSI SDI115
0111-1011
1111-1111
30
Gua 3: Circuitos MSI SDI115
0000-0000
31
Gua 3: Circuitos MSI SDI115
Investigacin:
Ejemplifique el uso de las libreras existentes en VHDL en la simplificacin el trabajo de
codificacin de circuitos como coders, decoders, multiplexores, demultiplexores y
sumadores.
Coders:
32
Gua 3: Circuitos MSI SDI115
Este codificador binario es til en casos donde solamente una entrada puede estar activada.
En otros casos se suele utilizar codificadores de prioridad.
33
Gua 3: Circuitos MSI SDI115
Decoders:
34
Gua 3: Circuitos MSI SDI115
para determinar el valor de la salida. Note que esta seal tiene prioridad sobre la entrada
de cdigo.
35
Gua 3: Circuitos MSI SDI115
Multiplexores:
El objetivo es crear un sistema que devuelva un valor dependiente de otra seal de entrada,
la cual ser la encargada de seleccionar la salida. Adems, se definirn varias entradas de
datos que actuarn como salidas. Cuando la seal de seleccin este a cero no se producir
ninguna salida, es decir el valor ser cero.
Entradas:
a, b, c: entradas de datos.
sel: seal que indica la seal que va a ser devuelta.
Salidas:
salida: salida de datos.
library IEEE;
use IEEE.STD_LOGIC_1164.all;
ENTITY mux IS
PORT(a : IN std_logic_vector(3 DOWNTO 0);
b : IN std_logic_vector(3 DOWNTO 0);
c : IN std_logic_vector(3 DOWNTO 0);
sel : IN std_logic_vector(1 DOWNTO 0);
salida : OUT std_logic_vector(3 DOWNTO 0));
END mux;
36
Gua 3: Circuitos MSI SDI115
Demultiplexores:
Ejemplo de circuito comercial de la familia 74: 74139 (Demultiplexor 1 a 4)
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity dec2to4 is
PORT (A : IN std_logic_vector(1 DOWNTO 0);
E: IN std_logic;
O: OUT std_logic_vector(3 DOWNTO 0));
END dec2to4;
37
Gua 3: Circuitos MSI SDI115
END CASE;
END PROCESS;
END DEMUX;
sumador:
El objetivo es crear un sumador que dadas dos entradas de datos devuelva la suma de
estos.
Entradas:
a: operando 1.
b: operando 2.
Salidas:
salida: suma de las entradas.
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.NUMERIC_STD.all;
ENTITY sum IS
PORT (a : IN std_logic_vector(3 DOWNTO 0);
b : IN std_logic_vector(3 DOWNTO 0);
salida : OUT std_logic_vector(4 DOWNTO 0));
END sum;
PROCESS (a, b) IS
BEGIN
salida <= std_logic_vector(UNSIGNED(a) + UNSIGNED(b));
END PROCESS;
END synth;
38
Gua 3: Circuitos MSI SDI115
Conclusiones:
Los MSI son circuitos ms complejos que los LSI, dado la cantidad de compuertas
que se pueden manejar (hasta 100) por lo que permite realizar sistemas ms
complejos que los vistos hasta ahora, aparte de los MSI y LSI existen sistemas ms
avanzados estos son los LSI (Large Scale of Integration con alrededor de 1000
compuertas o transistores), y los VLSI (Very Large Scale of Integration >1000
compuertas o transistores), y ULSI (Ultra Large Scale of Integration >100000
compuertas o transistores)
39
Gua 3: Circuitos MSI SDI115
Bibliografa:
Sistemas Electrnicos Digitales, Captulo 4, Enrique Mandado, Marcombo, 1991.
Sitios Web:
- http://bioingenieria.edu.ar/academica/catedras/electronica_digital/archivos/teorias/
06_circuitosmsi.pdf
- http://personales.unican.es/manzanom/Planantiguo/EDigitalI/Tema_V.pdf
- http://www.uhu.es/rafael.lopezahumada/Cursos_anteriores/fund01_02/tema5.pdf
- http://www.etitudela.com/profesores/jmng/digital/downloads/icircuitosmsi.pdf
- http://personales.unican.es/manzanom/Planantiguo/EDigitalI/CodG2_10.pdf
- http://www.tourdigital.net/VHDLcodificadores.pdf
- http://www.tourdigital.net/tutoriales.html
- http://www.tourdigital.net/VHDLdescodificadores.pdf
- https://www.dropbox.com/sh/mmbmmcgxblibnwf/AAAYWpSzxYwvpXdmYe_iMb
e5a?dl=0
- http://personales.unican.es/manzanom/Planantiguo/EDigitalI/MuxG9_08.PDF
- https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_VHDL/Ejemplos/Sumador
- http://personales.unican.es/manzanom/Planantiguo/EDigitalI/DecG9_09.pdf
- https://bloganalisis2.files.wordpress.com/2011/04/tarea9-rosales-arzola-fausto-
augusto.pdf
-
40