Chương IV :M ch Logi cs
4.1. Cng và ự is Boolean 1 C ng (Gate)
C ng (hay c ng lu n lý) Ờ cơ s ph n c ng, t ựó ch! t"o ra m&i máy tắnh s*. C ng có m t ho c nhi u l i vào, nhưng ch có
1 l i ra. Các giá tr vào ho c ra ch có th nh!n 1 trong 2 giá tr là 1 ho c 0. G$i là c ng lu!n lý vì nó cho k(t qu* lý lu!n c+a ự-i s logic như n(u A ựúng và B ựúng thì C ựúng (c ng AND: C = A AND B)
Chúng ta s8 xem xét nh<ng ý tư=ng cơ b*n ch( t-o các c ng này ự hi u rõ b*n chBt c+a m-ch s . M$i logic s hiDn ự-i rút cu c cũng dGa trên viDc ch( t-o transistor v!n hành như m t công tJc nh phân cGc nhanh. Hình 4.1(a) minh h$a (m-ch) transistor lưOng cGc ự t vào m-ch ựơn gi*n. Transistor này có 3 n i k(t vQi th( giQi bên ngoài: cGc góp (collector), cGc n n (base) và cGc phát (emitter). Khi ựiDn áp vào, Vin thBp hơn giá tr tQi h-n nào ựó (0.8V),
transistor s8 tJt và ựóng vai trị như ựiDn tr= vơ h-n, khi(n ựVu ra c+a m-ch, Vout nh!n giá tr gVn vQi Vcc (ựiDn áp ngoài thưWng là +3 V). Lúc Vin vưZt quá giá tr tQi h-n, transistor b!t và ựóng vai trị
như dây d[n, kéo Vout xu ng tQi ựBt (theo qui ưQc là 0 V).
Chúng ta thBy r\ng khi Vin thBp thì Vout cao, và ngưZc l-i. Do ựó, m-ch này là b ngh ch ự*o (converter ho c NOT), chuy n logic 0 sang logic 1 , và logic 1 sang logic 0, hay tương ^ng vQi m t c ng g$i là c ng NOT. CVn ựiDn tr_ ự giQi h-n dòng ựiDn do transistor kéo qua. ThWi gian cVn thi(t ự chuy(n t` tr-ng thái này sang tr-ng thái khác thưWng mBt vài nano giây tùy theo lo-i transistor.
Chương IV: M ch Logic s
a) M-ch NOT
b) M-ch NAND
c) M-ch NOR
Hình 4.1. CBu t-o c ng NOT, NAND và NOR
Trong Hình 4.1 (b), hai transistor dưZc mJc n i ti(p. N(u V1 và V2 ự u cao, c* hai transistor s8 d[n ựiDn và Vout s8 b kéo xu ng thBp. Gi* sc m t trong hai ựVu vào thBp, transistor tương ^ng s8 tJt, và ựVu ra s8 cao. Nói tóm l-i Vout s8 thBp khi và ch khi V1 và V2 ự u cao. M-ch này là m t c ng NAND. Trong Hình 4.1 (c) hai transistor ựưZc mJc song song, thay vì n i ti(p. Trong
trưWng hZp này, n(u m t trong hai ựVu vào cao, transistor tương ^ng s8 kéo ựVu ra xu ng tQi ựBt. Còn như c* hai ựVu vào ự u thBp, ựVu ra s8 v[n cao. M-ch này tương ^ng vQi c ng g$i là NOR.
C ng là m t m ch s g m m t ho c nhi u tắn hi u nh p và m t tắn hi u xu t.
M t m-ch s s8 ựưZc t-o ra t` t!p hZp các c ng cơ b*n. Mei c ng cơ b*n có ký hiDu riêng và ho-t ự ng c+a nó ựưZc mơ t* qua m t b*ng g$i là b*ng chân tr (truth table).
Tên, ký hiDu, hàm logic bi u difn và b*ng chân tr c+a các c ng cơ b*n liDt kê trong b*ng 4.1.
C ng AND có ắt nhBt 2 ựVu vào và 1 ựVu ra. đVu ra ch b\ng 1 khi và ch khi tBt c* các ựVu vào b\ng 1, các trưWng hZp khác ựVu ra s8 có giá tr b\ng 0.
C ng OR có ắt nhBt 2 ựVu vào và 1 ựVu ra. đVu ra b\ng 1
khi có m t trong các ựVu vào b\ng 1, các trưWng hZp khác ựVu ra s8 có giá tr b\ng 0.
C ng NOT có m t ựVu vào và 1 ựVu ra. đVu ra ln có giá tr ngh ch ự*o vQi ựVu vào. đVu vào b\ng 1 thì ựVu ra b\ng 0 và ngưZc l-i.
C ng XOR có ký hiDu như c ng OR nhưng có thêm m t
vịng cung = ựVu vào. đVu ra là 1 n(u s ựVu vào có tr b\ng 1 là m t s li, các trưWng hZp khác b\ng 0. Trong trưWng hZp có 2 ựVu vào thì ựVu ra b\ng 1 khi m t trong 2 ựVu vào b\ng 1, các trưWng hZp khác b\ng 0.
Các c ng NAND, NOR, NXOR là bù c+a các c ng tương
^ng AND, OR, XOR và ựưZc bi u difn thêm m3t vòng tròn nh6
ự u ra. Tên c ng Ký hi"u Hàm logic B&ng chân tr* AND x = A.B ho c x = AB ho c x = A AND B A B x 0 0 0 0 1 0 1 0 0 1 1 1 OR x = A + B ho c x = A OR B A B x 0 0 0 0 1 1 1 0 1 1 1 1 NOT x = A ho c x = NOT A A x 0 1 1 0 XOR x=A⊕B A B x 0 0 0 0 1 1 1 0 1 1 1 0 B*ng 4.1. Các c ng cơ b*n
Chương IV: M ch Logic s
đ i vQi các c ng có ựVu ra ngh ch ự*o (invert) ta có b*ng 4.2.
Tên c ng Ký hi"u Hàm logic B&ng chân tr* NAND x=A.B ho c x = NOT (A AND B) A B x 0 0 1 0 1 1 1 0 1 1 1 0 NOR x=A+B A B x 0 0 1 0 1 0 1 0 0 1 1 0 NXOR x=A⊕B A B x 0 0 1 0 1 0 1 0 0 1 1 1 B*ng 4.2. Các c ng cơ b*n có ựVu ra ngh ch ự*o
Chương IV: M ch Logic s
4.1.2.đ i s Boolean (Boolean algebra)
đ-i s Boolean (hay ự-i s Logic) là mơn tốn h$c nghiên c^u các mDnh ự lu!n lý và là cơng cm tốn h$c ự phân tắch và t ng hZp các thi(t b m-ch s . Các bi(n s trong ự-i s Boolean là bi(n Boolean và là m t ự-i lưZng mà t-i các thWi ựi m khác nhau nó ch có th b\ng 0 ho c 1. Bi(n Boolean thưWng ựưZc sc dmng ự bi u difn m^c ựiDn th( có trên dây hay t-i các ựVu vào/ra (input/ouput o IO) c+a m t m-ch s .
Như v!y, bi(n Boolean là các bi(n bi u th tr-ng thái c+a m t giá tr ựiDn th( và ta g$i là m^c logic. Trong logic s thì nhi u thu!t ng< khác nhau ựưZc dùng ự bi u th hai tr-ng thái nh phân 0, 1 như trong b*ng 4.3. Logic 0 Logic 1 Sai đúng TJt M= ThBp Cao Khơng Có Cơng tJc m= Cơng tJc ựóng
B*ng 4.3. Các thu!t ng< bi u difn logic Ộ0Ợ và Ộ1Ợ
Như ựã nói = trên, ự-i s Boolean là m t công cm ự phân tắch và t ng hZp các thi(t b m-ch s hay nói cách khác là ự bi u difn các m i quan hD gi<a ựVu vào và ra c+a m-ch s . Các giá tr c+a bi(n logic ựVu vào s8 quy(t ự nh giá tr c+a ựVu ra t-i m t thWi ựi m nhBt ự nh. Chúng ta s8 dùng các ký hiDu b\ng ch< ự bi u th các giá tr logic. Vắ dm, x là các giá tr ựVu vào ho c ra c+a m-ch s , và t-i thWi ựi m bBt kỳ có th x = 0 ho c x = 1.
Ba phép tắnh cơ b*n c+a ự-i s Boolean (goi là các phép toán logic) là:
o Phép Ph+ ự nh Logic: NOT Vắ dm:
+ y b\ng ph+ ự nh c+a A: y = NOT A ho c y=A
o Phép c ng logic: OR
Vắ dm: x c ng y ta ký kiDu là x OR y ho c x + y o Phép nhân logic: AND
Vắ dm: A nhân B ta ký hiDu A AND B ho c A.B ho c
AB.
Các quy t:c Logic:
o Quy tJc v phép c ng:
X + 0 = X X + X = X
X + 1 = 1 X +X =1o Quy tJc v phép nhân logic: o Quy tJc v phép nhân logic:
X . 0 = 0 X . X = X X . 1 = X X.X =0 X . 1 = X X.X =0 o Quy tJc v ph+ ự nh:
X X =
Các m-ch s ựưZc thi(t k( t` nh<ng nguyên t nh_ nhBt g$i là c ng logic (gate). Các c ng này ựưZc cBu thành t` diod, transistor và ựiDn tr=, ự ryi ựVu ra c+a nó s8 có giá tr như các phép toán logic cơ b*n (NOT, OR, AND). Chúng ta s8 dùng ự-i s Boolean ự mô t* và phân tắch các c ng logic cơ b*n này, sau ựó s8 m= r ng ra phân tắch và thi(t k( cách n i các công l-i vQi nhau ự t-o thành các m-ch s cVn thi(t.
Hàm Logic:
Cũng gi ng như ự-i s thưWng, ự-i s boolean cũng có hàm. Hàm Boolean là hàm c+a các bi(n Logic và b*n thân cũng ch nh!n các giá tr 0 ho c 1. ThưWng chúng ta dùng hàm boolean ự bi u difn ựVu ra c+a m-ch s và các bi(n logic c+a hàm ựó ự bi u difn các ựVu vào c+a m-ch.
B?ng chân trA (truth table) là phương tiDn mô t* ựVu ra c+a
m-ch logic phm thu c vào các m^c ựVu vào c+a m-ch. Hay nói cách khác b*ng chân tr dùng ự bi u difn m i quan hD gi<a hàm Boolean và các bi(n logic c+a hàm ựó.
Vắ dm: b*ng chân tr c+a hàm y=AOR B=A+B A B y 0 0 0 0 1 1 1 0 1 1 1 1
B*ng liDt kê m$i t hZp có th có c+a các bi(n logic tưZng trưng cho ựVu vào m-ch s A và B vQi các giá tr tương ^ng = ựVu ra y.
Mei c ng cơ b*n s8 có m t phép tốn Boolean cơ b*n tương ^ng
a) Phép toán OR
Hàm x ựưZc t hZp t` 2 bi(n logic A và B b\ng phép toán OR là: x = A + B ho c x=A OR B. z ựây dBu Ộ+Ợ không bi u th cho phép c ng thơng thưWng, mà nó thay cho phép tốn OR. Bi u th^c x = A + B ựưZc ự$c là Ộ x b\ng A OR BỢ, nhưng ự ựơn gi*n chúng ta hay dùng là Ộx b\ng A c ng BỢ. đi u quan tr$ng = ựây là chúng ta ph*i nhQ ựây là phép toán OR ch^ khơng ph*i phép tốn c ng thơng thưWng. (phép tốn c ng thơng thưWng 1+1=2, trong khi phép toán OR là 1 + 1=1).
Tương tG vQi c ng OR, giá tr c+a hàm x ựưZc xác ự nh qua b*ng chân tr sau: A B x=A+B 0 0 0 0 1 1 1 0 1 1 1 1 C ng OR 2 ựVu vào
Chương IV: M ch Logic s
Nhìn vao b*ng ta thBy x = 1 khi có m t ựVu vào tr= lên b\ng 1. TrưWng hZp duy nhBt có x = 0 là khi tBt c* các ựVu vào ự u b\ng 0.
Vắ dm phép toán OR cho 3 bi(n ựVu vào A, B và C: x = A + B + C A B C x=A+B+C 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1
C ng OR cho 3 ựVu vào
Tóm lai:
o Phép tốn OR cho k(t qu* là 1 khi m t trong các ựVu vào là 1
o Phép toán OR cho k(t qu* là 0 khi tBt c* các ựVu vào ự u là 0
o VQi phép toán OR: 1+1=1, 1+1+1=1,Ầ
o C ng OR là m-ch logic thGc hiDn phép toán OR trên các ựVu vào logic c+a m-ch.
Vắ dH: xác ự nh ựVu ra x = A + B c+a c ng OR trong hình 4.2. Tắn
hiDu các ựVu vào A và B c+a c ng OR thay ự i theo sơ ựy thWi gian minh h$a:
Chương IV: M ch Logic s
Hình 4.2. C ng OR và sơ ựy thWi gian Gi*i:
Chúng ta ựã bi(t là ựVu ra c+a c ng OR ch b\ng 1 (hay = m^c cao) khi có m t trong các ựVu vào b\ng 1, các trưWng hZp khác ự u b\ng 0 (hay = m^c thBp). T` sơ ựy thWi gian c+a các ựVu vào ta thBy:
cho ự(n thWi ự m t=20ns c* A và B ự u b\ng 0 => tắn hiDu ựVu ra x=0 trong ựo-n này.
t-i thWi ựi m t=20ns, A chuy n t` 0 lên 1=> ựVu ra x cũng chuy n lên 1=> ựo-n t` t=20ns ự(n t=40ns ựVu ra x s8 b\ng 1.
ti(p t` t=40ns ự(n t=80ns ựVu ra x cũng b\ng 1 vì 1 trong 2 ựVu vào có tr b\ng 1.
l!p lu!n tương tG như v!y ta có ựưZc bi u ựy thWi gian cho tắn hiDu ựVu ra phm thu c vào các tắn hiDu ựVu vào như hình 4.3:
Hình 4.3. K(t qu* ựVu ra
b) Phép toán AND
Hàm AND ựưZc t hZp t` 2 bi(n logic A và B b\ng phép toán AND là: x = A.B ho c x=AB ho c x = A AND B. Tương tG vQi c ng AND, giá tr c+a hàm x ựưZc xác ự nh qua b*ng chân tr sau:
A B x=A.B
0 0 0 0 1 0 1 0 0 1 1 1
Chú ý r\ng trong biêu3 th^c x=A.B thì dBu nhân = ựây khơng ph*i phép tốn nhân thông thưWng, mà là phép toán AND. Nhưng trong trưWng hZp ch áp dmng cho các bi(n có giá tr là 0 ho n 1 thì phép tốn AND l-i tương tG như phép nhân bình thưWng (0.0=0, 0.1=0, 1.1=1).
Tương tG, ta cũng có phép tốn AND cho 3 bi(n và c ng AND cho 3 ựVu vào như sau:
A B C f=A.B.C 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Tóm lai:
o Phép tốn AND ựưZc thGc hiDn như phép nhân thơng thưWng gi<a các s 0 và 1
o đVu ra c+a c ng AND hay giá tr hàm AND ch b\ng 1 khi tBt c* các ựVu vào ự u b\ng 1
o đVu ra c+a c ng AND hay giá tr hàm AND b\ng 0 khi có m t trong các ựVu vào \ng 0
o C ng AND là m-ch logic thGc hiDn phép toán AND trên ựVu vào là các bi(n c+a hàm AND
Vắ dm:
Xác ự nh ựVu ra x t` c ng AND, n(u các tắn hiDu ựVu vào có d-ng hình 4.4:
Hình 4.4. D-ng tắn hiDu ựVu vào Gi*i:
đây là m t d-ng khác c+a cách bi u difn m t hàm logic hay m t c ng. Thay vì dùng b*ng chân tr thì = ựây ta dùng ựy th tắn hiDu các ựVu vào và ra. Chúng ta bi(t r\ng ựVu ra c+a c ng AND ch b\ng 1 khi tBt c* các ựVu vào ự u b\ng 1. Như v!y ựo-n 0 60ns, ựVu ra x s8 b\ng 0 vì trong ựo-n này ln có m t trong 2 tắn hiDu ựVu vào A ho c B b\ng 0. đo-n 60ns 80ns, tắn hiDu ựVu ra x s8 b\ng 1 do c* 2 ựVu vào A và B ự u b\ng 1. Tương tG ta co ựưZc tắn hiDu = ựVu ra như hình 4.5:
Hình 4.5. Tắn hiDu ựVu ra
c) Hàm NOT
f = A hay f = NOT A : Hàm f tương tG vQi c ng Inverter,
có giá tr ngưZc vQi bi(n logic A và ựưZc bi u difn qua b*ng chân tr sau:
A f
0 1 1 0
Chương IV: M ch Logic s d) Hàm XOR
Hàm XOR cho 2 bi(n logic A và B là: f =A⊕B ho c f =
A XOR B. Tương tG vQi c ng XOR, giá tr c+a hàm f ựưZc xác
ự nh qua b*ng chân tr sau:
A B f
0 0 0 0 1 1 1 0 1 1 1 0
~ng dmng c+a m-ch XOR là ự so sánh hai s . N(u hai s b\ng nhau thì giá tr ựVu ra c+a m-ch là 1, ngưZc l-i là 0.
Như v!y gi<a m-ch s và ự-i s Boolean có m t m i quan hD tương ^ng qua l-i vQi nhau gi<a c ng và hàm Boolean. Nói cách khác ta có th bi u difn m-ch s b\ng hàm Boolean và ngưZc l-i.
Nh n xét 1:
o Hàm c+a n bi(n logic s8 có 2n t hZp bi(n, vQi mei t hZp bi(n hàm có th lBy m t trong 2 giá tr là 0 ho c là 1. Như v!y ự bi u difn 1 hàm có 2 bi(n, ta cVn 1 b*ng chân tr có 4 dịng hay 4 t hZp bi(n (khơng tắnh dịng tiêu ự ), hàm cho 3 bi(n s8 cVn b*ng chân tr có 23 =8 dòng,Ầ
o Mmc ựắch c+a ự-i s Boolean là cung cBp m t công cm ự bi u difn m-ch s , giúp cho viDc thi(t k( m-ch s ựưZc d8 dàng hơn. đ c biDt trong viDc ựơn gi*n hàm cũng như tìm ra m-ch s tương ựương nhưng có kắch th^ơc nh_ g$n và dùng ắt c ng hơn. đ t!n dmng các phương pháp ựơn gi*n, chúng ta cVn m t s ựyng nhBt th^c trong ự-i s Boolean. B*ng 4.3 liDt kê m t s ựyng nhBt th^c chắnh. đi m ựáng lưu ý là mei ự nh lu!t có hai d-ng
Chương IV: M ch Logic s
ự i ng[u c+a nhau. B\ng cách hoán ự i AND và OR, cũng như 0 và 1 , có th( t-o d-ng này b\ng d-ng kia. Th!t df ch^ng minh tBt cà ự nh lu!t thông qua xây dGng b*ng chân tr .
Tên D ng AND D ng OR đ nh lu!t th ng nhBt 1A = A 0 + A = A đ nh lu!t không OA = O 1+ A = 1 đ nh lu!t Idempotent AA = A A + A = A đ nh lu!t ngh ch ự*o 0 .A= A A+A =1 đ nh lu!t giao hoán AB = BA A + B = B + A đ nh lu!t k(t hZp (AB)C = A(BC) (A+B)+C = A + (B+C) đ nh lu!t phân b A + BC = (A + B)(A + C) A(B+C) = AB + AC đ nh lu!t hBp thm A(A + B) = A A + AB = A
đ nh lu!t De
Morgan AB A B
+
= A+B = AB
B*ng 4.4. Các ự nh lu!t ự-i s Boolean cơ b*n
đinh lu t De Morgan ựưa ra ký pháp thay th( và rBt quan tr$ng