393 lines
5.9 KiB
Markdown
393 lines
5.9 KiB
Markdown
|
||
## ۳-۲
|
||
|
||
الف)
|
||
`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`
|
||
|
||
سه نمایش با ۸ لیترال یا کمتر:
|
||
|
||
1.
|
||
|
||
`F = B'D'(A' + C) + BD(A' + C')`
|
||
|
||
2.
|
||
|
||
`F = (B ⊕ D)'(A' + B ⊕ C)`
|
||
|
||
3.
|
||
|
||
`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 دوورودی:
|
||
|
||
```text
|
||
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 چندطبقه:
|
||
|
||
```text
|
||
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 این است:
|
||
|
||
```text
|
||
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:
|
||
|
||
```text
|
||
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`.
|
||
|
||
```text
|
||
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 با تأخیر:
|
||
|
||
```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
|
||
```
|
||
|
||
تستبنچ ساده:
|
||
|
||
```verilog
|
||
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:
|
||
|
||
```verilog
|
||
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 دادهشده معادل این روابط است:
|
||
|
||
```text
|
||
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)`
|
||
|
||
پس مدار نهایی سادهشده:
|
||
|
||
```text
|
||
A ----\
|
||
OR ----\
|
||
C ----/ AND ---- F
|
||
/
|
||
B -----------/
|
||
```
|