Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
1,36 MB
File đính kèm
123.rar
(8 MB)
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN HẢI ĐĂNG THUẬT TOÁN TỔNG HỢP MẠCH KHẢ ĐẢO ĐA NGÕ RA KHƠNG HỒN CHỈNH Chun ngành: Kỹ thuật Điện Tử Mã số: 60520203 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, THÁNG NĂM 2019 Cơng trình hoàn thành tại: Trường Đại học Bách Khoa - ĐHQG-HCM Cán hướng dẫn khoa học: TS Trần Hoàng Linh (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sữa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRỮỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Hải Đăng MSHV: 1670359 Ngày, tháng, năm sinh: 09/11/1993 Nơi sinh: Tây Ninh Chuyên ngành: Kỹ thuật Điện Tử Mã số: 60520203 I TÊN ĐỀ TÀI: Thuật toán tổng hợp mạch khả đảo đa ngõ khơng hồn chỉnh NHIỆM VỤ VÀ NỘI DUNG: -Xây dựng thuật tốn tổng hợp mạch khả đảo tối ưu hóa thời gian tổng hợp -Xây dựng công cụ tổng hợp mạch dựa thuật toán II NGÀY GIAO NHIỆM VỤ: (Ghi theo QĐ giao đề tài) IH NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo QĐ giao đề tài) IV CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) Tp HCM, ngày tháng năm 20 CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) TRƯỞNG KHOA (Họ tên chữ ký) Luận văn thạc sĩ i GVHD: TS Trần Hoàng Linh LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn chân thành sâu sắc đến thầy hướng dẫn luận văn tơi, TS Trần Hồng Linh Trong suốt q trình thực đề tài này, Thầy nhiệt tình giúp đỡ hỗ trợ nhiều kiến thức tinh thần Là kỹ sư điện tử viễn thơng chưa nghiên cứu thuật tốn tổng hợp mạch lượng tử, nhận đề tài đem lại nhiều khó khăn tơi Tuy nhiên, qua buổi thảo luận học thêm từ tài liệu quý giá Thầy, giúp cho tơi có nhìn cụ thể nhiệm vụ đề tài có thêm phần cảm hứng lĩnh vực Ngoài ra, xin gửi lời cảm ơn đến tất thầy cô khoa Điện - Điện Tử truyền thụ kiến thức kinh nghiệm để giúp tơi có thêm kiến thức lĩnh vực điện tử tự tin để thực đề tài Bên cạnh tơi xin cảm ơn đến anh em dự án công ty phần mềm FPT Software hỗ trợ công việc để tơi có thêm thời gian hồn thành đề tài Cuối cùng, xin dành lời cảm ơn chân thành đến gia đình tơi, người bên cạnh động viên tơi vào lúc khó khăn Tp Hồ Chí Minh, tháng 12 năm 2018 Nguyễn Hải Đăng Lời cảm ơn HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ ii GVHD: TS Trần Hồng Linh TĨM TẮT LUẬN VĂN • Trong năm gần đây, logic khả đảo thúc đẩy phát triển nghiên cứu lý thuyết tính ứng dụng mà mang lại Đặc biệt thiết kế mạch công suất thấp tính tốn lượng tử Với động lực đó, nhà nghiên cứu phát triển nhiều thuật toán tổng hợp mạch khả đảo với nhiều cách tiếp cận khác Binary Decision Diagram (BDD), transformation-based, cycle-based, Một số phương pháp tổng hợp cách xác, số dựa phương pháp suy nghiệm số khác đáp ứng với hàm ngõ vào Trong luận văn trình bày phương pháp tổng hợp dựa kết hợp tính chất hai phương pháp cycle-based phương pháp hoán đổi dựa tính chất hốn đổi cổng Toffoli Mục tiêu kết hợp làm tăng tốc độ tổng hợp mạch để thời gian ngắn đưa mạch khả đảo đáp ứng với hàm yêu cầu tổng hợp ngõ vào Các bước tối ưu hóa chi phí lượng tử hay độ sâu mạch thực tiếp tục nghiên cứu thiếp theo Ngồi luận văn đưa phương pháp chuyển đổi hàm khả đảo đa ngõ khơng hồn chỉnh sang hàm khả đảo đa ngõ hoàn chỉnh Lý phải chuyển đổi thuật tốn tổng hợp vốn dựa phương pháp cycle-based, điều có nghĩa yêu cầu ngõ vào phải hàm khả đảo đa ngõ hoàn chỉnh Tóm tăt luận văn HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ GVHD: TS Trần Hoàng Linh ABSTRACT Recently, the reversible logic has been promoted by research and application that its brings Especially in low power chcuit design and quantum computing With that motivation, researchers have developed many reversible circuit synthesis algorithms with various approaches such as Binary Decision Diagram (BDD), transformation-based, cycle-based, and so on Some methods synthesis are exact, some base on heuristicc, and some rely on function representations This thesis will present a new synthesis method based on the combination of properties of cycle-based method and the swap property of Toffoli gate The goal of this combination is increase the speed of synthesizing the chcuit so that in the shortest time it is possible to give an reversible chcuit that meets the input function Quantum cost and depth of chcuit optimization can be carrid out in follow-up studies In addition, this thesis also offers a method of converting incomple multioutput reversible function to complete multi-output reversible function The reason for the conversion is because the algorithm is based on cycle-based method, which means that the input requirement must be a complete multi-output reversible function Tóm tăt luận văn HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ iv GVHD: TS Trần Hoàng Linh LỜI CAM ĐOAN Tôi tên Nguyên Hải Đăng, học viên cao học ngành Kỹ thuật Điện Tử trường Đại học Bách Khoa, thành phố Hồ Chí Minh Tơi xin cam đoan cơng trình nghiên cứa ngày tơi thực suốt trình thực đề tài này, tư liệu tham khảo sử dụng trích dẫn từ nguồn thực tế, uy tín chất lượng Kết q.uả thu đươc thực cách độc lập hồn tồn trung thực Tp Hồ Chí Minh, tháng 12 năm 2018 Nguyễn Hải Đăng Lời cam đoan HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ V GVHD: TS Trần Hoàng Linh MỤC LỤC LỜI CẢM ƠN i TÓM TẮT LUẬN VĂN ii ABSTRACT iii LỜI CAM ĐOAN iv MỤC LỤC V DANH SÁCH HÌNH VẼ vii DANH SÁCH BẢNG BIÊU viii DANH SÁCH CÁC TỪ VIẾT TẮT ix CHUƠNG 1: MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục tiêu nhiệm vụ luận văn 1.3 Đối tượng phạm vi nghiên cứu 1.4 Ý nghĩa khoa học thực tiễn CHUƠNG 2: TÔNG QUAN 2.1 Các khái niệm 2.1.1 Hàm khả đảo mạch 2.1.2 Cổng khả đảo 2.1.3 Đường Ancilla Garbage 2.1.4 Chi phí lượng tử 2.2 Các phương pháp tổng hợp mạch 2.2.1 Phương pháp transformation-based 2.2.2 Phương pháp cycle-based 2.2.3 Phương pháp graphical [7] 10 2.2.4 Phương pháp tối ưu hóa mạch sửu dụng template matching 16 2.2.5 Phương pháp giảm chi phí mạch khả đảo Toffoli 16 CHUƠNG 3: CHUYỂN ĐÔI HÀM KHẢ ĐẢO KHƠNG HỒN CHỈNH 17 3.1 Trường hợp số ngõ vào số ngõ 17 Mục lục HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ vi GVHD: TS Trần Hoàng Linh 3.1.1 Phương pháp chuyển đổi 17 3.1.2 Ví dụ 18 3.2 Trường hợp số ngõ vào nhỏ số ngõ 20 3.2.1 Phương pháp chuyển đổi 20 3.2.2 Ví dụ 21 3.3 Trường hợp số ngõ vào lớn số ngõ 23 3.3.1 Phương pháp chuyển đổi 23 3.3.2 Ví dụ 23 CHƯƠNG 4: THUẬT TỐN TƠNG HỢP MẠCH KHẢ ĐẢO 27 4.1 Phân tách k-cycles 27 4.2 Tương quan 2-cycles có hamming với cổng Toffoli 28 4.3 Tối ưu hóa mạch template 29 4.4 Thuật toán tổng hợp mạch cycle-swap 34 4.5 Ví dụ 35 4.6 Kết thí nghiệm 39 CHƯƠNG 5: KẾT LUẬN 45 5.1 Kết luận 45 5.2 Hướng phát triển 45 Tài Liệu Tham Khảo 47 PHỤ LỤC: BẢNG CHÚ THÍCH CÁC MẤU THỬ 49 Mục lục HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ vii GVHD: TS Trần Hoàng Linh DANH SÁCH HÌNH VẼ Hình 2-1 Mạch khả đảo với cổng NOT, CNOT Toffoli Hình 2-2 Cổng NOT Hình 2-3 a) cổng CNOT, b) cổng CNOT âm Hình 2-4 a) cổng Toffoli, b) cổng Toffoli bán âm, c) cổng Toffoli âm Hình 2-5 Cổng multicontrol Toffoli Hình 2-6 cổng Toffoli cho vị trí XOR Hình 2-7 Mạch khả đảo hàm cho Hình 4-1 Anh minh họa template Hình 4-2 Ảnh minh họa template Hình 4-3 Anh minh họa template Hình 4-4 Anh minh họa template Hình 4-5 Anh minh họa template Hình 4-6 Anh minh họa template Hình 4-7 Ảnh minh họa template Hình 4-8 Ảnh minh họa template Hình 4-9 Anh minh họa template 9.1 Hình 4-10 Ảnh minh họa template 9.2 Hình 4-11 Ảnh minh họa template 10 Hình 4-12 Mạch khả đảo sau tổng hợp Hình 4-13 Mạch khả đảo sau tối ưu Hình 4-14 Mạch khả đảo sau tổng hợp Hình 4-15 Mạch khả đảo sau tối ưu Danh sách hình vẽ 5 5 11 15 30 30 30 31 31 32 32 32 32 33 34 36 37 39 39 HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 37 GVHD: TS Trần Hoàng Linh Bước 8: Tối ưu hóa mạch template Áp dụng template để tối ưu hóa mạch Hình 4-13 thể cho mạch sau tối ưu hóa Chi phí lượng tử lúc QC=1 + + 14-1 = Y2 Y1 ro Hình 4-13 Mạch khả đảo sau tối ưu Ví dụ B: Cho hàm f có ngõ vào ngõ Bảng thật hàm f sau: Bảng 4-4 Bảng thật hàm f ví dụ A • Ngõ vào X2 ngõ Y2 có bit khác • Ngõ vào XI ngõ Y1 có bit khác • Ngõ vào XO ngõ YO có bit khác ■=> Như sub_path = [] Bước 2; Tiền xử lí hàm f sub_path Vì tâp sub_path rỗng nên sau bước f không thay đổi Bước 3: Biểu diễn hàm f sau bước thành dạng tích k-cycle Dựa vào bảng thật 4-4 chuyển đổi f sang dạng k-cycle Như vậy, hàm f biểu diễn dạng tích k-cycles sau: f = (0, 7,5,2, 1) Bước 4: Với k-cycle, xoay phần tử cycle cho khoảng cách hamming phần tử phần tử lại cho nhỏ • Vói f = (0,7,5, 2,1) - Hamming Chương 4: Thuật toán tổng hợp mạch khả đảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ - Hamming - Hamming - Hamming 38 GVHD: TS Trần Hoàng Linh ■=> Tổng hợp lại chuồi hamming phần tử 0: ho = [3, 2, 1, 1] • Vóif = (1,0,7,5, 2) =>hl = [1, 2,1,2] • Vói f = (2,1,0,7, 5) => h2 = [2,1, 2,3] • Vói f = (5,2,1,0,7) => h5 = [3,1, 2,1] • Vóif = (7,5, 2,1,0) =>h7 = [1, 2, 2,3] ■=> Chuỗi hamming nhỏ hl, nên chọn cycle f = (1,0,7, 5, 2) để xử lí Bước 5: Với k-cycle, phân tách thành tích 2-cycles mà khoảng cách hamming phần tử 2-cycle Áp dụng định lí mục 4.1 để phân tách cycle sau: f=(l,o, 7, 5, 2) = (1, 0)(l, 7)(1, 5)(1, 2) Sau áp dụng định lý mục 4.1 để phân tách thành 2-cycles có khoảng cách hamming phần tử cycle 1: • Cycle (1, 0) cóhamming => bỏ qua • Cycle (1, 7) cóhamming => (1, 7) = • Cycle (1, 5) cóhamming => bỏ qua • Cycle (1, 2) cóhamming => (1, 2) = (1, 5)(5,7)(5, 1) (1, 3)(3,2)(3, 1) ■=> f = (1,0) (1, 5)(5,7)(5,1) (1, 5) (1, 3)(3, 2)(3,1) Bước 6: Thay 2-cycle phân tách bước thành cổng Toffoli tương ứng • Cycle (1, 0) —> (001, 000) có cổng Toffoli tương ứng T0-ln2n • Cycle (1, 5) —> (001, 101) có cổng Toffoli tương ứng T2-0pln • Cycle (5,7) —> (101, 111) có cổng Toffoli tương ứng Tl-0p2p • Cycle (1, 3) —> (001,011) có cổng Toffoli tương ứng Tl-0p2n • Cycle (3, 2) —> (011,010) có cổng Toffoli tương ứng T0-lp2n Như vậy, mạch gồm cổng sau: T0-ln2n, T2-0pln, Tl-0p2p, T2-0pln, T2-0pln, Tl-0p2n, T0-lp2n, Tl-0p2n Bước 7: Thêm sub_path vào mạch khác rỗng Vì tập sub_path rỗng, nên mạch khơng thay đổi: Chương 4: Thuật tốn tổng hợp mạch khả đảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 39 GVHD: TS Trần Hoàng Linh T0-ln2n, T2-0pln, Tl-0p2p, T2-0pln, T2-0pln, Tl-0p2n, T0-lp2n, Tl-0p2n Hình 4-14 biểu diễn cho mạch khả đảo tổng hợp hàm cho Chi phí lượng tử mạch lúc QC = + + + + 5+5-1-7-1-5=44 Bước 8: Tối ưu hóa mạch template Áp dụng template mục 4.2 để tối ưu hóa mạch Hình 4-13 thể cho mạch sau tối ưu hóa Chi phí lượng tử lúc QC = + + + + 1=23 X2 XI XO Hình 4-15 Mạch khả đảo sau tối ưu 4.6 Kết thí nghiệm Thuật tốn thực ngơn ngữ Python kiểm thử hên mơi trường Window Ket thí nghiệm dậy có hên 1.8 GHz Intel Core Ĩ7 Laptop với Window 8.1 Để kiểm chứng thuật toán trên, hàm mẫu chuẩn đa ngõ lấy từ hang web Revlib [11] Maslov [12], Chương 4: Thuật toán tổng hợp mạch khả đảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ STT 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 40 GVHD: TS Trần Hồng Linh Bảng 4-5 Kết thí nghiệm Hàm In Out Cycle-swap GC QC Time (s) decod24 10 32 -0 17 3 23 -0 decod24-enable 32 28 448 -0 ex-l 82 3 -0 fredkin 3 3 -0 ham3 28 3 19 -0 miller 3 -0 49 4 30 152 -0 aj-ell 81 4 13 103 ~0 4mod7 26 30 312 ~0 cm42a 125 4 15 7159 ~0 hwb4 12 4 104 28 ~0 mini-alu 84 ~0 88 818 pml 192 10 15 7159 ~0 toffoli double 4 ~0 wim 220 43 1035 ~0 squar5 206 7976 162 ~0 rd53 68 74 2012 ~0 mod5mils 18 5 14 264 ~0 mod5d2 17 5 51 569 ~0 mod5dl 16 5 12 ~0 hwb5 13 5 718 102 ~0 cm82a 126 231 3441 ~0 C17-117 264 3482 ~0 sqr6 204 12 260 2084112 ~0 mod5adder 66 6 51 1619 ~0 hwb6 14 198 2478 ~0 6 graycode6 l1 6 173 3533 ~0 z4ml 225 1484 58954 ~0 z4 224 1598 63870 ~0 sqn 203 68424 1622 ~0 rd73 69 1237 46371 ~0 hwb7 15 7 647 14043 ~0 ham7 29 7 777 17161 ~0 conl 136 1638 63888 ~0 urf2 73 1416 56360 8 ~0 sqrt8 205 3970 267696 ~0 root 197 3637 271415 ~0 rd84 70 3887 263253 ~0 radd 193 3378 239980 ~0 Chương 4: Thuật toán tổng hợp mạch khả đảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 41 misexl 178 42 hwb8 64 43 dist 144 44 dc2 143 45 adr4 93 46 urf5 76 47 urfl 72 48 hwb9 65 49 clip 124 50 X2-223 51 urf3 75 52 example2 156 53 alu3 97 54 alu2 96 55 urf4 89 56 cm85a 127 57 plus63mod4096 79 STT 10 11 12 13 14 15 16 17 18 19 20 8 8 9 9 10 10 10 10 10 11 11 12 41 9 10 11 12 GVHD: TS Trần Hoàng Linh 2213 184483 -0 1328 45688 -0 3637 266339 -0 2834 233512 -0 3679 254249 -0 1262 168938 -0 3523 236979 -0 3325 212653 -0 8178 1043424 7551 15305619 6165 942597 15066 30729084 16 10355 20751261 15066 30729084 17 17 18608 37908022 39066 312894036 86 15137 122347213 28 Bảng 4-6 So sánh với thuật toán khác bảng Cycle-swap SD10 [15] FTR [13] [14] GC QC QC QC QC Time (s) 32 ~0 23 ~0 26 448 ~0 28 ~0 ~0 19 ~0 ~0 30 152 ~0 201 13 103 ~0 201 30 312 ~0 167 15 7159 377 ~0 104 ~0 28 ~0 88 818 15 7159 ~0 377 270 ~0 43 1035 217 ~0 211 218 162 7976 ~0 442 465 74 265 219 269 2012 ~0 14 264 ~0 51 569 ~0 Chương 4: Thuật toán tổng hợp mạch khả đảo [16] [17] QC QC 27 174 167 110 290 172 393 200 150 136 HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 21 22 102 23 231 24 264 25 260 51 26 27 198 173 28 29 1484 30 1598 31 1622 32 1237 33 647 34 777 35 1638 36 1416 37 3970 38 3637 39 3887 40 3378 41 2213 42 1328 43 3637 44 2834 45 3679 46 1262 47 3523 48 3325 49 8178 50 7551 51 6165 52 15066 53 10355 54 15066 55 18608 56 39066 57 15137 42 12 718 3441 3482 2084112 1619 2478 3533 58954 63870 68424 46371 14043 17161 63888 56360 267696 271415 263253 239980 184483 45688 266339 233512 254249 168938 236979 212653 1043424 15305619 942597 30729084 20751261 30729084 37908022 312894036 122347213 -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 16 17 17 86 28 Chương 4: Thuật toán tổng hợp mạch khả đảo 154 99 1033 GVHD: TS Trần Hoàng Linh 143 81 103 85 69 577 642 642 448 448 260 260 1183 836 1150 1022 206 206 171 622 3443 2749 676 982 616 604 2558 669 1012 2477 618 725 7061 1886 727 618 618 642 642 2122 1143 744 349 HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ STT 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 43 GVHD: TS Trần Hồng Linh Bảng 4-7 So sánh với thuật tốn khác bảng Cycle-swap [6] [lỉ 5] GC QC GC GC Time Time (s) 32 -0 23 -0 12 448 -0 28 -0 -0 19 -0 7 -0 30 152 ~0 20 32 13 103 ~0 16 30 312 ~0 15 7159 ~0 28 104 ~0 19 23 30 ~0 88 818 15 7159 ~0 ~0 43 1035 ~0 7976 ~0 162 74 ~0 2012 14 264 ~0 51 569 ~0 ~0 12 718 38 104 32 102 ~0 231 3441 ~0 264 3482 ~0 2084112 ~0 260 51 1619 77 ~0 20 198 2478 ~0 175 140 44 173 3533 78 ~0 1484 58954 ~0 1598 63870 ~0 1622 68424 ~0 1237 46371 ~0 647 14043 412 ~0 2611 111 777 17161 ~0 1053 1638 63888 ~0 1416 56360 ~0 3970 267696 ~0 3637 271415 ~0 3887 263253 ~0 Chương 4: Thuật toán tổng hợp mạch khả đảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 44 3378 2213 1328 3637 2834 3679 1262 3523 3325 8178 7551 6165 15066 10355 15066 18608 39066 15137 239980 184483 45688 266339 233512 254249 168938 236979 212653 1043424 15305619 942597 30729084 20751261 30729084 37908022 312894036 122347213 -0 -0 -0 -0 -0 -0 -0 -0 -0 16 17 17 86 28 GVHD: TS Trần Hoàng Linh 8172 7013 56 22502 44 Nhận xét: • Thời gian tổng hợp mạch nhanh [18] số cổng sử dụng nhiều trường hợp, với hàm nhiều biến, số lượng cổng sử dụng (GC) nhiều [5] với hàm có số biến nhỏ, với hàm có số biến nhiều hàm thứ 34 55 lại có số cổng thấp • Chi phí lượng tử cycle-swap q cao so với phương pháp khác bảng so sánh 4-6 Chì có vài trường hợp hàm thứ 2, có chi phí thấp Kết luận; Thuật toán đạt yêu cầu đề tối ưu hóa thời gian Tuy chi phí lượng tử cao so với phương pháp khác, nhiên so sánh với phương pháp cycle-based khơng tối ưu thời gian tổng hợp mạch mà số lượng cổng sử dụng Bên cạnh đó, cycle-swap khắc phục nhược điểm thuật toán cycle-based vốn tổng hợp hàm có số ngõ vào với số ngõ CHƯƠNG 5: KẾT LUẬN 5.1 Kết luận Chương 4: Thuật toán tổng hợp mạch khả đảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 45 GVHD: TS Trần Hoàng Linh Trong luận văn thực được: • Tìm hiểu nghiên cứu số phương pháp tổng hợp mạch, tiến hành so sánh, tham khảo để kết hợp lại thành phương pháp tổng hợp mạch riêng • Đưa phương pháp chuyển đổi hàm khơng hồn chỉnh sang hàm hoàn chỉnh tối ưu cho phương pháp cycle-based Giúp khắc phục nhược điểm phương pháp cycle-based vốn tổng hợp hàm hồn chỉnh • Xây dựng thuật toán tổng hợp hàm đa ngõ khơng hồn chỉnh đạt mục tiêu tối ưu hóa thời gian tổng hợp mạch • Xây dựng cơng cụ dựa thuật tốn để tiến hành thí nghiệm, đo đạc thơng số đánh giá mạch Hạn chế: • Thuật tốn tổng hợp nhanh chi phí cao, nghiên cứu cải tiến thêm để giảm chi phí xuống thấp • Do hạn chế thiết bị nên kết thí nghiệm dừng lại số biến 12 Nếu giải tốn vùng nhớ nâng cấp số biến • Do hạn chế ngơn ngữ lập trình nên cách vận dụng template để tối ưu hóa mạch chưa linh hoạt Dẩn đến tối ưu hóa mạch thủ cơng đạt chi phí thấp sử dụng công cụ 5.2 Hướng phát triển Tuy tối ưu hóa giải thuật để phải tính tốn, lí vùng nhớ tốc độ xử lí thiết bị nên thuật tốn chưa thể tổng hợp hàm có số biến lớn Có thể nghiên cứu để khác phục điểm yếu này, nâng cấp thuật tốn để tổng hợp hàm nhiều biến Thời gian tổng hợp mạch tối ưu hóa để đưa mạch tổng hợp nhanh nhất, nhiên đánh đổi với thời gian chi phí lượng tử cao Tuy template tối ưu góp phần làm giảm chi phí xuống, với hàm nhiều biến cần có nhiều template tối ưu Việc sử dụng template linh hoạt góp phần Chương 5: Kết luận HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 46 GVHD: TS Trần Hồng Linh làm tối ưu mạch Vì vậy, cần thời gian nghiên cứu thêm cách sử dụng template, nghiên cứu đưa thêm nhiều template với độ tối ưu cao Ngồi ra, thuật tốn này mở hướng tận dụng tốc độ tổng hợp, đo đạc thuật toán cycle-swap để thử đánh giá ảnh hưởng cổng lượng tử gây cho hàm, kết hợp cổng thử với chi phí thấp để mạch tối ưu Chương 5: Kết luận HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 47 GVHD: TS Trần Hoàng Linh Tài Liệu Tham Khảo [1] D Maslov et al, “Toffoli network synthesis with templates,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, tập 24, số 6, 2005 [2] E Martin, “4 Amazing Quantum Computing Applications,” 20 Appril 2018 [Trực tuyến] Available: https://devops.com/4-amazing-quantum-computingapplications/ [3] M Saeedi and I.L Markov, “Synthesis and Optimization of Reversible Chcuits A Survey,” ACM Computing Surveys, 2013 [4] D.M Miller et al, “A transformation based algorithm for reversible logic synthesis,” Proceedings 2003 Design Automation Conference, 2003 [5] I M M Saeedi, “Synthesis and Optimization of Reversible Circuits - A Survey,” ACM Computing Surveys, tập 2, p 45, 2013 [6] K Datta et al, “A Cycle Based Reversible Logic Synthesis Approach,” 2013 Third International Conference on Advances in Computing and Communications, 2013 [7] A Skorupski, “Graphical Method of Reversible Circuits Synthesis,” INTL JOURNAL OF ELECTRONICS AND TELECOMMUNICATIONS, tập 63, pp 235-240, 2017 [8] M.z Rahman and J.E Rice, “Templates for Positive and Negative Control Toffoli Networks,” Reversible computation 6th international conference, RC 2014, Kyoto, Japan, 2014 [9] M s a p Kemtopf, “Reducing Quantum Cost in Reversible Toffoli Circuits,” Proceedings of Reed-Muller 2011 Workshop, pp 127-136, 2011 [10] G Yang et al, “A Constructive Algorithm for Reversible Logic Synthesis,” 2006 IEEE International Conference on Evolutionary Computation, 2006 [11] RevLib, “An Online Resource for Reversible Functions and Circuits,” [Trực tuyến] Available: http://revlib.org/ [12] D Maslov, “Reversible Logic Synthesis Benchmarks Page,” [Trực tuyến] Available: http://webhome.cs.uvic.ca/~dmaslov/ [13] K Fazel, M.Thomton, and J E Rice, “ESOP based Toffoli gate cascade,” PACRIM, p 206-209, 2007 [14] Y Sanaee, G w Dueck, “ESOP-based Toffoli network generation with transformations,” ISMVL, IEEE Computer Society, pp 276-281, 2010 [15] J E Rice and N M Nayeem, “Ordering techniques for ESOP-based,” PacRỉm2011, pp 274-279, 2011 Tài liệu tham khảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 48 GVHD: TS Trần Hoàng Linh [16] c Bandyopadhyay et al, “ESOPbased synthesis of reversible circuit using improved cube list,” ProcISED, pp 26-30, 2013 [17] c Bandyopadhyay et al, “A Cube Pairing Approach for Synthesis of ESOP based Reversible Circuit,” ISMVL, pp 109-114, 2014 [18] M Saeedi et al, “Reversible Circuit Synthesis Using a Cycle-Based Approach,” ACM Journal of Emerging Technologies in Computing Systems, tập 6, số 4, 2010 [19] M Saeedi et al, “A novel synthesis algorithm for reversible circuits,” IEEE/ACM International Conference on Computer-Aided Design, 2007 Tài liệu tham khảo HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 49 GVHD: TS Trần Hồng Linh PHỤ LỤC: BẢNG CHÚ THÍCH CÁC MẤU THỬ STT Hàm 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 decod24 10 17 decod24-enable 32 ex-l 82 fredkin ham3 28 miller 49 aj-ell 81 4mod7 26 cm42a 125 hwb4 12 mini-alu 84 pml 192 toffoli double wim 220 squar5 206 rd53 68 mod5mils 18 mod5d2 17 mod5dl 16 hwb5 13 cm82a 126 C17 117 sqr6 204 mod5adder 66 hwb6 14 graycode6 ll z4ml 225 z4 224 sqn 203 rd73 69 hwb7 15 ham7 29 conl 136 urf2 73 sqrt8 205 Tài liệu tham khảo Ngõ vào 3 3 3 4 4 4 4 5 5 5 5 6 6 7 7 7 8 Ngõ 4 3 3 4 4 10 5 5 12 6 4 3 7 Mô tả Hàm giải mã sang Hàm giải mã sang có chân enable cổng Fredkin Bảng mã hamming biến Cổng Miller Phần dư ngõ vào chia cho ALU đơn giản với biến Cổng Toffoli kép Hàm lấy bậc Hàm lấy bậc Hàm cộng modulo Bảng mã grey biến Bảng mã hamming biến Hàm lấy bậc HVTH: Nguyễn Hải Đăng Luận văn thạc sĩ 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 root 197 rd84 70 radd 193 misexl 178 hwb8 64 dist 144 dc2 143 adr4 93 urf5 76 urfl 72 hwb9 65 clip 124 x2 223 urf3 75 example2 156 alu3 97 alu2 96 urf4 89 cm85a 127 plus63mod4096_79 Tài liệu tham khảo 50 8 8 8 8 9 9 10 10 10 10 10 11 11 12 5 9 10 11 GVHD: TS Trần Hoàng Linh Hàm lấy bậc ALU ALU Cộng 63 ngõ vào lấy modulo với 12 4096 HVTH: Nguyễn Hải Đăng PHẰN LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Hải Đãng Ngày, tháng, năm sinh: 09/11/1993 Nơi sinh: Tây Ninh Email: nguyenhaidang911 @ gmail.com Địa liên lạc: 12/95, ấp Long Yên, xã Long Thành Nam, huyện Hòa Thanh, tỉnh Tây Ninh Q TRÌNH ĐÀO TẠO • • 2011 - 2016: Đại học, Ngành Điện Tử Viễn Thông, Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh 2016 - 2019: Cao học, Ngành Kỹ Thuật Điện Tử, Trường Đại Học Bách Khoa Thành Phố Hồ Chi Minh Q TRÌNH CƠNG TÁC • • 7/2016 - 6/2018: Kỹ Sư Phần Mềm, Công ty TNHH Robert Bosch Engineering and Business Solutions Việt Nam 6/2018 - 2019: Kỹ Sư Phần Mem, Cơng Ty TNHH phần mềm FPT Hồ Chí Minh ... hàm khả đảo đa ngõ khơng hồn chỉnh sang hàm khả đảo đa ngõ hoàn chỉnh Lý phải chuyển đổi thuật tốn tổng hợp vốn dựa phương pháp cycle-based, điều có nghĩa yêu cầu ngõ vào phải hàm khả đảo đa ngõ. .. ngành: Kỹ thuật Điện Tử Mã số: 60520203 I TÊN ĐỀ TÀI: Thuật toán tổng hợp mạch khả đảo đa ngõ khơng hồn chỉnh NHIỆM VỤ VÀ NỘI DUNG: -Xây dựng thuật toán tổng hợp mạch khả đảo tối... số thuật tốn tổng hợp mạch phổ biến có liên quan đến đề tài • Đưa phương pháp chuyển đổi hàm logic khả đảo đa ngõ không hoàn chỉnh sang hàm logic khả đảo đa ngõ hồn chỉnh để làm ngõ vào cho thuật