Upload
lany033
View
212
Download
0
Embed Size (px)
DESCRIPTION
,,,,
Citation preview
UNIVERSIDAD NACIONAL TECNOLOGICA DE LIMA SUR(UNTELS)
ING.ELECTRONICA Y TELECOMUNICACIONES
TEMA:
Solución de los problemas del libro Diseño digital
CURSO:
Arquitectura del computador
PROFESOR:
Fredy Campos
CICLO:
VII
ALUMNO(A):
Melanie Mantilla
2015
Lima-PERU
SOLUCION:
3.30. Implemente esta expresión booleana con compuertas OR exclusivo y
AND:
F=ABCD ’+A’ BCD’+AB’C ’D+A’ BC ’D
3.31. Escriba en HDL la descripción de estructura de compuertas del circuito
de la figura 3-22a).
// Descripción del circuito simple de la figura 3.22module circuito_smpl (A, B, C, D, E, F, x);
input A, B, C, D, E, F;output x;wire g, h, i, j;nand U1, U2, U3, U4:A, U4:B;
endmodule
3.32. El circuito OR exclusivo de la figura 3-32a) tiene compuertas con
retardo de 10 ns para los inversores, 20 ns para las compuertas AND y 30 ns
para las compuertas OR. La entrada del circuito pasa de xy=00 a xy=01.
a) Deduzca las señales en la salida de cada compuerta desde t=0 hasta
t=50 ns.
b) Escriba la descripción HDL del circuito, incluyendo los retardos.
c) Escriba un módulo de estímulo (similar al ejemplo HDL 3-3) y simule
el circuito para verificar la respuesta de la parte a).
Solucion.
a)
Inicialmente, con xy=0, w1=w2=1, w3=w4=0 y F=0. w1 debería de cambiar a 0, 10ns después de que xy cambie a 01. w4 debería de cambiar a 1, 20ns después de que xy cambie a 01. F debería de cambiar desde 0 a 1, 30ns después de que w4 cambie desde 0 a 1, entonces cambiara de xy=00 a xy=11 en 40ns.
b)
timescale 1ns/1psmodule Prob_3_32(output F, input x,y);wire w1, w2, w3, w4;and #20(w3, x, w1);not #10(w1, x);and #20(w4, y, w1);not #10(w2, y);or #30(F, w3, w4);endmodulemodule t_Prob_3_32 ();reg x,y;wire F;Prob_3_32 M0 (F, x, y);initial #200 $finish;initial forkx = 0;y = 0;#20 y = 1;join
W1
W4
W3
W2
endmoduled) Para simular el circuito, se está asumiendo que las entradas xy=00 se
han aplicado suficientemente largo para que el circuito sea estable antes que se pase a xy=01. El testbench pone a xy=00 a un t= 0ns, y a xy=11 a t=30ns. El simulador asume que xy=00 se ha aplicado por un corto tiempo para que el circuito sea estable en el estado de t= 0ns, y mostrar F=0 como el valor de la salida a t= 0ns. La forma de onda mostrada responde a xy=01 aplicado a t= 30ns.
3.33. Escriba la descripción HDL del circuito de la figura 3-37 empleando
dos expresiones booleanas.
//Circuito especificado con expresiones booleanasmodule circuit_3.33 (x,y,e);input A, B, C;output x, y;assign x = (A & B) | ~C;assign y = ~C;endmodule
3.34. Escriba la descripción HDL del circuito especificado por estas
funciones booleanas:
x=A (CD+B )+BC '
y=( A B'+A' B ) (C+D )
z=[(A+B)(C'+D 'B)] '
Utilice enunciados de asignación continua.
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity pru.01 isPort (A: in std_logic;B: in std_logic;C: in std_logic;D: in std_logic;S0: out std_logic;S1: out std_logic;S2: out std_logic);end pru.01;architecture behavioral of pru.01 isbeginS0<=((A and C and D) or (A and B) or (B and not(C)))S1<=((A and not(B) and not(D)) or (not(A) and B and not(D)) or (A and not(B) and C) or (not(A) and B and C))S2<=((not(A) and not(B)) or (not(B) and C) or (C and D))end behavioral;
3.35. Encuentre los errores de sintaxis en las declaraciones siguientes
(tome nota de que los nombres de las compuertas primitivas son
opcionales):
module Exmpl-3 (A,B,C,D,F)inputs A,B,C,Output D,F;
and g1 (A,B,D);not (D,B,A);OR (F,B,C);Endmodule; LO CORRECTO ES:
module circt (A, B, C,D,F,)input A,B,C;output D,F;and g1(F,B,A);or g2( D,B,C);endmodule3.36. Dibuje el diagrama lógico del circuito digital especificado por esta
descripción HDL:
module circt (A,B,C,D,F);input A,B,C,D;output F;wire w,x,y,z,a,d;and (x,B,C,d);and (y,a,C);and (w,z,B);or (z,y,A);or (F,x,w);not (a,A);not (d,D);endmodule
3.37. Una función lógica de mayoría es una función booleana que da 1 si la
mayoría de las variables vale 1, y 0 en caso contrario. Escriba una primitiva
definida por el usuario en HDL. Para una función de mayoría de 3 bits.
S = BC + AC + AB
Esquema :
HDL
module circt (A, B, C, S);input A, B, C;output S;wire w, x, y, z;and (w, A, B);and (x, B, C);
A B C S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
A\BC 00 01 11 10
0 0 0 1 0
1 0 1 1 1
and (y, A, C);or (z, x, y);or(S, w, z);endmodule