Anda di halaman 1dari 28

UNIVERSIDAD NACIONAL MAYOR

DE SAN MARCOS
Universidad del Perú - Decana de América

FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA

E.P de INGENIERÍA ELECTRÓNICA

PROYECTO FINAL

PROFESOR: DR. ALARCÓN MATUTTI RUBÉN

ALUMNO: IPARRAGUIRRE TAMARIZ JOEL D.

CÓDIGO: 15190147

CURSO: CIRCUITOS DIGITALES I

GRUPO: 4 (MIÉRCOLES 6 – 8 PM)

LIMA – PERÚ

2018
1. LABORATORIO 1

A) COMPUERTA XNOR

Implementamos 2 entradas estas con una compuerta XOR y en serie una puerta NOT, este circuito
es también una compuerta lógica combinada llamada “XNOR”. Su funcionamiento es similar a la
de los interruptores conmutados.

TABLA DE VERDAD

A (in1) B(in2) OUT 1

0 0 1

0 1 0

1 0 0

1 1 1

FUNCIÓN BOOLEANA

𝑓(𝐴, 𝐵) = (𝐴´ + 𝐵)(𝐴 + 𝐵´)


CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity ejercicio1 is
Port ( a : in std_logic;
b : in std_logic;
y : out std_logic);
end ejercicio1;

architecture xnor11 of ejercicio1 is

begin
y<=a xnor b;

end xnor11;

SIMULACIÓN FUNCIONAL

GRÁFICO EN MAX PLUS II


B) COMPUERTA NAND

Es una compuerta NAND de dos entradas (variables), esta compuerta lógica niega todo los posibles
valores de la compuerta AND, para ello veremos su tabla de verdad

TABLA DE VERDAD

A(in1) B(in2) OUT 1(NAND)

0 0 1

0 1 1

1 0 1

1 1 0

FUNCIÓN BOOLEANA

̅̅̅̅̅
𝑓(𝐴, 𝐵) = (𝐴. 𝐵) = (𝐴̅ + 𝐵̅)
CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity ejercicio2 is
Port ( A,B : in STD_LOGIC;
SALIDA : out STD_LOGIC);
end ejercicio2;

architecture Behavioral of ejercicio2 is

begin

PROCESS(A,B)
BEGIN
IF A = '1' AND B = '1' THEN
SALIDA <= '0';
ELSE
SALIDA <= '1';
END IF;
END PROCESS;

end Behavioral;

SIMULACIÓN FUNCIONAL
2. LABORATORIO 2

A) COMPUERTA OR DE 3 ENTRADAS

Dibuje la forma de onda de salida para el circuito de la figura 3-45.

TABLA DE VERDAD

A B C X

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1
ÁLGEBRA DE BOOLE

X=A+B+C

En la compuerta OR de 3 entradas la única forma en que el LED este apagado será cuando
las entradas sean 0 en simultáneo, caso contrario siempre será 1.

CÓDIGO VHDL

library IEEE;
use IEEE.std_logic_1164.all;

entity ejercicio3 is
port (A: in std_logic; B: in std_logic; C: in std_logic; F: out std_logic );
end ejercicio3;

architecture com_arch of ejercicio3 is

begin

process (A,B,C) begin


if (A='0' and B = '0' and C = '0') then
F <= '0';
else
F <= '1';
end if;
end process;
end com_arch;

SIMULACIÓN FUNCIONAL
B) Determine la tabla de verdad para el circuito de la figura 3.16 obteniendo los niveles
lógicos presentes en cada una de las salidas de las compuertas para cada una de las 16
posibles combinaciones de los niveles de entrada.

TABLA DE VERDAD

A B C D E X

0 0 0 0 0 0
0 0 0 0 1 1
0 0 0 1 0 0
0 0 0 1 1 1
0 0 1 0 0 0
0 0 1 0 1 1
0 0 1 1 0 0
0 0 1 1 1 1
0 1 0 0 0 0
0 1 0 0 1 1
0 1 0 1 0 0
0 1 0 1 1 1
0 1 1 0 0 0
0 1 1 0 1 0
0 1 1 1 0 0
0 1 1 1 1 1
1 0 0 0 0 0
1 0 0 0 1 1
1 0 0 1 0 0
1 0 0 1 1 1
1 0 1 0 0 0
1 0 1 0 1 0
1 0 1 1 0 0
1 0 1 1 1 1
1 1 0 0 0 0
1 1 0 0 1 1
1 1 0 1 0 0
1 1 0 1 1 1
1 1 1 0 0 0
1 1 1 0 1 0
1 1 1 1 0 0
1 1 1 1 1
SIMULACIÓN EN DSCH

CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity ejercicio4 is
PORT(A, B, C, D, E : in STD_LOGIC;
X, Y, Z, W : inout STD_LOGIC;
out1 : out STD_LOGIC);
end ejercicio4;
ARCHITECTURE a of ejercicio4 is
begin
x <= A OR B;
Y <= X AND C;
Z <= NOT Y;
W <= Z OR D;
out1 <= W AND E;
end a;

SIMULACIÓN FUNCIONAL
3. LABORATORIO 3

A) La figura 4.42 muestra el diagrama de una alarma para automóvil empleada para detectar
ciertas condiciones no deseables. Los tres interruptores se emplean para indicar el estado
en el que se encuentra la puerta del lado del conductor, el encendido y los faros
respectivamente. Diseñe un circuito lógico con tres interruptores como entradas, de
manera que la alarma se active cuando se presenten cualquiera de las siguientes
condiciones:

- Los faros están prendidos mientras el encendido está apagado.


- La puerta está abierta mientras el encendido está apagado.

De acuerdo a las condiciones, agrupamos los datos en una tabla:

Puerta Encendido Luces Alarma


- 0 1 1
0 1 - 1

Obtendremos la siguiente ecuación:

𝑃̅𝐸 + 𝐸̅ 𝐿 = 𝐴
Lo simulamos:

CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity ejercicio5 is

PORT(PUERTA, ENCENDIDO, LUCES : in STD_LOGIC;


X, Y :inout STD_LOGIC;
ALARMA : out STD_LOGIC);

end ejercicio5;

ARCHITECTURE arc of ejercicio5 is


begin
X <= (NOT PUERTA) AND ENCENDIDO;
Y <= (NOT ENCENDIDO) AND LUCES;
ALARMA <= X OR Y;
end arc;

SIMULACIÓN FUNCIONAL
B) En el circuito digital que se muestra: Cuando X=0, F es el XOR de A, B y C. Si X=1, F es el OR
de A, B y C. Diseñar el circuito utilizando el mínimo de CI LS7400. Se pide:

 Usar el símbolo de CI 7400, con la


misma distribución de pines del
datasheet (use la implementación
del laboratorio anterior).

 Mostrar el conexionado y simular el


diseño usando el símbolo del 7400.
El conexionado debe ser tal como se
haría en un protoboard real.

Desarrollamos la expresión booleana para X=0

𝐹 = 𝐴⨁𝐵⨁𝐶 = 𝐴𝐵𝐶 + 𝐴̅𝐵𝐶̅ + 𝐴̅𝐵̅𝐶 + 𝐴𝐵̅𝐶̅

Función booleana para X=1

𝐹 = 𝐴+𝐵+𝐶

La función total tomando las 4 entradas A, B, C y X se representará como una ecuación de


expansión de Shanon:

𝐹 = 𝑋̅(𝐴𝐵𝐶 + 𝐴̅𝐵𝐶̅ + 𝐴̅𝐵̅𝐶 + 𝐴𝐵̅𝐶̅ ) + 𝑋(𝐴 + 𝐵 + 𝐶)

La simulación vendrá a ser la siguiente:


TABLA DE VERDAD

X A B C F

0 0 0 0 0

0 0 0 1 1

0 0 1 0 1

0 0 1 1 0

0 1 0 0 1

0 1 0 1 0

0 1 1 0 0

0 1 1 1 1

1 0 0 0 0

1 0 0 1 1

1 0 1 0 1

1 0 1 1 1

1 1 0 0 1

1 1 0 1 1

1 1 1 0 1

1 1 1 1 1
CÓDIGO VHDL

library ieee;
use ieee.std_logic_1164.ALL;

entity ejercicio6 is

PORT(
X, A, B, C : IN STD_LOGIC;
F : OUT STD_LOGIC);
end ejercicio6;

ARCHITECTURE arc of ejercicio6 is


SIGNAL m,n,o,p,q,r : STD_LOGIC;

BEGIN
m <= X AND C;
n <= X AND NOT(C) AND B;
o <= A AND NOT(B) AND NOT(C);
p <= NOT(B) AND NOT(A) AND C;
q <= A AND B AND C;
r <= B AND NOT (C) AND NOT(A);
F <= m OR n OR o OR p OR q OR r;

END arc;

SIMULACIÓN FUNCIONAL
4. LABORATORIO 4

