Thiết kế bộ vi xử lý nhúng trên fpga ứng dụng trong kỹ thuật mạng neural

112 80 0
Thiết kế bộ vi xử lý nhúng trên fpga ứng dụng trong kỹ thuật mạng neural

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THẾ ĐẠI DƯƠNG THIẾT KẾ BỘ VI XỬ LÝ NHÚNG TRÊN FPGA ỨNG DỤNG TRONG KỸ THUẬT MẠNG NEURON Chuyên ngành : Kỹ thuật điện tử Mã số ngành: 60.52.70 LUẬN VĂN THẠC SĨ Tp Hồ Chí Minh, tháng năm 2007 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học : PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong Cán chấm nhận xét : …………………………… Cán chấm nhận xét : …………………………… Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 07 tháng 07 năm 2007 TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA Xà HỘI CHỦ NGHĨA VIỆT NAM PHÒNG ĐÀO TẠO SĐH ĐỘC LẬP – TỰ DO – HẠNH PHÚC Tp HCM, ngày tháng năm 2007 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : Nguyễn Thế Đại Dương Phái: Nam Ngày, tháng, năm sinh : 05/12/1982 Nơi sinh: Biên Hòa Chuyên ngành MSHV:01405302 : Kỹ thuật điện tử I- TÊN ĐỀ TÀI: Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron II- NHIỆM VỤ VÀ NỘI DUNG: • Tìm hiểu sở lý thuyết mạng neuron, thuật tốn huấn luyện, tìm hiểu kiến trúc vi xử lý phương pháp thiết kế vi xử lý nhúng • Xây dựng giải pháp thiết kế vi xử lý phù hợp với cấu trúc mạng neuron Cài đặt thiết kế theo giải pháp ngôn ngữ VHDL VeriLog Mô máy tính Tổng hợp mã nguồn cài đặt FPGA Virtex II Pro • Thiết kế ứng dụng chương trình thử nghiệm, đánh giá kết quả, nhận xét tổng hợp báo cáo III- NGÀY GIAO NHIỆM VỤ: 22/02/2007 IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 28/06/2007 V- CÁN BỘ HƯỚNG DẪN : PGS.TS LÊ TIẾN THƯỜNG PGS.TS NGUYỄN ĐỨC PHONG CÁN BỘ HƯỚNG DẪN CN BỘ MÔN QL CHUYÊN NGÀNH Nội dung đề cương luận văn thạc sĩ Hội đồng chuyên ngành thông qua Ngày… tháng… năm 2007 TRƯỞNG PHÒNG ĐT – SĐH TRƯỞNG KHOA QL NGÀNH LỜI CẢM ƠN Tôi xin chân thành bày tỏ lịng biết ơn kính trọng sâu sắc đến Thầy PGSTS Lê Tiến Thường thầy PGS-TS Nguyễn Đức Phong Các Thầy tận tình hướng dẫn, tạo điều kiện thuận lợi tài liệu thiết bị để tơi hồn thành luận văn thạc sĩ Tôi xin chân thành cảm ơn quý thầy cô khoa Điện-Điện tử trường Đại học Bách khoa, người truyền đạt kiến thức, định hướng cho tơi suốt q trình học tập nghiên cứu sau đại học Con xin cảm ơn ba, mẹ gia đình tạo điều kiện, ủng hộ động viên suốt trình học tập Cuối xin cảm ơn tất bạn bè giúp đỡ suốt khóa học trình thực luận văn Xin trân trọng ghi nhớ Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong ABSTRACT The neural network technology is useful for many field of sciences, but it is hard to implement a neural network to the hardware because it consume much resources In this thesis, we came up with an ideal to design a powerful 16-bit micro processor (mP) which can be programmed to become any neural network The structure of the network is stored in ROM in a special format which make it is easier to access The mP have to include a floating point unit (FPU), an integer processing unit (IPU) and a control unit (CU) The FPU was design specially to consume clock-circle to calculate The IPU was given the flexible ability to access the memory Some peripheral were also support by the mP such as Interrupt handling, UART… The design was made by VHDL and was optimized to simulation and synthesize on Xilinx ISE, implement on FPGA Virtex II Pro The kit use to test the chip is XUPV2P To make the test is more clearly, a special program which is running on the computer was made to communicate with the mP through RS232 interface, two small application to test the operate was “linear function f = ax + by” and “circle recognition” The function result and timing was used to evaluate the design Keywords: neural networks, micro-processor, digital design, VHDL, FPGA Abstract i HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong TÓM TẮT LUẬN VĂN Kỹ thuật mạng neuron có nhiều ứng dụng lĩnh vực nghiên cứu khoa học, việc triển khai phần cứng mạng neuron gặp nhiều khó khăn địi hỏi nhiều tài nguyên Ý tưởng luận văn thiết kế vi xử lý 16-bit có khả lập trình thành loại mạng neuron có kiến trúc khác Cấu trúc mạng neuron với định dạng đặt biệt để dễ dàng truy cập Bộ xử lý bao gồm xử lý số thực (FPU), xữ lý số integer (IPU) điều khiển (CU) Bộ FPU thiết kế đặt biệt để tính tốn xung clock Bộ IPU cung cấp khả linh động việc truy cập nhớ Một số ngoại vi hỗ trợ quản lý ngắt, UART… Thiết kế viết ngôn ngữ mô tả phần cứng VHDL, mô tổng hợp phần mềm Xillinx ISE, cài đặt FPGA Virtex II Pro Kit sử dụng để kiểm tra chip thiết kế XUPV2P Để hỗ trợ việc thử nghiệm, luận văn bao gồm thiết kế chương trình chạy máy tính thực việc giao tiếp với vi xử lý qua giao diện RS-232 Hai ứng dụng để thử nghiệm hoạt động vi xử lý “hàm tuyến tính f = ax + by” “nhận dạng đường tròn” Kết logic định thời dùng để đánh giá thiết kế Từ khóa : mạng neuron, vi xử lý, thiết kế mạch số, VHDL, FPGA Abstract ii HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong DANH SÁCH CÁC HÌNH Hình 3-1 : Cấu trúc vật lý MOSFET : (a) kênh n, (b) kênh p 14 Hình 3-2 : NMOS transistor 14 Hình 3-3 : PMOS transistor 14 Hình 3-4 : Cổng NOT : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo 15 Hình 3-5 : Cổng NAND : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo 15 Hình 3-6 : Cổng AND : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo 16 Hình 3-7 : Bộ MUX 2-to-1 : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo 17 Hình 3-8 : Bộ shifter/rotator 4-bit : (a) ký hiệu logic, (b) bảng hoạt động, (c) cấu tạo 17 Hình 3-9 : Bộ D-Latch : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo 18 Hình 3-10 : Bộ D flip-flop : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo 19 Hình 3-11 : Thanh ghi 4-bit : (a) ký hiệu logic, (b) bảng thật, (c) cấu tạo .19 Hình 3-12 :Bộ nhớ 4x4 : (a) memory cell, (b) cấu tạo nhớ 4x4 từ MC 20 Hình 3-13 : Khối chức vi xử lý 21 Hình 3-14 : định địa trực tiếp 23 Hình 3-15 : định địa gián tiếp 23 Hình 3-16 : định địa theo số 24 Hình 3-17 : định địa tương đối 24 Hình 3-18 : giao tiếp với nhớ 25 Hình 3-19 : kiến trúc one-bus 26 Hình 3-20 : kiến trúc two-bus 26 Hình 3-21 : control unit 28 Hình 3-22 : FSM control unit 28 Hình 4-1: Kiến trúc tổng quát FPGA 31 Danh sách hình iii HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong Hình 4-2: Cấu trúc khối CLB hãng Xilinx 32 Hình 4-3: Kiến trúc khối I/O FPGA hãng Xilinx 32 Hình 4-4: Quá trình thực thi FPGA 33 Hình 4-5: Quá trình tổng hợp thiết kế phần cứng VHDL 34 Hình 4-6: Mơ tả mức chuyển ghi 34 Hình 4-7: Các bước tổng hợp mơ tả VHDL RTL 35 Hình 4-8: Kiến trúc tổng quát Virtex-II Pro 36 Hình 4-9: Sơ đồ khối board XUP Virtex II Pro Development System 37 Hình 5-1 : Ý tưởng thiết kế .39 Hình 5-2 : tiến trình thiết kế 40 Hình 5-3 : Tổ chức ROM 41 Hình 5-4 : tổ chức NNA 41 Hình 5-5 : frame LA 41 Hình 5-6 : mơ hình hệ thống (Top - Level) 43 Hình 5-7 : Định dạng mã lệnh .45 Hình 5-8 : Khối mP .50 Hình 5-9 : Sơ đồ chức khối mP 50 Hình 5-10 : cấu trúc thiết kế mP .51 Hình 5-11: cấu trúc thiết kế 52 Hình 5-12 : Bộ IPU 54 Hình 5-13 : cấu trúc thiết kế IPU .56 Hình 5-14 : Kết mô IPU 59 Hình 5-15 : Kết mơ IPU 59 Hình 5-16 : Kết mơ IPU 60 Hình 5-17 : Kết mơ IPU 61 Hình 5-18 : Kết mơ IPU 61 Danh sách hình iv HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong Hình 5-19 : Bộ FPU 62 Hình 5-20 : cấu trúc thiết kế FPU 63 Hình 5-21 : kết mơ FPU 65 Hình 5-22: kết mơ FPU 65 Hình 5-23: kết mơ FPU 66 Hình 5-24 : Bộ CU 66 Hình 5-25 : sơ đồ khối control unit thiết kế 67 Hình 5-26 : sơ đồ trạng thái control unit .68 Hình 5-27 : Sơ đồ trạng thái UART thu 70 Hình 5-28 : Sơ đồ trạng thái UART phát 70 Hình 5-29 : Sơ đồ khối kết nối điều khiển với UART thu UART phát 71 Hình 6-1 : mơ hình thử nghiệm .72 Hình 6-2 : Sơ đồ mạch khối tạo ngắt từ switch 73 Hình 6-3 : giao thức bắt tay NNmP Tester FPGA 74 Hình 6-4 : mạng neuron thử nghiệm .75 Hình 6-5 : giải thuật chương trình phục vụ ngắt huấn luyện 75 Hình 6-6 : Giải thuật huấn luyện 76 Hình 6-7 : Giải thuật vận hành 77 Hình 6-8 : Giao diện chương trình NNmP Tester 78 Hình 6-9 : tiến trình hoạt động NNmP Tester 79 Hình 6-10: kết thử nghiệm với ứng dụng line recognition 84 Hình 6-11: kết thử nghiệm với ứng dụng line recognition 85 Hình 6-12: kết thử nghiệm với ứng dụng line recognition 86 Hình 6-13: kết thử nghiệm với ứng dụng circle recognition 87 Hình 6-14: kết thử nghiệm với ứng dụng circle recognition 88 Hình 6-15: kết thử nghiệm với ứng dụng circle recognition 89 Danh sách hình v HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong DANH SÁCH CÁC BẢNG Bảng 4-1: Các thông số cho họ Virtex-II Pro XC2VP30-FF896 37 Bảng 5-1 : Các thành phần thiết kế 53 Bảng 5-2: Từ điều khiển IPU có độ dài 32 bit : .57 Bảng 5-3: Từ điều khiển FPU dài 17 bit .64 Bảng 5-4: Bảng địa vector ngắt .69 Danh sách bảng vi HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong Khối MU Khối IRHandle Chương 6: Tổng hợp, thử nghiệm, kết 83 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong 6.8.3 Kết thử nghiệm Kết thử nghiệm với hai ứng dụng mục 6.5 6.6, kết ‘1’ xác nhận, ‘0’ phủ nhận ¾ Ứng dụng 01 : Kết ứng dụng thử nghiệm thứ : line recognition ™ Giữa đường thẳng y = x đường thẳng không phỉa đường y=x Hình 6-10: kết thử nghiệm với ứng dụng line recognition Nhận xét : Kết thử nghiệm phù hợp, đường thẳng y = x (bên trái) xác định ‘1’, đường thẳng khác đường y = x (bên phải) xác định ‘0’ Chương 6: Tổng hợp, thử nghiệm, kết 84 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong ™ Giữa đường thẳng y = x đường cong Hình 6-11: kết thử nghiệm với ứng dụng line recognition Nhận xét : Kết thử nghiệm phù hợp, đường thẳng y = x (bên trái) xác định ‘1’, đường cong (bên phải) xác định ‘0’ Chương 6: Tổng hợp, thử nghiệm, kết 85 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong ™ Giữa đường thẳng y = x đường trịn x2 + y2 = Hình 6-12: kết thử nghiệm với ứng dụng line recognition Nhận xét : Kết thử nghiệm phù hợp, đường thẳng y = x (bên phải) xác định ‘1’ đường tròn x2 + y2 = (bên trái) xác định ‘0’ Chương 6: Tổng hợp, thử nghiệm, kết 86 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong ¾ Ứng dụng 02 : Kết ứng dụng thử nghiệm thứ : circle recognition ™ Giữa đường tròn x2 + y2 = với đường tròn khác đường tròn x2 + y2 = Hình 6-13: kết thử nghiệm với ứng dụng circle recognition Nhận xét : Kết thử nghiệm phù hợp, đường tròn x2 + y2 = (bên trái) xác định ‘1’ đường tròn khác đường tròn x2 + y2 = (bên phải) xác định ‘0’ Chương 6: Tổng hợp, thử nghiệm, kết 87 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong ™ Giữa đường tròn x2 + y2 = với đường thẳng y = x Hình 6-14: kết thử nghiệm với ứng dụng circle recognition Nhận xét : Kết thử nghiệm phù hợp, đường tròn x2 + y2 = (bên trái) xác định ‘1’ đường thẳng y = x (bên phải) xác định ‘0’ Chương 6: Tổng hợp, thử nghiệm, kết 88 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong ™ Giữa đường tròn x2 + y2 = với đường tam giác Hình 6-15: kết thử nghiệm với ứng dụng circle recognition Nhận xét : Kết thử nghiệm phù hợp, đường tròn x2 + y2 = (bên phải) xác định ‘1’ đường tam giá (bên trái) xác định ‘0’ Chương 6: Tổng hợp, thử nghiệm, kết 89 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong CHƯƠNG KẾT LUẬN VÀ HƯỚNG MỞ RỘNG 7.1 KẾT LUẬN Thiết kế hoạt động ổn định, chạy chức mạng neuron Nhờ tối ưu nên chiến 50% tài nguyên hệ thống (synthesize bao gồm 1KB RAM) Thiết kế có chế định địa linh động hoạt động với jai giá trị offset lúc (thanh ghi số tức thời), giảm phân thời gian cho việc truy cập mạng neuron Bộ FPU thiết kế để tính toán clock tiết kiếm đáng kể thời gian tính tốn nút mạng Tuy nhiên, làm tăng khối lượng tài nguyên sử dụng Đề tài có ý nghĩa thực tiễn việc mở rộng ứng dụng mạng neuron Các chip vi xử lý lập trình thành mạng neuron đặc biệt có khả lập trình lại giúp giảm chi phí cần thay hệ thống Mặt khác, với kiến trúc vi xử lý, chíp dễ dàng tích hợp vào ứng dụng thiết kế khác, phù hợp cho công tác học tập, nghiên cứu mạng neuron thuận tiện nhanh chóng cho việc triển khai mạng neuron Về mặt kinh tế, chip vi xử lý neuron sản xuất hàng loạt có giá thành rẻ nhiều so với việc thiết kế neuron riêng cho ứng dụng Việc nâng cấp mạng neuron không cần phải thay lại neuron mà đơn giản lập trình lại Đề tài mở hướng việc làm mềm hóa kiến trúc phức tạp Bằng cách xây dựng vi xử lý chuyên dụng cho số ứng dụng Giúp làm giảm giá thành thêm khả linh động cho hệ thống 7.2 HƯỚNG MỞ RỘNG Bộ vi xử lý nâng cấp lên thành vi xử lý 32-bit mạnh cấu hình thành mạng neuron lớn Bộ FPU thiết kế để thực phép tính cộng nhân liên tiếp clock, giảm ½ thời gian tính tốn nút mạng Kiến trúc vi xử lý thiết kế sử dụng kiến trúc CISC, nâng cấp lên kiến trúc RISC tối ưu Các giao diện với chuẩn USB, 802.11, … tích hợp để tăng linh động khả ứng dụng Thiết kế RAM nên tách rời để giảm bới tài nguyên tiêu tốn Chương 7: Kết luận hướng mở rộng 90 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong TÀI LIỆU THAM KHẢO [1] Gerstner, W., Kistler, W.M.: Spiking Neuron Models: Single Neurons, Populations, Plasticity, Cambridge University Press, Cambridge, MA (2002) [2] Howard Demuth, Mark Beale : Neural Network Toolbox for use with Matlab, V4, The MathWorks, 2000 [3] Mathew Kyan, Kambiz Jarrah, Paisarn Muneesawang, Ling Guan Strategies for Unsupervised Multimedia Processing, IEEE May 2006 (vol.1 no.2) [4] Richard P Lipmann : An Introduction to Computing with Neural Nets , IEEE ASSP Magazine, April 1987 [5] Martin P, Ian G, Kenvin G, Chirs M : A real-time, FPGA base, Biologycally Plausible Neural Network Processor, IEEE, 2005 [6] Koch, C., Segev, I., ets.: Methods in Neuronal Modeling: From Synapses to Networks MIT Press, Cambridge, Massachusetts (1989) [7] Goerick, C., Noll, D., Werner, M.: Artificial neural networks in real-time car detection and tracking applications Pattern Recogn Lett 17 (1996) 335{343 [8] Eckhorn, R.: Neural mechanisms of scene segmentation: recordings from visual cortex suggest basic circuits for linking _eld models IEEE Transactions on Neural Networks 10 (1999) [9] Maass, W.: Computing with spiking neurons In Maass, W., Bishop, C.M., eds.: Pulsed Neural Networks MIT Press (Cambridge) (1999) 55{85 [10] Beeman, D.: Simulating a neuron soma In Bower, J.M., Beeman, D., eds.: The Book of GENESIS: Exploring Realistic Neural Models with the GEneral Neural SImulation System (2nd Ed.), New York, Springer-Verlag (1998) [11] T.L Sterling, J Salmon, D.B., Savarese, D.: How to Build a Beowulf: A Guide to the Implementation and Application of PC Clusters Scienti_c and engineering computation MIT Press (1999) [12] Mehrtash, N., Jung, D., Hellmitch, H., Schoenauer, T., Lu, V., Klar, H.: Synaptic plasticity in spiking neural networks (sp2inn): A system approach IEEE Transactions on Neural Networks 14 (2003) [13] Schemmel, J., Meier, K., Mueller, E.: A new VLSI model of neural microcircuits including spike time dependent plasticity In: Proceedings of IJCNN'04, IEEE Press (2004) Tài liệu tham khảo 91 HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong [14] Izhikevich, E.M.: Which model to use for cortical spiking neurons? IEEE Transactions on neural networks 15 (2004) [15] Gurney, K., Prescott, T., Redgrave, P.: A computational model of action selection in the basal ganglia i: A new functional anatomy Biological Cybernetics 84 (2001) [16] K Skahill : VHDL for Programmable Logic , Addison Wesley Longman Inc, 1996, ISBN: 0201895862 [17] Mostafa, Hesham : Fundamentals of Computer Organization and Architecture, A John Wiley & Sons, Inc Pub, 2005 [18] Mostafa, Hesham : Advanced of Computer Architecture and Parallel Processing, A John Wiley & Sons, Inc Pub, 2005 [19] Enoch O.Hwang : Microprocessor Design – Principles and Practices with VHDL, @Brooks/Cole, 2004 [20] Neural Networks at Pacific Northwest National http://www.emsl.pnl.gov:2080/docs/cie/neural/neural.homepage.html Tài liệu tham khảo 92 Laboratory HVTH: KS Nguyễn Thế Đại Dương PHẦN C PHỤ LỤC Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong PHỤ LỤC A SỐ THỰC DẤU CHẤM ĐỘNG (DẠNG 32 BIT) A.1 Biểu diễn theo chuẩn IEEE 754 Một số thực N có giá trị N = (-1)S x 2E-127 x (1.M) biểu diễn theo chuẩn IEEE 754 với độ xác đơn (single precision) 32 bit sau: 23 S S: bit dấu E M E: số mũ, 0Ye: dịch phải Ym để tạo thành Ym x 2Ye-Xe B2: Tính tổng phần định trị Xm x 2Xe-Ye + Ym Xm + Ym x 2Ye-Xe B3: Nếu kết chuẩn hóa tiếp đến bước 4, chưa thực trình chuẩn hóa: Dịch trái kết giảm số mũ kết (vd: kết 0.001… ) hay Phụ lục A -1- HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong Dịch phải kết tăng số mũ kết (vd: kết 10.1……) Tiếp tục bit ẩn B4: Kiểm tra phần số mũ kết quả: • Nếu lớn số mũ lớn cho phép trả lỗi tràn số mũ • Nếu nhỏ số mũ nhỏ cho phép trả lỗi số mũ B5: Nếu phần định trị kết 0, thiết lập phần số mũ để trả số A.3 Phép nhân hai số thực Giải thuật Giả sử toán hạng dạng dấu chấm động, thực phép nhân: Kết = R = X * Y = (-1)Xs(Xm x 2Xe) * (-1)Ys(Ym x 2Ye) B1: Nếu hai toán hạng 0, trả kết 0, không thực bước B2: Tính dấu kết quả: Xs XOR Ys B3: Tính phần định trị kết • Nhân phần định trị: Xm*Ym (dùng phép dịch) • Làm tròn kết số bit cho phép phần định trị B4: Tính số mũ kết = Xe + Ye – 127 B5: Chuẩn hóa cần thiết B6: Kiểm tra số mũ kết xem có overflow/underflow Phụ lục A -2- HVTH: KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong PHỤ LỤC B BẢNG QUY ĐỔI GIÁ TRỊ MỘT SỐ SỐ THỰC 16BIT DÙNG TRONG MÔ PHỎNG THIẾT KẾ Phụ lục B SỐ THỰC DẠNG NHỊ PHÂN DẠNG THẬP PHÂN 0100000010000000 16512 0100000011000000 16576 12 0100000101000000 16704 -12 1100000101000000 49472 23 0100000110111000 16824 24 0100000111000000 16832 25 0100000111001000 16840 -25 1100000111001000 49608 37 0100001000010100 16916 48 0100001001000000 16960 -48 1100001001000000 49728 50 0100001001001000 16968 73 0100001010010010 17042 222 0100001101011110 17246 300 0100001110010110 17302 -1104 1100010010001010 50314 3648 0100010101100100 11764 -3- HVTH: KS Nguyễn Thế Đại Dương LÝ LỊCH TRÍCH NGANG Họ tên: NGUYỄN THẾ ĐẠI DƯƠNG Ngày, tháng, năm sinh: 05/12/1982 Nơi sinh: Biên Hòa Địa liên lạc: I33, Nguyễn Văn Trỗi , P Bửu Long, Tp Biên Hòa, Đồng Nai Q trình đào tạo • 2005 - nay: học viên Cao học Trường Đại học Bách Khoa Tp Hồ Chí Minh, khoa Điện-Điện tử, chuyên ngành Kỹ thuật điện tử • 2000-2005: học Đại học ngành Điện tử - Viễn thông Trường Đại học Bách Khoa Tp Hồ Chí Minh, luận văn “Thiết kế hệ thống quản lý giao thơng GPS” Q trình cơng tác • 07/2006-09/2006: kỹ sư thiết kế phần cứng thực tập Cơng ty Signet Việt Nam Kỹ • Đọc hiểu tiếng Anh: tốt, nghe nói tiếng Anh: • Có kiến thức VHDL, Verilog, C/C++, Visual Basic • Có kiến thức hệ thống viễn thơng nói chung Vấn đề quan tâm: Thiết phần cứng ngôn ngữ HDL, FPGA, Thiết kế IP, DSP ... số vi xử lý 28 HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong 3.4.7 Mô tả hoạt động vi xử lý Vi xử lý. .. Thế Đại Dương Thiết kế vi xử lý nhúng FPGA ứng dụng kỹ thuật mạng neuron PGS.TS Lê Tiến Thường PGS.TS Nguyễn Đức Phong CHƯƠNG KỸ THUẬT THIẾT KẾ PHẦN CỨNG TRÊN FPGA 4.1 GIỚI THIỆU FPGA (Field Programmable... cận lý thuyết mạng neuron, loại mạng thuật toán huấn luyện - Tiếp cận kiến trúc vi xử lý phương pháp thiết kế vi xử lý Chương : Tổng quan HVTH : KS Nguyễn Thế Đại Dương Thiết kế vi xử lý nhúng FPGA

Ngày đăng: 13/02/2021, 08:26

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

    • 1.1 KHÁI QUÁT VẤN ĐỀ

    • 1.2 MỤC TIÊU, ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

      • 1.2.1 Mục tiêu đề tài

      • 1.2.2 Đối tượng và phạm vi nghiên cứu

      • 1.3 NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

        • 1.3.1 Nội dung nghiên cứu

        • 1.3.2 Phương pháp nghiên cứu

        • 1.4 Ý NGHĨA ĐỀ TÀI

        • CHƯƠNG 2 MẠNG NEURON

          • 2.1 GIỚI THIỆU CHUNG

          • 2.2 MÔ HÌNH NHÂN TẠO CƠ BẢN

            • 2.2.1 Một số hàm truyền

              • 2.2.1.1 Hàm tuyến tính

              • 2.2.1.2 Hàm Hard Limiter

              • 2.2.1.3 Hàm Sigmoid

              • 2.3 PERCEPTRON ĐƠN

                • 2.3.1 Giải thuật học perceptron Mays

                • 2.3.2 Perceptron với hàm truyền Sigmoid

                • 2.3.3 Perceptron đa lớp (MLP)

                • 2.4 BACKPROPAGATION

                  • 2.4.1 Giải thuật backpropagation cơ bản cho perceptron đa lớp feedforward

                  • 2.4.2 Các giải thuật học Backpropagation tăng tốc

                    • 2.4.2.1 Giải thuật conjugate gradient backpropagation cho perceptron đa lớp feedforward

                    • CHƯƠNG 3 MẠCH SỐ VÀ VI XỬ LÝ

                      • 3.1 MẠCH LOGIC TỔ HỢP

                        • 3.1.1 Metal-Oxide-Semiconductor Field-Effect Transistor (MOSFET)

                        • 3.1.2 Cổng đảo

                        • 3.1.3 Cổng NAND

                        • 3.1.4 Cổng AND

                        • 3.1.5 Cổng NOR và OR

Tài liệu cùng người dùng

Tài liệu liên quan