Logical Circuit
بولي توابع سازي ساده آارنو از جدول استفاده
: ١- روشهای سازه سازی توابع - جدول آارنو - جدول آارنو براي دو متغير ۴- جدول آارنو براي سه متغير ۵- جدول آارنو براي چهار متغير ۶- جدول آارنو براي پنج متغير - -
.... 2 n n
.
.. f (x,y)=xy +xy+x y f 2 (x,y)=x+y :. f 2 f
.
....
: f ( xyz,, ) = ( 2,3,4,5 ) : :
:
: : :
:. : :
:... :
.
:... :
:
: f(a,b,c,d)= (0,2,4,6,3,2,23,25,29,3) :.
:.
براي ساده سازي توابع با حداکثر ۶ ورودي ميتوان از جدول کارنا استفاده کرد. در این روش جدولي با توجه به تعداد ورودي ها در نظر گرفته ميشود و به هر مينترم یک خانه از این جدول اختصاص ميابد.
f(x,y,z) x yz 00 0 0 0 0 3 2 4 5 7 6
f(x,y,z,t) xy zt 00 0 0 00 0 0 0 3 2 4 5 7 6 2 3 5 4 8 9 0
( ) f(x,y,z,t,e) zte xy 00 0 0 000 00 0 00 0 0 00 0 3 2 6 7 5 4 8 9 0 4 5 3 2 24 25 27 26 30 3 29 28 6 7 9 8 22 23 2 20
( ) f(x,y,z,t,e) te yz 00 0 0 به جاي ١ جدول ٣٢ خانه اي ميتوان از ٢ جدول ١۶ خانه اي استفاده کرد. zt xy 00 0 0 00 0 3 2 00 6 7 9 8 0 4 5 7 6 0 20 2 23 22 2 3 5 4 28 29 3 30 0 8 9 0 0 24 25 27 26 x=0 x=
( ) f(x,y,z,t,e) xy zt 00 0 0 xy zt 00 0 0 00 0 0 3 7 5 0 2 6 4 7 23 0 6 8 00 9 5 3 8 0 4 2 0 25 27 3 29 24 26 30 28 9 2 22 20 e= e=0
١.رسم جدول کارنا با توجه به ٢.ا وردن ٣.تعيين cube مينترم ها داخل جدول ۴.تبدیل cube ها به شکل جبري سایزها کارنا
انتخاب cube در صورتي درست است که کليه شرایط زیر برقرار باشد: ١. cube قابل بزرگتر شدن نباشد. ٢.حداقل یک ١ در cube موجود باشد که در هيچ cube دیگري شرکت نکرده باشد.
Algorithm ().count the number of adjacencies for each minterm on the k-map. 2.select an uncovered minterm with the fewest number of adja-cencies. 3. generate a prime implicant, select the one that covers the most uncovered minterms. 4.Repeat step 2 & 3 until all minterms have been covered
f(x,y,z,t,e)= m(2,4,5,6,7,8,9,0,,2,3,5,6,8,22,24,25,27,28,29,3) xy 00 0 0 zte 000 00 0 00 0 0 00 f(x,y,z,t,e)= xyz+ x yz + xz t e + ye + yt + y te
از توابع نا کامل (با ( don t-care (١ ( حالات بي اهميتي هستند در خروجي به دليل که در ورودي اتفاق نميافتد. این don t-care این حالات به عنوان یک مو لفه ي موثر در ساده سازي به خوبي ميتوان استفاده کرد به این صورت که اگر ١ بودن برخي از این حالات باعث بزرگتر شدن cube ها و ساده سازي بيشتر شود ما ا نها را ١ فرض ميکنيم و اگر نه به نفع ماست که ا نها را ٠ فرض کنيم.
( don t-care ) ( ) f(x,y,z,t) = f(x,y,z,t) = m(,2,7,,2,5)+ d (0,3,6,9,3,4) x z + xy + y t xy zt 00 0 0 00 * * 0 * * * 0 *
( ) مي دانيم هر تابع جبري با هر شکل و اندازه اي با استفاده از یک جدول درستي قابل نمایش است و به فرم ٢ طبقه ي And-OR یا OR-And است. حال با توجه به اینکه گيت هايNor و Nand نيز مفيداند ميخواهيم ببينيم چه فرم هاي ٢ طبقه دیگري وجود دارد.
( ) طبقه ٢ طبقه ١ طبقه ٠ And And Not Or Or Nand Nand Nor Nor
طبقه ١ طبقه ٢ And Or Nand Nor And Or Nand Nor
cube xy zt 00 0 0 مثال: 00 0 0 f(x,y,z,t)= a.c (b + d) + a.c(b + d) + a.c(b. d) + a.c (b. d) f(x,y,z,t)=(b + d). (a. c)
روش ساده سازي کویين مک کلاسکي (Quine-McCluskey)(١) روش دیگري براي ساده سازي توابع مي باشد. مزیت این روش به جدول کارنا اینست که اگر ورودي هاي ما زیاد هم باشند کار کردن با ا ن ساده است ولي جدول کارنا براي توابعي با بيش از ۶ ورودي کاربردي ندارد زیرا کار کردن با ا ن ساده نيست.
روش ساده سازي کویين مک کلاسکي (Quine-McCluskey)(٢) مراحل و روش بينيم. این نوع ساده سازي را به همراه مي یک مثال
روش ساده سازي کویين مک کلاسکي (Quine-McCluskey)(٣) مثال: f(a,b,c,d)= m(2,4,6,8,9,0,2,3,5) ab cd 00 0 0 00 0 0
Q-M Tabular Minimization Method (4) Step. list in a column all the minterms of the function to be minimized in their binary representation. Partition them into groups according to the number of bits in their binary representation. This partitioning simplifies identification of logically adjacent minterms since, to be logically adjacent, two minterms must differ in exactly one literal.
Q-M Tabular Minimization Method (5) Minterms a b c d 2 0 0 0 4 0 0 0 Group (a single ) 8 0 0 0 6 0 0 9 0 0 Group 2 (two s) 0 0 0 2 0 0 3 0 Group 3 (three s) 5 Group 4 (four s)
Q-M Tabular Minimization Method (6) Step 2. perform an exhaustive search between neighboring groups for adjacent minterms and combing them into a column of (n-)-variable implicants, checking off each minterm that is combined. Repeat for each column, combing (n-)-variable implicants into (n-2)-variable implicants, and so on, until no further implicants can be combined.
Q-M Tabular Minimization Method (7) Minterms a b c d Minterms a b c d Minterms a b c d 2 000 2,6 0-0 PI2 8,9,2,3-0- PI 4 000 2,0-00 PI3 8 000 4,6 0-0 PI4 6 00 4,2-00 PI5 9 00 8,9 00-0 00 8,0 0-0 PI6 2 00 8,2-00 3 0 9,3-0 5 2,3 0-3,5 - PI7
Q-M Tabular Minimization Method (8) the final result is a list of prime implicants of the switching function. Step 3. construct a prime implicants chart that lists minterms along the horizontal and prime implicants along the vertical, with an * entry placed wherever a certain prime implicant (row) covers a given minterm (column).
Q-M Tabular Minimization Method (9) PI PI2 PI3 PI4 PI5 PI6 PI7 2 4 6 8 9 0 2 3 5 * * * * * * * * * * * * * * * *
Q-M Tabular Minimization Method (0) Step 4. Select a minimum number of prime implicants that cover all the minterms of the switching function.
Q-M Tabular Minimization Method () PI2 PI3 PI4 PI5 PI6 2 4 6 0 * * * * * * * *
Q-M Tabular Minimization Method (2) f(a,b,c,d)= PI + PI3+ PI4+ PI7 =-0- + -00 + 0-0 + - = a.c + b.c.d + a.b.d + a.b.d
ساده سازي خروجي هاي چند سيستم براي Q-M حال از این روش براي ساده سازي متفاوت استفاده مي کنيم. روش کار را با یک مثال مي بينيم. سيستم هاي با چند ورودي fα(a,b,c,d)= m(0,2,7,0)+d(2,5) fβ(a,b,c,d)= m(2,4,5)+d(6,7,8,0) fγ(a,b,c,d)= m(2,7,8)+d(0,5,3)
ساده سازي براي خروجي (٢) Q-M سيستم مينترم :0,2,4,5,6,7,8,0,2,3,5 ها هاي چند در ابتدا فرض ميکنيم همه ي مينترم ها و don t-care هاي داده شده مربوط به ١ تابع ميباشد و ا نها را دسته بندي ميکنيم و مرحله ١ و ٢ را به صورت گفته شده در قسمت قبل انجام ميدهيم.
يزاس هداس يارب متسيس دنچ ياه يجورخ (٣) Q-M 0 2 4 8 5 6 0 2 7 3 5 0000 000 000 000 00 00 00 00 0 0 αγ γ β βγ βγ β αβ α αβγ αβγ α PI0 PI3 PI2 PI 0,2 0,8 2,6 2,0 4,5 4,6 8,0 5,7 5,3 6,7 7,5 00-0 -000 0-0 -00 00-0-0 0-0 0- -0 0- - αγ γ β αβ β β β βγ γ β α PI2 PI8 PI7 PI6 PI5 PI4 PI3 PI9 4,5,6,7 0-- β PI MIN TERM MIN TERM MIN TERM abcd abcd abcd Flags Flags Flags
ساده سازي براي سيستم خروجي هاي چند (۴) Q-M fα fβ fγ PI PI2 PI3 PI4 PI5 PI6 PI7 PI8 PI9 PI0 PI PI2 PI3 β αγ γ β αβ β βγ γ α αβγ βγ α αβγ 0 2 7 0 2 4 5 2 7 8 * * * * * * * * * * * * * * * * * *
ساده سازي خروجي هاي چند سيستم براي fα fγ (۵) Q-M 7 7 8 PI3 PI7 PI9 PI PI3 γ βγ α βγ αβγ * * * * * * fα=pi2+pi5+pi3 fβ=pi+pi5 fγ=pi2+pi3+pi3 fa=a b d +b cd +a bcd fβ=a b+b cd fγ=a b d +b c d +a bcd
ساده سازي خروجي هاي چند سيستم براي a b c d (۶) Q-M PI PI2 PI3 fα fβ PI5 fγ PI3
( Half Adder Full Adder ( ) ) A seven segment display
Interface Truth Table (Q-M /)
: Truth table a b c Even Parity 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b c a 0 p e = m( 00 0 0 0 0 0 P e = (a b) c,2,4,7 ) 0
. : +=0 +0= 0+0=0
The initial carry in is implicitly 0 0 رقم نقلي ورودي 0 جمع شونده + 0 جمع آننده 0 0 حاصل جمع ترین بيت ارزش آم بيت ترین با ارزش
. carry sum. out /.
X Y C S 0 0 0 0 0 0 0 0 0 0 + 0 = 0 0 + = + 0 = + = 0 C = XY S = X Y + X Y = X Y
( ). ( ). ( ) ( ).
(١) Half Adder Full Adder. :Full Adder. :Half Adder
(٢) Half Adder Full Adder. Half adder Full adder X i Y i H.A s H.A s S i = X i Yi C i- c c C i- = X i Y i +X i C i- +Y i C i- C i-. XOR
( H.A) X i Y i Truth Table X i Y i C i S i S i = X i Y i H.A 0 0 0 0 0 0 C i = X i Y i C i S i 0 0 0 X i Y i S i C i
( F.A) X i Y i C i- Truth Table X i Y i C i- C i S i 0 0 0 0 0 F.A 0 0 0 0 0 0 S i = X i Y i C i- 0 0 0 0 0 C i = X i Y i + X i C i- + Y i C i- C i S i 0 0 0 0
( F.A) C = C ( A B) + AB out A B S C C out
Ripple Carry Adder (RCA) b 7 a 7 b 3 a 3 b 2 a 2 b a b 0 a 0 H.A F.A F.A F.A H.A C 4 C 3 C 2 C C OUT S 7 S 3 S 2 S S 0
Ripple Carry Adder (RCA) b 7 b 3 b 2 b b 0 a 7 a 3 a 2 a a 0 M F.A F.A F.A F.A F.A C OUT S7 S3 S2 S S0 If M =0 If M = A+B A-B or (A+B+)
. 2 n n 2 n n.
2 n n x 0 x LSB n- to- 2 n m 0 m x MSB n- m n- E Decoder. Active Low
( ) Truth Table E A B m 0 m m 2 m 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B A m 0= AB m = AB m 2= AB m 3= AB
( ) B A m 0 m m 2 m 3
m 0 B A m m 2 m 3
C B A m 0 = C B A m = C B A m 2 = C B A m 3 = C B A m 4 = C B A m 5 = C B A m 6 = C B A m 7 = C B A
B C B B A A A A A m 0 m m 2 m 3 m 4 C B A A A m 5 m 6 m 7
F(A, B,C) = m(0,,4,6,7) = M (2,3,5) : :. OR ( ). NAND ( ). NOR ( ).١.٢.٣. AND ( ).۴
. OR ( ) F(A, B,C) = m 0 + m + m 4 +m 6 + m 7 MSB LSB A B C 2 0 0 4 6 7 F(A, B,C)
. NAND ( ) F(A, B,C) = m 0. m. m 4.m 6. m 7 MSB LSB A B C 2 0 0 4 6 7 F(A, B,C)
. NOR ( ) F(A, B,C) = m 2 + m 3 + m 5 MSB LSB A B C 2 0 2 3 5 F(A, B,C)
. AND ( ) F(A, B,C) = m 2. m 3. m 5 MSB LSB A B C 2 0 2 3 5 F(A, B,C)
: Full Adder
:
. : s n or 2 s n s Log 2 n
:. x 0 x 4 to- 2 A 0 x 2 Encoder x 3 A
x 3 x 2 x x 0 A A 0 A 0 0 0 0 d d d d 0 0 0 0 0 0 d d d 0 0 0 0 0 0 d d A = X 2 +X 3 d 0 d d d d d d 0 0 0 0 0 0 0 0 d d d d A 0 d 0 0 d d d d 0 0 0 0 0 0 0 0 0 d d d d d d d d A 0 = X +X 3 d d d d 0 0 0 d d d d d d d 0 d d d d
x A 0 = X +X 3 x 3 x 2 A = X 2 +X 3 x 0
..
BCD ( ) ( )
:SSI :MSI :LSI :VLSI : - - ١٠١
BCD BCD. BCD 9 0 BCD. 9. 9 BCD BCD 9+9+=9. ١٠٢
BCD ١٠٣
n.. ١٠٤
: A=A 3 A 2 A A 0 B=B 3 B 2 B B 0 x i =A i B i +A i B i.. x i.. x i =0 : B A (A=B)=x 3 x 2 x x 0
: (A>B)=A 3 B 3 +x 3 A 2 B 2 +x 3 x 2 A B +x 3 x 2 x A 0 B 0 (A<B)=A 3 B 3 +x 3 A 2 B 2 +x 3 x 2 A B +x 3 x 2 x A 0 B 0.
2 n n.... - BCD :
x y z D 0 D D 2 D 3 D 4 D 5 D 6 D 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
...
..
.... OR
: C=x yz+ x yz +xy z +xyz S=xy+xz+yz C(x,y,z)= (,2,4,7) S(x,y,z)= (3,5,6,7,)
.. n 2 n.. OR
....
V.. D 0 D D 2 D 3. :
D 0 D D 2 D 3 x y V 0 0 0 0 X X 0 0 0 0 0 0 X 0 0 0 X X 0 0 X X X
x
y
..
MUX. I 2 I. S
( ) MUX
MUX
LSI MSI PLA
MUX MUX n n+. A MUX ( ) A. 0 A. MUX
. MUX.. :. 0 MUX. MUX. MUX MUX.
MUX :
MUX :
EO= x 0 x x 2 x 3 4 to- 2 Priority encoder A 0 A GS EO GS=
A x 3 x 2 x x 0 A A 0 GS EO A = X 2 +X 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A 0 0 0 0 0 A 0 = X +X 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EO=GS= X 0 + X + X 2 + X 3 0 0 0 0 0
X X 2 A 0 X 3 X 2 A X 0 EO GS
( ) ( ). x 0 x x 2 x 3 4-to- MUX Y s s 2 آد انتخاب
x 0 Y S S 0 0 0 0 0 Y x 0 x x 2 x 3 x x 2 x 3 S S 0
x 0 Y x x 2 x 3 Dec 2 4 S S 0
: F(A, B,C) = m(, 2, 3, 5,6) a b c F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I 0 I I 2 I 3 I 4 I 5 I 6 I 7 MUX 8 F 0 0 a b c
: F(A, B,C) = M(,2, 3, 6) a b c F I 0 I I 2 I 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 I 0 I I 2 I 3 MUX 4 a b
: I 0 I F(A, B,C) = m(, 2, 4, 5,6) a b c F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b c I 0 = b c I = b + c = bc b c a 0 00 0 0 I 0 I MUX 2 s 0 F I 0 I 0 a
a b c d F : I 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F(A, B, C, D) = m(, 3, 5, 6, 7, 0,, 5) a b c d 00 00 0 0 I 0 I 0 0 0 0 0 0 I I 2 0 0 0 0 0 0 0 0 I 3 I 2 0 0 0 0 0 0 I 0 =d I = d+c I 3 0 0 0 0 I 2 =c I 3 = cd
: d c I 0 I MUX F I 2 4 I 3 a b
) ( n : s 2 s n. s
n Y 0 Y Y n- 2 s
D E Y 0 ورودي فعال ساز Y Y 2 Y 3 m 0 m m 2 m 3 2-to-4 Decoder
. A>B, A>B, A=B. A=(A n- A n-2 A 0 ) B=(B n- B n-2 B 0 )
A 2 F, A<B B 2 F 2, A=B مقایسگر مقدار F 3, A<B F =, If A<B F 2 =, If A=B F 3 =, If A>B
A A 2 B 2 B 2 F F F 2 3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A=(A A 0 ) 2 B=(B B 0 ) 2 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
F 3, B<A 00 00 0 0 F 2,A=B 00 00 0 0 0 0 0 00 0 0 0 F, B>A 00 0 0
F = A B + A A 0 B 0 + A 0 B B 0 For (A A 0 ) 2 < (B B 0 ) 2 F 2 =A A 0 B B 0 + A A 0 B B 0 + A A 0 B B 0 +A A 0 B B 0 For (A A 0 ) 2 = (B B 0 ) 2 F 3 =A B +A B B 0 +A A 0 B 0 For (A A 0 ) 2 > (B B 0 ) 2
A F 3 B A 2 F B 2 F 2
Seven Segment Display : L 4 L 5 L L2 L3 L 6 L 7 B3 B2 B B0 Val 0 0 0 0 0 0 0 0 0 0 0 2 0 0 3 0 0 0 4 0 0 5 0 0 6 0 7 0 0 0 8 0 0 9
L 4 L 5 L L2 L3 L 6 L 7 B3 B2 B B0 Val L L2 L3 L4 L5 L6 L7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5 0 0 0 0 6 0 0 7 0 0 0 0 0 0 0 8 0 0 9 0
المنت :L4 B3 B2 B B0 L4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
. : s n or 2 s n s Log 2 n
:. x 0 x 4 to- 2 A 0 x 2 Encoder x 3 A
x 3 x 2 x x 0 A A 0 A 0 0 0 0 d d d d 0 0 0 0 0 0 d d d 0 0 0 0 0 0 d d A = X 2 +X 3 d 0 d d d d d d 0 0 0 0 0 0 0 0 d d d d A 0 d 0 0 d d d d 0 0 0 0 0 0 0 0 0 d d d d d d d d A 0 = X +X 3 d d d d 0 0 0 d d d d d d d 0 d d d d
x A 0 = X +X 3 x 3 x 2 A = X 2 +X 3 x 0
..