A) Convertir de BCD (2-4-2-1) conocido como AIKEN a BCD natural. Usar un F.A. de 4 bits.

BCD Aiken BCD Natural

A3 A2 A1 A0 S3 S2 S1 S0

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

Para esta simulación haremos que nuestro circuito detecte los 1 del bit más a la izquierda
y actúe como sumador, el circuito hace que se le sume (-6) a la entrada para que se
convierta en código BCD natural.
Pero si en la entrada se detecta que el bit de la izquierda es 0, entonces el número seguirá
igual.

SIMULACIÓN EN DSCH
CÓDIGO VHDL

library ieee;
use ieee.std_logic_1164.ALL;
use ieee.std_logic_arith.ALL;
use ieee.std_logic_unsigned.ALL;

entity lab4_1 IS
PORT(
A3, A2, A1, A0 : IN STD_LOGIC;
S3, S2, S1, S0 : OUT STD_LOGIC);
end lab4_1;

ARCHITECTURE arc of lab4_1 is

SIGNAL z,m,n : STD_LOGIC_VECTOR(3 DOWNTO 0);


BEGIN
n <= A3 & '0' & A3 & '0';
m <= A3 & A2 & A1 & A0;
z <= m + n;

S0 <= z(0);
S1 <= z(1);
S2 <= z(2);
S3 <= z(3);

end arc;

SIMULACIÓN FUNCIONAL
5. LABORATORIO 5

A) Diseñe un codificador de prioridad de 4 entradas activas en nivel bajo y una salida para
indicar que no hay ninguna entrada activa, como se muestra en la figura:

Evaluaremos cada una de las salidas:

Para A1:

Los mintérminos usados para (1 1 0 -), (1 1 1 0) y (1 1 1 1)son:

m12, m13, m14, r15

Mapa K

E0E1
00 01 11 10
E2E3

00 0 0 1 0

01 0 0 1 0

11 0 0 X 0

10 0 0 1 0

𝐴1 = 𝐸0 𝐸1
Para A0:

Los mintérminos usados para (1 0 - -), (1 1 1 0) y (1 1 1 1) son:

m8, m9, m10, m11, m14, r15

Mapa K

E0E1 00 01 11 10

E2E3

00 0 0 0 1

01 0 0 0 1

11 0 0 X 1

10 0 0 1 1

𝐴0 = ̅̅̅
𝐸1 𝐸0 + 𝐸2 𝐸0

Para Y:

El mintérmino usado para (1 1 1 1) es: m15

Mapa K

E0E1 00 01 11 10

E2E3

00 0 0 0 0

01 0 0 0 0

11 0 0 1 0

10 0 0 0 0

𝑌 = 𝐸0 𝐸1 𝐸2 𝐸3
SIMULACIÓN EN DSCH

CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity lab5_1 is

PORT(E0, E1, E2, E3 : in STD_LOGIC;


A1, A0, Y :out STD_LOGIC);

end lab5_1;

ARCHITECTURE arc of lab5_1 is


begin
A1 <= E0 AND E1;
A0 <= ((NOT E1) AND E0) OR (E2 AND E0);
Y <= E0 AND E1 AND E2 AND E3;
end arc;

SIMULACIÓN FUNCIONAL
B) Analizar el circuito dado y hallar la expresión booleana de la salida F en función de las
entradas (x, y, z1, z0)

Del circuito obtendremos las siguientes funciones:

𝐷0 = 𝑋 ⊕ 𝑌

𝐷1 = 𝑋 + 𝑌

𝐷2 = ̅̅̅̅̅̅̅̅
𝑋+𝑌

𝐷3 = 𝑌̅

A partir de ello obtendremos la tabla de verdad con entradas Z1, Z0, X e Y, y con salida F:

TABLA DE VERDAD

X Y Z1 Z0 F

0 0 0 0 0

0 0 0 1 0

0 0 1 0 1

0 0 1 1 0

0 1 0 0 1

0 1 0 1 1

0 1 1 0 1

0 1 1 1 0
1 0 0 0 1

1 0 0 1 1

1 0 1 0 1

1 0 1 1 0

1 1 0 0 0

1 1 0 1 1

1 1 1 0 0

1 1 1 1 0

Expresando la Función Booleana para MUX de 4 a 1:

𝐹 = ̅̅̅̅
𝑍1̅̅̅̅ ̅̅̅̅(𝐷1) + 𝑍1𝑍0
𝑍0(𝐷0) + 𝑍0𝑍1 ̅̅̅̅ (𝐷2) + 𝑍0𝑍1(𝐷3)

