GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM Kỹ Thuật Số Giảng viên Lê Chí Thông Bộ môn Điện tử; Khoa Điện-Điện tử Đại học Bách Khoa TP.HCM ĐT: 0902-445-012 Email: chithong@gmail.com; chithong@hcmut.edu.vn Tác giả soạn slides: Nguyễn Trọng Luật GV dạy: Lê Chí Thông 1 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM Nội Dung Tóm Tắt • Môn học này giới thiệu nhiều chủ đề về các nguyên tắc và thực hành thiết kế số, bao gồm: hệ thống số; đại số Boole, các cổng logic, tối thiểu hóa mạch; hệ tổ hợp; bộ nhớ ROM, RAM và logic khả lập trình, Hệ tuần tự: chốt, flipflop, thanh ghi, bộ đếm, máy trạng thái; các họ vi mạch số; ngôn ngữ mô tả phần cứng. Giới thiệu chuyển đổi tương tự-số và tổ chức máy tính. • Sau khi đạt môn này SV có khả năng hiểu, thiết kế và xây dựng các hệ thống số tổ hợp và tuần tự. Sách và Tài Liệu • John F. Wakerly – Digital Design, Principles and Practices, 4th Ed–Prentice-Hall, 2006 • Katz and Boriello – Contemporary Logic Design, 2nd Ed.– Prentice-Hall, 2005 • M. Morris Mano and Charles R. Kime – Logic and Computer Design Fundamentals, 3rd Ed.–Prentice-Hall, 2004 • Nguyễn Như Anh – Kỹ Thuật Số 1, Nhà xuất bản Đại học Quốc gia TP.HCM. • Hồ Trung Mỹ – Kỹ Thuật Số 2, Nhà xuất bản Đại học Quốc gia TP.HCM • Lê Chí Thông – Kỹ Thuật Số cơ khí – Nhà xuất bản Đại học Quốc gia TP.HCM • Bài giảng và bài tập. GV dạy: Lê Chí Thông 2 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM Điểm và Cách Đánh Giá • Kiểm tra giữa kỳ (60 – 90 phút): 20% • Thi cuối kỳ (120 phút): 80% Nội Dung Chương Trình Chương 1: Hệ Thống Số Đếm Chương 2: Đại Số Boole Chương 3: Hệ Tổ Hợp Chương 4: Hệ Tuần Tự Chương 5: Các Thiết Bị Logic Lập Trình Được (PLD) Chương 6: Ngôn Ngữ Mô Tả Phần Cứng (VHDL) GV dạy: Lê Chí Thông 3 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM Chöông 1: HEÄ THOÁNG SOÁ ÑEÁM – SOÁ NHÒ PHAÂN I. Caùc heä thoáng soá ñeám: 1. Caùc khaùi nieäm: - Cô soá (r - radix): laø soá löôïng kyù töï chöõ soá (kyù soá - digit) söû duïng ñeå bieåu dieãn trong heä thoáng soá ñeám - Troïng soá (weight): ñaïi löôïng bieåu dieãn cho vò trí cuûa 1 con soá trong chuoãi soá. Troïng soá = Cô soá Vò trí - Giaù trò (value): tính baèng toång theo troïng soá Giaù trò = Σ (Kyù soá x Troïng soá) a. Soá thaäp phaân (Decimal): 7 Cô soá r = 10 4 0 7 . 6 2 5 102 101 100 . 10-1 10-2 10-3 4x102 0x101 7x100 . 6x10-1 2x10-2 5x10-3 400 0 7 . 0.6 0.02 0.005 400 + 0 + 7 + 0.6 + 0.02 + 0.005 = 407.625 b. Soá nhò phaân (Binary): Cô soá r = 2 1 0 1 . 0 1 1 22 21 20 . 2-1 2-2 2-3 1x22 0x21 1x20 . 0x2-1 1x2-2 1x2-3 4 0 1 . 0 0.25 0.125 4 + 0 + 1 + 0 + 0.25 + 0.125 = 5.375 8 GV dạy: Lê Chí Thông 4 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM c. Soá thaäp luïc phaân (Hexadecimal): Hexadecimal Decimal 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Binary Cô soá r = 16 Hexadecimal Decimal 0000 0001 0010 0011 0100 0101 0110 0111 8 9 A B C D E F Binary 8 9 10 11 12 13 14 15 1000 1001 1010 1011 1100 1101 1110 1111 5 A 0 . 4 D 1 162 161 160 . 16-1 16-2 16-3 5x162 10x161 0x160 . 4x16-1 13x16-2 1x16-3 1280 160 0 . 0.25 0.0508 0.0002 1280 + 160 + 0 + 0.25 + 0.0508 + 0.0002 = 1440.301 9 2. Chuyeån ñoåi cô soá: a. Töø thaäp phaân sang nhò phaân 8 . 625 8 4 2 1 :2 = :2 = :2 = :2= 4 2 1 0 dö dö dö dö 0 (LSB) 0 0 1 1 0 0 0 . 1 0 1 B 0.625 x 2 = 1.25 phaàn nguyeân 1 (MSB) 0.25 x 2 = 0.5 phaàn nguyeân 0 0.5 x 2 = 1.0 phaàn nguyeân 1 10 GV dạy: Lê Chí Thông 5 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM b. Töø thaäp phaân sang thaäp luïc phaân: 1480.4296875 1480 : 16 = 92 dö 8 (LSD) 92 : 16 = 5 dö 12 5 : 16 = 0 dö 5 5 C 8 . 6 E H 0.4296875 x 16 = 6.875 phaàn nguyeân 6 (MSD) 0.875 x 16 = 14.0 phaàn nguyeân 14 11 c. Töø nhò phaân sang thaäp luïc phaân: 0011101101011101.0110101 0 B 3 B 5 D . 6 A H d. Töø thaäp luïc phaân sang nhò phaân: 2 C 9 . E 8 H 0 01011001001.11101000 B 12 GV dạy: Lê Chí Thông 6 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM II. Soá nhò phaân (Binary): 1.Caùc tính chaát cuûa soá nhò phaân - Soá nhò phaân n bit coù 2n giaù trò töø 0 ñeán 2n - 1 - Soá nhò phaân coù giaù trò 2n-1: 1 … … … 1 (n bit 1) vaø giaù trò 2n: 1 0 … … ... 0 (n bit 0) - Soá nhò phaân coù giaù trò leû laø soá coù LSB = 1; ngöôïc laïi giaù trò chaün laø soá coù LSB = 0 - Caùc boäi soá cuûa bit: 1 B (Byte) = 8 bit 1 KB = 210 B = 1024 B 1 MB = 210 KB = 1 GB = 210 MB 220 B 13 2. Caùc pheùp toaùn soá hoïc treân soá nhò phaân: a. Pheùp coäng: 0 0 1 1 + + + + 0 1 0 1 = = = = 0 1 1 0 nhôù 1 = = = = 0 1 möôïn 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 b. Pheùp tröø: 0 0 1 1 - 0 1 0 1 -1 -1 -1 1 1 0 1 0 1 1 1 1 0 0 1 1 14 GV dạy: Lê Chí Thông 7 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM 1 0 1 1 c. Pheùp nhaân: 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 d. Pheùp chia: 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 15 3. Maõ nhò phaân: Töø maõ: laø caùc toå hôïp nhò phaân ñöôïc söû duïng trong loaïi maõ nhò phaân a. Maõ nhò phaân cho soá thaäp phaân (BCD – Binary Coded Decimal) Soá BCD BCD thaäp phaân (8 4 2 1) (2 4 2 1) 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 1011 6 0110 1100 7 0111 1101 8 1000 1110 9 1001 1111 GV dạy: Lê Chí Thông BCD quaù 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Maõ 1 trong 10 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1 0 0 0 0 0 0 0 0160 8 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM b. Maõ Gray: laø maõ nhò phaân maø 2 giaù trò lieân tieáp nhau coù toå hôïp bit bieåu dieãn chæ khaùc nhau 1 bit Giaù trò 0 1 2 3 4 Binary 000 001 010 011 100 Gray 000 001 011 010 110 Ñoåi töø Binary sang Gray Ñoåi töø Gray sang Binary 1 0 1 1 1 0 0 0 1 0 1 1 0 Gray: Gray: 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 17 c. Maõ LED 7 ñoaïn: Giaù trò 0 1 2 3 4 5 6 7 8 9 a f g e b c d a b c d e f g 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 d. Maõ 1 trong n: laø maõ nhò phaân n bit coù moãi töø maõ chæ coù 1 bit laø 1 (hoaëc 0) vaø n-1 bit coøn laïi laø 0 (hoaëc 1) Maõ 1 trong 4: GV dạy: Lê Chí Thông 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 hoaëc 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 18 9 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM d. Maõ kyù töï ASCII: (Coät) b6 b5 b4 (Haøng) b3b2b1b Hex 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP ! ” # $ % & ’ ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o 0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F p q r s t u v w x y z { | } ~ 19 DEL III. Soá nhò phaân coù daáu : 1. Bieåu dieãn soá coù daáu: a. Soá coù daáu theo bieân ñoä (Signed_Magnitude): - Bit MSB laø bit daáu: 0 laø soá döông vaø 1 laø soá aâm, caùc bit coøn laïi bieåu dieãn giaù trò ñoä lôùn + 13 : 01101 - 13 : 11101 - Phaïm vi bieåu dieãn: - (2n-1 – 1) ÷ + (2n-1 – 1) 20 GV dạy: Lê Chí Thông 10 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM b. Soá buø_1 (1’s Complement): - Soá buø_1 cuûa 1 soá nhò phaân N coù chieàu daøi n bit Buø_1 (N) = 2n – 1 – N Buø_1 (1 0 0 1) = 24 - 1 - 1 0 0 1 = 1111 - 1001 = 0110 - Coù theå laáy Buø_1 cuûa 1 soá nhò phaân baèng caùch laáy ñaûo töøng bit cuûa noù (0 thaønh 1 vaø 1 thaønh 0) - Bieåu dieãn soá coù daáu buø_1: * Soá coù giaù trò döông: bit daáu = 0, caùc bit coøn laïi bieåu dieãn ñoä lôùn * Soá coù giaù trò aâm: laáy buø_1 cuûa soá döông coù cuøng ñoä lôùn - Phaïm vi bieåu dieãn - (2n-1 – 1) ÷ + (2n-1 – 1) 21 c. Soá buø_2 (2’s Complement): - Soá buø_2 cuûa 1 soá nhò phaân N coù chieàu daøi n bit cuõng coù n bit Buø_2 (N) = 2n – N = Buø_1 (N) + 1 Buø_2 (1 0 0 1) = 24 - 1 0 0 1 = 10000 - 1001 = 0111 hoaëc Buø_2 (1 0 0 1) = Buø_1 (1 0 0 1) + 1 = 0110 +1 = 0111 22 GV dạy: Lê Chí Thông 11 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM - Bieåu dieãn soá coù daáu buø_2: * Soá coù giaù trò döông: bit daáu = 0, caùc bit coøn laïi bieåu dieãn ñoä lôùn * Soá coù giaù trò aâm: laáy buø_2 cuûa soá döông coù cuøng ñoä lôùn - Phaïm vi bieåu dieãn soá nhò phaân coù daáu n bit - (2n-1 ) Giaù trò döông 000 = 0 001 = + 1 010 = + 2 011 = + 3 ÷ + (2n-1 - 1) Giaù trò aâm 100 = - 4 101 = - 3 110 = - 2 111 = - 1 23 - Ñeå tìm ñöôïc giaù trò cuûa soá aâm: ta laáy buø_2 cuûa noù; seõ nhaän ñöôïc soá döông coù cuøng bieân ñoä Soá aâm 1 Buø_2 15 1 0 0 0 1 coù giaù trò : -……… (1 1 0 0 0 1) = 0 0 1 1 1 1 : + 15 - Môû roäng chieàu daøi bit soá coù daáu: soá döông theâm caùc bit 0 vaø soá aâm theâm caùc bit 1 vaøo tröôùc -3 : 101 = 11101 - Laáy buø_2 hai laàn moät soá thì baèng chính soá ñoù - Giaù trò -1 ñöôïc bieåu dieãn laø 1 …. 11 (n bit 1) - Giaù trò -2n ñöôïc bieåu dieãn laø 1 0 0 .... 0 0 (n bit 0) - 32 = - 25 : 1 0 0 0 0 0 GV dạy: Lê Chí Thông 24 12 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM 2. Caùc pheùp toaùn coäng tröø soá coù daáu: - Thöïc hieän gioáng nhö soá khoâng daáu. - Thöïc hieän treân toaùn haïng coù cuøng chieàu daøi bit, vaø keát quaû cuõng coù cuøng soá bit - Keát quaû ñuùng neáu naèm trong phaïm vi bieåu dieãn soá coù daáu. (neáu keát quaû sai thì caàn môû roäng chieàu daøi bit) + + -6 +3 -3 +4 +5 -7 : : : 1010 0011 1101 : 0100 : 0101 : 1 0 0 1 (Kq sai) + -2 -5 -7 : : : 1110 1011 1001 00100 00101 01001 :+9 (Kq ñuùng) 25 Tràn (overflow) xảy ra khi số nhớ Cin và Cout tại vị trí dấu là khác nhau. - - -6 -2 -4 : : : 1010 1110 1100 -7 : 1001 +5 : 0101 + 4 : 0 1 0 0 (Kq sai) - +2 : -5 : +7 : 0010 1011 0111 11001 00101 1 0 1 0 0 : - 12 (Kq ñuùng) 26 GV dạy: Lê Chí Thông 13 GV soạn: Nguyễn Trọng Luật ĐH Bách Khoa TP.HCM A – B = A + Buø_2 (B) Tröø vôùi soá buø_2: * Tröø vôùi soá khoâng coù daáu - 6 13 -7 : : : 0110 1101 buø_2: + 0110 0011 1001 * Tröø vôùi soá coù daáu - -6 -3 -3 : : : 1010 1101 buø_2: + 1010 0011 1101 27 IV. Coäng tröø soá BCD: Cộng Trừ S= A+B Neáu decade Si > 9 hoaëc coù bit nhôù Ci = 1 thì hieäu ñính Si: Si = Si + 0110 (6D) Cn = 1: keát quaû D=A–B D laø soá döông = A + Buø 2 (B) Cn = 0: keát quaû (bỏ qua bit nhớ Cn) D laø soá aâm Laáy buø 2 (D) Neáu decade Di > 9 thì hieäu ñính Di: Di = Di + 1010 (10D) (bỏ qua bit nhớ khi hiệu đính) Cn là bit nhớ tạo ra từ decade cao nhất, Ci là số nhớ tạo ra từ decade thứ i 29 : 0 0 1 0 1 0 0 1 + 55 : 0 1 0 1 0 1 0 1 0111 1110 0110 84 : 1 0 0 0 0 1 0 0 GV dạy: Lê Chí Thông 1 28 : 0 0 1 0 1 0 0 0 + 19 : 0 0 0 1 1 0 0 1 0100 0001 0110 47 : 0 1 0 0 0 1 1 1 28 14 GV soạn: Nguyễn Trọng Luật - 29 : 0 0 1 0 1 0 0 1 14 : 0 0 0 1 0 1 0 0 ĐH Bách Khoa TP.HCM Bù 2 + Cn =1 Bỏ qua Cn 0010 1001 1110 1100 0001 0101 = 15 Kết quả: + 15 - 56 : 0 1 0 1 0 1 1 0 18 : 0 0 0 1 1 0 0 0 Bù 2 Cn =1 Bỏ qua Cn Kết quả: + 38 + 0101 0110 1110 1000 0 0 1 1 1 1 1 0 D0>9 + 1010 0 0 1 1 1 0 0 0 = 38 Bỏ qua bit nhớ GV dạy: Lê Chí Thông 15 GV soạn: Nguyễn Trọng Luật - 21 : 0 0 1 0 1 0 0 1 55 : 0 1 0 1 0 1 0 1 ĐH Bách Khoa TP.HCM Bù 2 + Cn =0 0010 0001 1010 1011 1100 1100 Bù 2 Kết quả: - 34 34 : 0011 0100 31 - 29 : 0 0 1 0 1 0 0 1 55 : 0 1 0 1 0 1 0 1 Bù 2 Cn =0 + 0010 1001 1010 1011 1101 0100 Bù 2 Kết quả: - 26 0 0 1 0 1 1 0 0 D0>9 + 1010 26 : 0010 0110 Bỏ qua bit nhớ 32 GV dạy: Lê Chí Thông 16 GV soạn: Nguyễn Trọng Luật - 16 : 0 0 0 1 0 1 1 0 40 : 0 1 0 0 0 0 0 0 ĐH Bách Khoa TP.HCM Bù 2 Cn =0 + 0001 0110 1100 0000 1101 0110 Bù 2 Kết quả: - 24 0 0 1 0 1 0 1 0 D0>9 + 1010 24 : 0010 0100 Bỏ qua bit nhớ 33 Traïng thaùi logic cuûa tín hieäu soá (Digital Signal): Giaûn ñoà xung (Waveform) cuûa tín hieäu soá: 34 GV dạy: Lê Chí Thông 17