Files
temp/3.md
RadinPirouz 2195efcd28 3
2026-05-19 00:09:14 +03:30

5.9 KiB
Raw Permalink Blame History

۳-۲

الف) 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 -----------/