Reemplazando en términos de X e Y:

𝐹 = ̅̅̅̅
𝑍1̅̅̅̅ ̅̅̅̅(𝑋 + 𝑌) + 𝑍1𝑍0
𝑍0(𝑋̅𝑌 + 𝑌̅𝑋) + 𝑍0𝑍1 ̅̅̅̅ (𝑋𝑌
̅̅̅̅) + 𝑍0𝑍1(𝑌̅)

SIMULACIÓN EN DSCH
CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity lab5_2 is
PORT(
X, Y, Z1, Z0 : IN STD_LOGIC;
F : OUT STD_LOGIC);

end lab5_2;

ARCHITECTURE arc of lab5_2 is

SIGNAL m,n,o,p,q : STD_LOGIC;

begin

m <= NOT(X) AND NOT(Z0) AND Y;


n <= NOT(X) AND NOT(Z1) AND Y;
o <= X AND Z0 AND NOT(Z1);
p <= X AND NOT(Z0) AND NOT(Y);
q <= Z1 AND NOT(Z0) AND NOT(Y);
F <= m OR n OR o OR p OR q;

end arc;

SIMULACIÓN FUNCIONAL
6. LABORATORIO 6

A) Hacer el análisis, ecuación de estado y explicación de funcionamiento.

LATCH SR

El Latch SR es el latch lógico más simple en donde S y R representan a set y reset respectivamente,
a diferencia de los flip-flops los latch son asíncronos, por lo que no tienen reloj (CLK).

DIAGRAMA DE ESTADOS

ECUACIÓN DE ESTADO
TABLA DE FUNCIONAMIENTO

ANÁLISIS

A partir de la tabla de funcionamiento se puede analizar la forma de trabajo del Latch SR:

 SET=RESET=0. El latch se encuentra en su estado de reposo, y la salida Q y Q' se


mantendrán en el estado que tenían antes de que se produjera esta condición de entrada.
 SET=0, RESET=1. Esta condición siempre borrara el valor presente en Q. Es decir,
restablece el latch (Reset, por su palabra en inglés)
 SET=1, RESET=0. Esta condición siempre establecerá el valor de salida Q en 1. Es decir,
inicializa el latch (Set, por su palabra en inglés)
 SET=RESET=1. Esta condición trata de restablecer e incializar el latch al mismo tiempo,
provocando resultados inesperados.

SIMULACIÓN EN DSCH
DIAGRAMA DE TIEMPOS

CÓDIGO VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity lab6_1 is
PORT (
S : IN STD_LOGIC;
R : IN STD_LOGIC;
Q : OUT STD_LOGIC);
end lab6_1;

ARCHITECTURE arc of lab6_1 is


SIGNAL Q1 : STD_LOGIC;
SIGNAL notQ : STD_LOGIC;
begin

Q <= Q1;
Q1 <= S NAND notQ;
notQ <= R NAND Q1;

end arc;

SIMULACIÓN FUNCIONAL
B)

LATCH D

Se denomina Latch D o Delay debido a que el nivel presente en D se almacenará en el latch en el


momento activar el Enable (E) o el Clock para este caso.

Al tener 2 entradas de ingreso de datos tendremos 4 posibles combinaciones, en el que veremos


en la tabla de funcionamiento.

DIAGRAMA DE ESTADOS

ECUACIÓN DE estado
TABLA DE FUNCIONAMIENTO

ANÁLISIS

En la primera fila de tabla se puede observar la condición D=0 y Q=X, aquí la X indica una condición
no importa, en este caso cuando la entrada D=0, el estado presente el latch será el mismo que su
estado anterior sin importar el dato presente en la entrada Q.

Al analizar la tabla de verdad se puede observar que cuando la entrada D=1, el valor presente en la
entrada Q (1 o 0), será el valor que se mantendrá almacenado en el latch.

SIMULACIÓN EN DSCH

DIAGRAMA DE TIEMPOS
CÓDIGO VHDL

LIBRARY IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity lab6_2 is
PORT(
Clock, Data : IN STD_LOGIC;
Q : OUT STD_LOGIC);

end lab6_2;

ARCHITECTURE arc of lab6_2 is

SIGNAL m,n,o,nQ : STD_LOGIC;

begin

m <= NOT(Data) AND Clock;


n <= Data AND Clock;
Q <= o;
o <= m NOR nQ;
nQ <= n NOR o;

end arc;

SIMULACIÓN FUNCIONAL

Anda mungkin juga menyukai