5.9 KiB
۳-۲
الف)
F(x,y,z)=Σ(2,3,6,7)=y
ب)
F(A,B,C,D)=Σ(4,6,7,15)=A'BD' + BCD
پ)
F(A,B,C,D)=Σ(3,7,11,13,14,15)=CD + ABC + ABD
ت)
F(w,x,y,z)=Σ(2,3,12,13,14,15)=wx + w'x'y
۳-۴
الف)
F(w,x,y,z)=xz' + wxy + w'y'z
ب)
F(A,B,C,D)=A'C' + A'B'D' + A'BD + ACD
پ)
F(w,x,y,z)=wx + x'y
ت)
F(A,B,C,D)=BD + A'D' + B'D'
۳-۶
الف)
A'B'C'D' + AC'D' + B'CD' + A'BCD + BC'D
سادهشده:
F = B'D' + ABC' + A'BD
ب)
x'z + w'xy' + w(x'y + xy')
سادهشده:
F = xy' + x'z + wx'y
۳-۸
الف)
xy + yz + xy'z = Σ(3,5,6,7)
ب)
C'D + ABC' + ABD' + A'B'D = Σ(1,3,5,9,12,13,14)
پ)
wxy + x'z' + w'xz = Σ(0,2,5,7,8,10,14,15)
۳-۱۰
الف)
موجبات اصلی اساسی:
x'z' , xz
یک جواب مینیمم:
F = x'z' + xz + w'z'
یا بهصورت دیگر:
F = x'z' + xz + w'x
ب)
موجبات اصلی اساسی:
B'D' , A'BD , AC
جواب مینیمم:
F = B'D' + A'BD + AC + B'C
پ)
موجبات اصلی اساسی:
BC' , AC
جواب مینیمم:
F = BC' + AC + A'B'D
۳-۱۲
الف)
F(w,x,y,z)=Σ(0,2,5,6,7,8,10)
صورت ضرب حاصلجمعها:
F = (x + z')(w' + x')(y + z + x')
ب)
F(A,B,C,D)=Π(1,3,5,7,13,15)
صورت ساده ضرب حاصلجمعها:
F = (A + D')(B' + D')
۳-۱۴
تابع:
F = A'B'D' + AB'CD' + A'BD + ABC'D
سه نمایش با ۸ لیترال یا کمتر:
F = B'D'(A' + C) + BD(A' + C')
F = (B ⊕ D)'(A' + B ⊕ C)
F = (B ⊕ D)'(A' + C ⊕ D)
۳-۱۶
الف)
AB' + ABD + ABD' + A'C'D' + A'BC'
سادهشده:
F = A + BC' + C'D'
پیادهسازی NAND دوطبقه:
F = [A' · (BC')' · (C'D')']'
ب)
BD + BCD' + AB'C'D'
سادهشده:
F = BC + BD + AB'C'D'
پیادهسازی NAND دوطبقه:
F = [(BC)' · (BD)' · (AB'C'D')']'
۳-۱۸
عبارت:
F = (AB + A'B')(CD' + C'D)
با NAND دوورودی:
n1 = NAND(A,B)
n2 = NAND(A,n1)
n3 = NAND(B,n1)
xorAB = NAND(n2,n3)
xnorAB = NAND(xorAB,xorAB)
n4 = NAND(C,D)
n5 = NAND(C,n4)
n6 = NAND(D,n4)
xorCD = NAND(n5,n6)
n7 = NAND(xnorAB,xorCD)
F = NAND(n7,n7)
۳-۲۰
عبارت:
F = (AB' + CD')E + BC(A+B)
چون:
BC(A+B)=BC
پس:
F = AB'E + CD'E + BC
مدار NAND چندطبقه:
B' = NAND(B,B)
D' = NAND(D,D)
p1 = NAND(A,B',E) => (AB'E)'
p2 = NAND(C,D',E) => (CD'E)'
p3 = NAND(B,C) => (BC)'
F = NAND(p1,p2,p3)
۳-۲۲
این سؤال به «شکل ۴-۴» ارجاع داده، ولی شکل ۴-۴ داخل فایل ارسالی نیست؛ بنابراین مدار دقیق قابل تبدیل نیست. روش کلی تبدیل به NAND این است:
AND → NAND + معکوسکننده
OR → NAND با ورودیهای معکوس طبق دمورگان
NOT → NAND با دو ورودی مشترک
اگر تصویر شکل ۴-۴ را بفرستی، همین سؤال را هم دقیق رسم میکنم.
۳-۲۴
F(A,B,C,D)=Σ(0,1,2,3,4,8,9,12)
سادهشده:
F = A'B' + B'C' + C'D'
همچنین:
F' = AC + BC + BD
الف) NAND-AND:
F = (AC)'(BC)'(BD)'
ب) AND-NOR:
F = (AC + BC + BD)'
پ) OR-NAND:
F = [(A+B)(B+C)(C+D)]'
ت) NOR-OR:
F = (A+B)' + (B+C)' + (C+D)'
۳-۲۶
دادهها:
f = wxy' + y'z + w'yz' + x'yz'
g = (w+x+y'+z')(x'+y'+z)(w'+y+z')
حاصل سادهی F = fg:
F = x'yz' + w'y'z + wxy'z'
۳-۲۸
برای مولد توازن فرد سهبیتی با ورودیهای A,B,C، بیت توازن فرد باید کل تعداد ۱ها را فرد کند:
P_odd = (A ⊕ B ⊕ C)'
برای چککننده توازن فرد چهاربیتی با بیت توازن P:
خروجی خطا:
Error = (A ⊕ B ⊕ C ⊕ P)'
یعنی اگر کل تعداد ۱ها زوج شود، خطا برابر ۱ میشود.
۳-۳۰
عبارت:
F = AB'CD' + A'BCD' + AB'C'D + A'BC'D
گروهبندی:
F = (A ⊕ B)(C ⊕ D)
پس مدار فقط با XOR و AND:
X1 = A ⊕ B
X2 = C ⊕ D
F = X1 · X2
۳-۳۲
مدار XOR شکل ۳-۲۲(الف) را به صورت رایج در نظر میگیریم:
F = xy' + x'y
تأخیرها:
NOT = 10ns، AND = 20ns، OR = 30ns
ورودی از xy=00 به xy=01 میرود؛ یعنی x=0 ثابت است و y:0→1.
x' همیشه 1
y' در t=10ns از 1 به 0 میرود
xy' همیشه 0
x'y در t=20ns از 0 به 1 میرود
F در t=50ns از 0 به 1 میرود
جدول زمانی:
| بازه زمانی | x' | y' | xy' | x'y | F |
|---|---|---|---|---|---|
| 0 تا 10ns | 1 | 1 | 0 | 0 | 0 |
| 10 تا 20ns | 1 | 0 | 0 | 0 | 0 |
| 20 تا 50ns | 1 | 0 | 0 | 1 | 0 |
| بعد از 50ns | 1 | 0 | 0 | 1 | 1 |
Verilog با تأخیر:
module xor_delay(input x, y, output F);
wire xn, yn, a, b;
not #10 (xn, x);
not #10 (yn, y);
and #20 (a, x, yn);
and #20 (b, xn, y);
or #30 (F, a, b);
endmodule
تستبنچ ساده:
module tb;
reg x, y;
wire F;
xor_delay uut(x, y, F);
initial begin
x = 0; y = 0;
#20 y = 1;
#100 $finish;
end
endmodule
۳-۳۴
توصیف HDL با continuous assignment:
module circuit_334(input A, B, C, D, output x, y, z);
assign x = A & ((C & D) | B) | (B & ~C);
assign y = ((A & ~B) | (~A & B)) & (C | ~D);
assign z = ~((A | B) & (~C | (~D & B)));
endmodule
۳-۳۶
کد HDL دادهشده معادل این روابط است:
a = A'
d = D'
x = B C D'
y = A' C
z = y + A
w = z B
F = x + w
سادهسازی:
z = A + A'C = A + C
w = B(A+C)
F = BCD' + B(A+C)
چون BC، جمله BCD' را پوشش میدهد:
F = AB + BC = B(A+C)
پس مدار نهایی سادهشده:
A ----\
OR ----\
C ----/ AND ---- F
/
B -----------/