Thiết kế mạch chuyển mã từ Gray sang Dư 3 Môn kỹ thuật xung số trường Đại học Bách Khoa Đà Nẵng
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN ------------- BÀI TẬP KĨ THUẬT XUNG SỐ THIẾT KẾ MẠCH CHUYỂN MÃ TỪ GRAY SANG DƯ 3 Đề số 25: Mã đầu vào: GRAY Mã đầu ra: DƯ 3 Bài làm : A F0 B F1 C F2 D F3 GRAY DU 3 1.Phân tích mạch: - Bảng công tác: Số thập phân GRAY ABCD DƯ 3 F0F1F2F3 0 0000 0011 1 0001 0100 2 0011 0101 3 0010 0110 4 0110 0111 5 0111 1000 6 0101 1001 7 0100 1010 8 1100 1011 9 1101 1100 Tổ hợp thừa X(1111) X(1101) X(1110) X(1110) X(1010) X(1111) X(1011) X(0000) X(1001) X(0001) X(1000) X(0010) 2.Tối giản biểu thức logic: CODE a)Dùng bảng K: DCA DC B BDA 0F = DCAB + 1F = BDADC + DCB D DCBA BCD cd ab 00 01 11 10 00 0 0 0 0 01 0 11 X X 10 X X X X cd ab 00 01 11 10 00 0 01 0 0 0 11 0 X X 10 X X X X cd ab 00 01 11 10 00 0 0 01 0 0 11 0 X X 10 X X X X cd ab 00 01 11 10 00 0 0 01 0 0 11 0 X X 10 X X X X a AD DCB F0= DACBDCB ++ F1= DBAABDDC ++ cd ab 00 01 11 10 00 01 1 1 1 11 1 1 X X 10 X X X X cd ab 00 01 11 10 00 1 1 1 01 1 11 1 X X 10 X X X X cd ab 00 01 11 10 00 1 1 01 1 1 11 1 X X 10 X X X X 3F = DCBADCBDCBBCDAD ++++ 2F = D D F2= D DCBADCBAABCD DCABDCBADBCACDBADCBAF +++ ++++= 3 b) Tối giản bằng định lý logic: DACBDCB DCBADABCABCDDCABDBCABCDADCBADCABF ++= +++++++= 0 DBAABDDC DCBADABCABCDDBCADCABDCBACDBADCBAF ++= +++++++= 1 D DBCDCBDCBDCB DABCDCBADCBADBCADCBADCABDCBADCBAF = +++= +++++++= 2 DCBADCBAABCDDCABDCBADBCACDBADCBAF +++++++= 3 cd ab 00 01 11 10 00 1 1 01 1 1 11 1 X X 10 X X X X 3) Thiết kế mạch, vẽ mạch, viết chương trình mô phỏng: a) Dạng OR-AND: - Ta có: + DACBDCBF ++= 0 + DBAABDDCF ++= 1 + DF = 2 + b) Dạng AND-OR: - Ta có: + ))()()((0 DCBADCADBABAF ++++++++= + ))()((1 DBADBADCF +++++= + DF = 2 + A B C D [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14][15] [16] [17] [18] 1 0 F0 F1 F2 F3 c)NOR-AND: - Ta có: + DCBADCADBABA DCBADCADBABA DCBADCADBABAF +++= +++++++++++= ++++++++= )()()()( ))()()((0 + BDADBADC DBADBADCF ++= +++++= ))()((1 + DF = 2 + d)Dạng NOR-NOR: - Ta có: + )()()()( ))()()((0 DCBADCADBABA DCBADCADBABAF +++++++++++= ++++++++= + )()()( ))()((1 DBADBADC DBADBADCF +++++++= +++++= + DF = 2 + )()()( )()()()()( ))(( ))()()()()((3 DCBADCBADCBA DCBADCBADCBADCBADCBA DCBADCBA DCBADCBADCBADCBADCBADCBAF ++++++++++++ +++++++++++++++++++= ++++++ ++++++++++++++++++= A B C D [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16][17] [18] [19] [20] [21] [22] [23] [24] 0 0 0 0 0 0 0 0 F0 F1 F2 F3 d) Dạng NAND-NAND: - Ta có: + DACBDCB DACBDCBDACBDCBF 0 = ++=++= + DBAABDDC DBAABDDCF 1 = ++= + DF = 3 + DCBADCBAABCDDCABDCBADBCACDBADCBA DCBADCBAABCDDCABDCBADBCACDBADCBAF . 3 = +++++++= A B C D [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] 1 1 1 1 1 1 F0 F1 F2 F3 Mô phỏng mạch logic bằng C: #include <conio.h> #include <stdio.h> void gray(char i, char *a, char *b, char *c, char *d); main() { char a,b,c,d,f0,f1,f2,f3,i,j; printf("Mach logic GRAY -> Du 3\n\n"); printf(" So A B C D F0 F1 F2 F3 \n"); for (i=0;i<=15;i++) { gray(i,&a,&b,&c,&d); f0=(b&!c|b&d|a&c&!d)+'0'; f1=(c&!d|a&b&d|!a&!b&d)+'0'; f2=(!d)+'0'; . KHOA CÔNG NGHỆ THÔNG TIN -- -- - - -- -- - -- BÀI TẬP KĨ THUẬT XUNG SỐ THIẾT KẾ MẠCH CHUYỂN MÃ TỪ GRAY SANG DƯ 3 Đề số 25: Mã đầu vào: GRAY Mã đầu ra: DƯ 3. viết chương trình mô phỏng: a) Dạng OR-AND: - Ta có: + DACBDCBF ++= 0 + DBAABDDCF ++= 1 + DF = 2 + b) Dạng AND-OR: - Ta có: + ))()()((0 DCBADCADBABAF ++++++++=