Universidad de El Salvador Facultad de Ingeniería y Arquitectura Escuela de Ingeniería Eléctrica Sistemas Digitales 1 SDI115
Hernández Nieto, Jairo Alejandro Sorto Castillo, Jairo Josué
HN14001 SC14009
Ciudad Universitaria, lunes 23 de mayo 2016
Guía 3: Circuitos MSI
SDI115
INDICE Introducción Introducción:: .................................. ................................................... .................................. .................................. .................................. ........................... .......... 3 Objetivo Objetivo General: General: ................................ ................................................. ................................... ................................... .................................. ..................... .... 4 Objetivos Objetivos Específicos: Específicos:................................. .................................................. .................................. .................................. .............................. ............. 4 Marco Teórico: Teórico: .................................. ................................................... .................................. .................................. .................................. ........................ ....... 5 Obtención Obtención de Software: Software: ................................ ................................................. .................................. .................................. .............................. ............. 8 Asignación: Asignación: .................................. ................................................... .................................. .................................. ................................... .............................12 ...........12 Ejercicio Ejercicio 1: ................................... .................................................... .................................. .................................. .................................. ..........................12 .........12 Decoder Decoder de 3 a 8: ................................... .................................................... .................................. .................................. .............................12 ............12 coder 8 a 3:.................................. ................................................... ................................... ................................... .................................. ....................13 ...13 Multiplexor Multiplexor de 2 a 1: ............................................ ............................................................. .................................. ................................14 ...............14 Demux de 1 a 4 con dos variables de control: .........................................................16 FULL ADDER: ADDER: ................................ ................................................. ................................... ................................... .................................. ....................17 ...17 Multiplexor con dos entradas de datos de 4 bit y una variable de selección .............18 Ejercicio Ejercicio 2:................................... .................................................... .................................. .................................. .................................. ..........................19 .........19 Ejercicio Ejercicio 3:................................................. .................................................................. .................................. ................................... ............................ .......... 25 Investigació Investigación: n:.................................. ................................................... .................................. .................................. .................................. ......................... ........ 32 Coders: Coders: ................................. .................................................. .................................. .................................. ................................... ............................ .......... 32 Decoders: Decoders: ................................. .................................................. .................................. .................................. .................................. ......................... ........ 34 Multiplexore Multiplexores: s: .................................. ................................................... .................................. .................................. .................................. ................. 36 Demultiplex Demultiplexores: ores: ................................. .................................................. .................................. .................................. ............................... .............. 37 sumador: sumador: .................................. ................................................... .................................. .................................. .................................. ......................... ........ 38 Conclusione Conclusiones: s: .................................. ................................................... .................................. .................................. .................................. ......................... ........ 39 Bibliografía: Bibliografía: ................................. .................................................. .................................. .................................. ................................... ............................ .......... 40 Sitios Web: .................................. ................................................... .................................. .................................. .................................. ......................... ........40
2
Guía 3: Circuitos MSI
SDI115
INDICE Introducción Introducción:: .................................. ................................................... .................................. .................................. .................................. ........................... .......... 3 Objetivo Objetivo General: General: ................................ ................................................. ................................... ................................... .................................. ..................... .... 4 Objetivos Objetivos Específicos: Específicos:................................. .................................................. .................................. .................................. .............................. ............. 4 Marco Teórico: Teórico: .................................. ................................................... .................................. .................................. .................................. ........................ ....... 5 Obtención Obtención de Software: Software: ................................ ................................................. .................................. .................................. .............................. ............. 8 Asignación: Asignación: .................................. ................................................... .................................. .................................. ................................... .............................12 ...........12 Ejercicio Ejercicio 1: ................................... .................................................... .................................. .................................. .................................. ..........................12 .........12 Decoder Decoder de 3 a 8: ................................... .................................................... .................................. .................................. .............................12 ............12 coder 8 a 3:.................................. ................................................... ................................... ................................... .................................. ....................13 ...13 Multiplexor Multiplexor de 2 a 1: ............................................ ............................................................. .................................. ................................14 ...............14 Demux de 1 a 4 con dos variables de control: .........................................................16 FULL ADDER: ADDER: ................................ ................................................. ................................... ................................... .................................. ....................17 ...17 Multiplexor con dos entradas de datos de 4 bit y una variable de selección .............18 Ejercicio Ejercicio 2:................................... .................................................... .................................. .................................. .................................. ..........................19 .........19 Ejercicio Ejercicio 3:................................................. .................................................................. .................................. ................................... ............................ .......... 25 Investigació Investigación: n:.................................. ................................................... .................................. .................................. .................................. ......................... ........ 32 Coders: Coders: ................................. .................................................. .................................. .................................. ................................... ............................ .......... 32 Decoders: Decoders: ................................. .................................................. .................................. .................................. .................................. ......................... ........ 34 Multiplexore Multiplexores: s: .................................. ................................................... .................................. .................................. .................................. ................. 36 Demultiplex Demultiplexores: ores: ................................. .................................................. .................................. .................................. ............................... .............. 37 sumador: sumador: .................................. ................................................... .................................. .................................. .................................. ......................... ........ 38 Conclusione Conclusiones: s: .................................. ................................................... .................................. .................................. .................................. ......................... ........ 39 Bibliografía: Bibliografía: ................................. .................................................. .................................. .................................. ................................... ............................ .......... 40 Sitios Web: .................................. ................................................... .................................. .................................. .................................. ......................... ........40
2
Guía 3: Circuitos MSI
SDI115
Introducción: En el presente trabajo se presenta una síntesis 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. Hasta ahora dentro de la asignatura se ha visto las posibilidades de diseño de funciones lógicas, o de circuitos lógicos, todo esto se ha realizado mediante el uso exclusivo de puertas básicas. Los circuitos que contienen estas puertas básicas son conocidos como SSI (Small Scale of Integration) porque ya en la práctica estos contienen un número pequeño de transistores. Para continuar conociendo el mundo de los sistemas digitales se dará un paso más profundo, basándonos en el uso de bloques constructores más complejos que las funciones lógicas. Esto se puede hacer mediante el uso de sistemas o circuitos dónde el número de puertas básicas puede llegar a 100. Dentro de los elementos que se utilizaran tenemos los siguientes: -
Multiplexores y demultiplexores,
-
Codificadores y decodificadores,
-
Comparadores.
Como estudiantes lo que buscamos es comprender su funcionamiento, para que sirven y las características que poseen como por ejemplo que y cuantos bits b its de entrada utilizan. El informe contiene un marco teórico donde se aborda a profundidad la teoría de los circuitos
, contiene una asignación donde se resuelven
los problemas propuestos por la catedra de Sistemas Digitales 1 utilizando el código VHDL y el software TINA para solucionarlos, prosigue una investigación y culmina con las conclusiones y observaciones sobre la tarea 3. Todo esto se detalla a continuación.
3
Guía 3: Circuitos MSI
SDI115
Objetivo General:
Trabajar de forma sistemática los circuitos MSI y vincularlos al código VHDL y el software TINA.
Objetivos Específicos:
Estudiar el software asignado por la catedra para trabajar los Circuitos MSI. Tener la capacidad de solucionar problemas que involucren Codificadores, Decodificadores, Multiplexores y Demultiplexores. Responder con claridad y con ejemplos los cuestionamientos sobre los l os circuitos MSI.
4
Guía 3: Circuitos MSI
SDI115
Marco Teórico: Para continuar conociendo el mundo de los sistemas digitales se dará un paso más profundo, basándonos en el uso de bloques constructores más complejos que las funciones lógicas que se han utilizado hasta ahora. Esto se puede hacer mediante el uso de sistemas o circuitos
dónde el número de puertas básicas puede ser
desde 10 hasta 100. Un circuito combinacional consiste en compuertas lógicas cuyas salidas se determinan directamente en cualquier momento de la combinación presente de las entradas, sin tener en cuenta las entradas anteriores Dentro de los elementos que se utilizaran tenemos los siguientes: -
Multiplexores y demultiplexores,
-
Codificadores y decodificadores,
-
Comparadores.
Multiplexar es pasar información de “muchos” canales o
líneas a “pocos” canales o líneas. Un
(MUX) es un circuito combinacional que
selecciona una entrada y la transfiere a la salida. La selección de la entrada, o dato, se realiza según un conjunto de valores de las variables de control. Poseen, por tanto, n entradas de selección, para 2 n entrada de datos, proporcionando dos salidas: una para el dato directo y otra para el dato negado, en la asignatura solo se una el dato directo por lo que se dice que solo tiene una salida. Si necesitáramos más entradas se pueden asociar distintos MUX para formar una entrada mucho mayor. 5
Guía 3: Circuitos MSI
SDI115
Un DEMULTIPLEXOR, realizan la función que debe realizar es la inversa de la que realiza el MUX, o sea, debemos seleccionar una salida por donde transmitir el dato de la entrada. Por tanto, el circuito constará de 1 entrada de datos, n entradas de selección de salida, y 2n salidas.
Los circuitos digitales decodificadores detectan la presencia de una combinación de bits o códigos en las entradas y la indican en la salida, ya sea con un nivel alto o un nivel bajo. Un decodificador es un circuito lógico con n entradas y 2 n salidas, tal que para cada combinación de entradas se activa al menos una salida. Si sólo se activa una salida se denomina decodificador completo. Por ejemplo, este es un circuito decodificador completo de 3 a 8 líneas, permitiría la activación de un dispositivo al proporcionarle la dirección de dicho dispositivo. Dispone de una entrada de HABILITACIÓN (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’ lógico.
6
Guía 3: Circuitos MSI
SDI115
Tanto las entradas como las salidas, principalmente estas últimas, pueden ser: -
ACTIVAS A NIVEL ALTO: la salida activa es 1 y la no activa 0.
-
ACTIVAS A NIVEL BAJO: la salida activa es 0 y la no activa 1.
Además, el número de entradas de Habilitación puede ser de una o más, y pueden estar activas a nivel alto o bajo. Podemos encontrar decodificadores de muy diversos “tamaños”:
-
De 2 a 4 líneas
-
De 3 a 8 líneas (bin a oct)
-
De 4 a 16 líneas (bin a hex)
-
Convertidores de códigos: BCD/decimal y BCD/7-seg
Los CODIFICADORES Son los dispositivos MSI que realizan la operación inversa a la realizada por los decodificadores. Generalmente, poseen 2 n entradas y n salidas. Cuando solo una de las entradas está activa para cada combinación de salida, se le denomina codificador completo. Por ejemplo, el siguiente circuito proporciona a la salida la combinación binaria de la entrada que se encuentra activada. En este caso se trata de un codificador completo de 8 bits, o también llamado codificador de 8 a 3 líneas:
Los circuitos digitales comparadores se encargan de comparar dos cantidades binarias para determinar si son iguales o diferentes (mayor, menor o igual). Su funcionamiento se basa en las compuertas OR Exclusivas o NOR Exclusivas. 7
Guía 3: Circuitos MSI
SDI115
Obtención de Software: El softwate TINA se obtuvo de la dirección Dropbox que subieron al grupo de Facebook de la asignatura: https://www.dropbox.com/sh/mmbmmcgxblibnwf/AAAYWpSzxYwvpXdmYe_iMbe5a?dl =0
Se utilizó el proceso de instalación que estaba en la carpeta:
A continuación, se presentan 20 capturas del proceso de instalación, agrupadas de 4 en 4 no se describirá el proceso porque es el mencionado en la imagen anterior.
8
Guía 3: Circuitos MSI
SDI115
9
Guía 3: Circuitos MSI
SDI115
10
Guía 3: Circuitos MSI
SDI115
El resultado es el que se muestra acontinuacion: Ahora podemos utilizar el software TINA.
11
Guía 3: Circuitos MSI
SDI115
Asignación: 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 selección Demultiplexor con cuatro salidas de datos de 1 bit y dos variables de selección Full Adder Multiplexor con dos entradas de datos de 4 bit y una variable de selección
Tabla de verdad
12
Guía 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;
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
Guía 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;
Table de verdad
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 1 0 1 0 0 1 1
Mapa k:
14
Guía 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
Guía 3: Circuitos MSI
SDI115
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
Codigo: entity demux is port ( Din, s1 , s2 : in bit; y0, y1,y2,y3 :out bit); end demux; architecture arch_demux of demux is begin y0<=Din and s1 and s2; y1<= Din and not s1 and s2; y2<= Din and s1 and not s2; y3<= Din and s1 and s2 ; end arch_demux;
16
Guía 3: Circuitos MSI
SDI115
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 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
Guía 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; architecture arch_mux4var of mux4var2a1 is begin process (c,e1,e2) is begin case c is when '0' =>s1 <=(e1); when '1'=> s1 <= e2 ; end case; end process; end arch_mux4var;
18
Guía 3: Circuitos MSI
SDI115
Ejercicio 2: Simular un convertidor de código exc3 a 7 segmentos utilizando TINA como simulador y un display de 7 segmentos de la siguiente forma:
Se podrá utilizar un decodificador ya existente en TINA. El display 7 segmentos será el que se encuentra disponible en TINA. Las entradas A, B, C y D serán generadas con switches que ya se encuentran en TINA e irán conectados a tierra o Vcc (5V). El modelo de switch a utilizar queda a opción del estudiante. SOLUCION: Primero se presenta la tabla de verdad del problema y se resuelven las ecuaciones. Don ’t care conditions se tomarán como X. Y como se usara el display de anodo común se tomaran las salidas bajas. 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 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
X X X 0 1 0 0 1 0 0 0 0 0 X X X
X X X 0 0 0 0 0 1 1 0 0 0 X X X
X X X 0 0 1 0 0 0 0 0 0 0 X X X
X X X 0 1 0 0 1 0 0 1 0 0 X X X
X X X 0 1 0 1 1 1 0 1 0 1 X X X
X X X 0 1 1 1 0 0 0 1 0 0 X X X
X X X 1 1 0 0 0 0 0 1 0 0 X X X
19
Guía 3: Circuitos MSI
SDI115
= (4,7) +(0−2,13−15) = ̅ ∗ ̅ ∗ ̅ + ∗ ∗
= (8,9) +(0 − 2,13 − 15) = ̅ ∗ ̅ = (5)+(0−2,13−15) = ̅ ∗ ∗
= (4,7,10)+(0−2,13−15) = ∗ ∗ + ̅ ∗ ̅ ∗ ̅ + ̅ ∗ ∗ ̅ 20
Guía 3: Circuitos MSI
SDI115
= (4,6−8,10,12)+(0−2,13− 15) = ∗ + ̅
= (4 − 6,10) + (0 − 2,13 − 15) = ̅ ∗+ ̅ ∗ ̅
= ∑(3,4,10)+(0−2,13−15) = ̅ ∗ ̅ ∗ ̅ + ∗ ̅ ∗ ̅ + ̅ ∗ ̅ 21
Guía 3: Circuitos MSI
SDI115
Ahora se procede a realizar el código en VHDL:
Ahora abrimos TINA 8 y generamos una macro con el código VHDL:
Insertamos la macro y conectamos la display de ánodo común y los switch y comenzamos a obtener los datos:
“0011”
22
Guía 3: Circuitos MSI
SDI115
“0100”
“0101”
“0110”
“0111”
23
Guía 3: Circuitos MSI
SDI115
“1000”
“1001”
“1010”
“1011”
“1100”
24
Guía 3: Circuitos MSI
SDI115
Ejercicio 3: Desarrollar y simular un sumador restador de dos números de 4 bits utilizando TINA como simulador. El circuito se muestra a continuación:
Los 8 bits de entrada de los dos números a operar, así como el bit de selección serán generadas con switches que ya se encuentran en TINA e irán conectados a tierra o Vcc (5V). El modelo de switch a utilizar queda a opción del estudiante. Para la implementación de este circuito se podrán utilizar diferentes métodos los cuales quedarán a elección del estudiante: 1. Primer método: Se genera en VHDL un código completo que tenga como entradas los 2 números de 4 bits cada uno y una variable de selección para escoger entre la función de suma o resta y tiene como salida 4 bits con el resultado de la operación y un bit de acarreo y se crea un elemento en TINA con el código realizado como se muestra en la figura.
2. Segundo método: Se genera en VHDL un código para el sumador 7483 y un código para el MUX 74157 y utilizando las compuertas NOT que se encuentran en TINA se genera un circuito idéntico al mostrado anteriormente en la Figura 2. 3. Tercer método: Se genera en VHDL un código para un FULL ADDER y se colocan 4 elementos FULL ADDER en paralelo para crear el sumador7483 y un código para un MUX 25
Guía 3: Circuitos MSI
SDI115
de 2 fuentes de datos de 1 bit cada una con una variable de selección 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 selección. El modelo de circuito se muestra en la figura 4.
Luego, la interconexión de los elementos será como en el circuito mostrado anteriormente en la Figura 2. Para este ejercicio se ocupa el método 3 que consiste en la creación 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 reducción de código se ocupará el full adder de un bit hecho el ejercicio 1 y el del multiplexor también del ejercicio 1.
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 26
Guía 3: Circuitos MSI
SDI115
case c is when '0'=>s<=e2; when '1'=>s<=e1; end case; end process; end arch_mux21;
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; Con estos dos códigos (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 en los de los sumadores totales siguientes para simular el acarreo de una mayor cifra significativa cuando se supere la representación máxima del digito en cuestión, teniendo esto se tendrá un sumador de cuatro dígitos 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 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 números 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 números 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
Guía 3: Circuitos MSI
SDI115
Al circuito final se le agregará displays hexadecimales para su mejor entendimiento, resultando de la siguiente manera
A continuación, se agregan capturas del código simulado en tina 8 1111+1111
28
Guía 3: Circuitos MSI
SDI115
1111+0001
1111+0001
29
Guía 3: Circuitos MSI
SDI115
0111-1011
1111-1111
30
Guía 3: Circuitos MSI
SDI115
0000-0000
31
Guía 3: Circuitos MSI
SDI115
Investigación: Ejemplifique el uso de las librerías existentes en VHDL en la simplificación el trabajo de codificación de circuitos como coders, decoders, multiplexores, demultiplexores y sumadores.
La tabla de verdad de un codificador binario de 3 entradas se muestra en la figura siguiente. Las señales a, b y c se asocian a las líneas de entrada 3, 2 y 1 respectivamente. El código de salida corresponde a la línea activada. Si ninguna o más de una entrada está activada la salida se coloca en 0. De acuerdo a esto, las combinaciones de las filas T2, T3 y T5 proveen salidas válidas, mientras que para el resto de combinaciones la salida es cero. La tabla de verdad simplificada, que aparece en el lado derecho de la figura, provee información concisa de este
funcionamiento.
El cronograma de este circuito se muestra a continuación. En T2 la señal c es 1 y la salida y es 01 correspondiente al número de canal de la señal c. Similarmente, en T3 la salida es el número binario 10, o 2 en decimal, porque la señal b, conectada a la línea 2, está activa. En T5 la señal a está activa haciendo que la salida sea el número bi nario 11, o 3 en decimal. En todos los demás casos la salida es cero. En T1 ninguna entrada está activada, y en T4, T6, T7 y T8 más de una señal lo está.
32
Guía 3: Circuitos MSI
SDI115
La entidad de este codificador puede definirse de la siguiente manera:
Utilizando una asignación selectiva partiendo de la tabla de verdad simplificada, agrupando previamente los bits de entrada en un arreglo interno de tres bits, resulta la arquitectura:
Con asignación condicional, una descripción equivalente es:
Este codificador binario es útil en casos donde solamente una entrada puede estar activada. En otros casos se suele utilizar codificadores de prioridad.
33
Guía 3: Circuitos MSI
SDI115
La figura siguiente muestra las características de un descodificador 1 de 4 líneas. Las cuatro salidas de este descodificador se activan exclusivamente, una a la vez, dependiendo del valor de la entrada. Por ejemplo, si la entrada es 2 (a1a0 = 10) únicamente la salida 2 es 1 (y2 = 1, las demás salidas 0).
Descodificador 1 de 4 líneas con habilitador: En la figura que se muestra a continuación es un descodificador 1 de 4 líneas con habilitador. Este habilitador también puede funcionar como entrada de datos para obtener un demultiplexor o repartidor de datos. Cuando la entrada e es 1 el circuito funciona como en el caso anterior (la salida descodificada se coloca en 1). Cuando E es 0 todas las salidas se colocan en 0. En las descripciones de la figura 3 se evalúa o lista el valor del habilitador
34
Guía 3: Circuitos MSI
SDI115
para determinar el valor de la salida. Note que esta señal tiene prioridad sobre la entrada de código.
35
Guía 3: Circuitos MSI
SDI115
El objetivo es crear un sistema que devuelva un valor dependiente de otra señal de entrada, la cual será la encargada de seleccionar la salida. Además, se definirán varias entradas de datos que actuarán como salidas. Cuando la señal de selección este a cero no se producirá ninguna salida, es decir el valor será cero.
Entradas:
a, b, c: entradas de datos.
sel: señal que indica la señal que va a ser devuelta.
Salidas:
salida: salida de datos. library IEEE; use IEEE.STD_LOGIC_1164.all; ENTITY mux IS PORT(a b c sel salida END mux;
: : : : :
IN std_logic_vector(3 DOWNTO 0); IN std_logic_vector(3 DOWNTO 0); IN std_logic_vector(3 DOWNTO 0); IN std_logic_vector(1 DOWNTO 0); OUT std_logic_vector(3 DOWNTO 0));
ARCHITECTURE synth OF mux IS BEGIN PROCESS (sel, a, b, c) IS BEGIN CASE sel IS WHEN "00" => salida <= (others => '0'); WHEN "01" => salida <= a; WHEN "10" => salida <= b; WHEN "11" => salida <= c; WHEN OTHERS => salida <= (others => '0'); END CASE; END PROCESS; END synth;
36
Guía 3: Circuitos MSI
SDI115
Ejemplo de circuito comercial de la familia 74: 74139 (Demultiplexor 1 a 4)
Modelo VHDL de un 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 ; ARCHITECTURE DEMUX OF dec4to2 IS BEGIN PROCESS (A, E) IS BEGIN CASE A IS WHEN "00" => O(0) <= E; O(1) <= WHEN "01" =>
‘0’; O(2) <= ‘0’; O(3) <= ‘0’;
=> O(0) <= ‘0’; O(1) <= E; O(2) <= ‘0’; O(3) <=
‘0’;
WHEN "10" =>
O(0) <= ‘0’; O(1) <= ‘0’; O(2) <= E; O(3) <=
‘0’;
WHEN "11" =>
O(0) <= ‘0’; O(1) <= ‘0’; O(2) <= ‘0’; O(3) <=
E;
WHEN OTHERS =>
O(0) <= ‘0’; O(1) <= ‘0’; O(2) <= ‘0’; O(3) <=
‘0’;
37
Guía 3: Circuitos MSI
SDI115
O <= std_logic_vector (UNSIGNED(a) + UNSIGNED(b));
END CASE; END PROCESS ; END DEMUX;
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 ; ARCHITECTURE synth OF sum IS BEGIN PROCESS (a, b) IS BEGIN salida <= std_logic_vector(UNSIGNED(a) + UNSIGNED(b)); END PROCESS; END synth;
38
Guía 3: Circuitos MSI
SDI115
Conclusiones:
Los MSI son circuitos más complejos que los LSI, dado la cantidad de compuertas que se pueden manejar (hasta 100) por lo que permite realizar sistemas más complejos que los vistos hasta ahora, aparte de los MSI y LSI existen sistemas más 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) Los circuitos digitales decodificadores detectan la presencia de una combinación de bits o códigos en las entradas y la indican en la salida, ya sea con un nivel alto o un nivel bajo mientras los codificadores realizan la operación inversa a la realizada por los decodificadores. Un multiplexor básicamente consta de varias líneas de entrada de datos y una única salida de datos. Además, consta de varias entradas de selección de datos que permiten llevar los datos de una entrada N, hacia el canal común de salida, mientras que los Demultiplexor realizan la función contraria, toma los datos de la entrada y los coloca en cada salida correspondiente. Cada vez profundizamos más en el mundo de los sistemas digitales, esto implica mayor compromiso de nuestra parte para comprender de manera certera y concisa los contenidos dados.
39