Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
676,66 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THƠNG PHỊNG THÍ NGHIỆM EDABK HƯỚNG DẪN SỬ DỤNG MÃ NGUỒN C++ VÀ VERILOG ĐỂ MÔ PHỎNG VÀ KIỂM TRA NEURON GRID Người thực hiện: Nguyễn Lê Trung Phạm Huy Hoàng Giảng viên hướng dẫn: PGS TS Nguyễn Đức Minh Hà Nội, 12-2021 LỜI NÓI ĐẦU Tài liệu thành viên phịng thí nghiệm EDABK Viện Điện tử - Viễn thông, trường Đại học Bách Khoa Hà Nội soạn thảo ban hành nhằm mục đích hướng dẫn sử dụng mã nguồn C++ verilog để mô neuron grid Chúng xin chân thành cảm ơn PGS TS Nguyễn Đức Mình hướng dẫn chúng tơi hoàn thành báo cáo LỜI CAM ĐOAN Chúng tơi Nguyễn Lê Trung, Phạm Huy Hồng sinh viên lớp CTTT Điện tử - Viễn thơng, khóa 63 Người hướng dẫn PGS TS Nguyễn Đức Minh Chúng xin cam đoan tồn nội dung trình bày Hướng dẫn sử dụng mã nguồn C++ verilog để mô kiểm tra Neuron Grid kết trình tìm hiểu nghiên cứu Các liệu nêu hướng dẫn hoàn toàn trung thực, phản ánh kết đo đạc thực tế Mọi thơng tin trích dẫn tuân thủ quy định sở hữu trí tuệ; tài liệu tham khảo liệt kê rõ ràng Chúng tơi xin chịu hồn tồn trách nhiệm với nội dung viết đồ án MỤC LỤC DANH MỤC HÌNH VẼ i DANH MỤC BẢNG BIỂU .ii CHƯƠNG TỔNG QUAN CÁCH SỬ DỤNG CHƯƠNG CÁCH SỬ DỤNG CODE C++ .2 2.1 Tạo file text chứa liệu 2.1.1 Tạo file chứa axon spikes tick nhiều tick .2 2.1.2 Tạo file chứa parameter CSRAM 2.2 Chạy mô .4 2.2.1 Chạy mô với tick 2.2.2 Chạy mô với nhiều tick .5 CHƯƠNG CÁCH SỬ DỤNG VERILOG DANH MỤC HÌNH VẼ H$nh Sơ đồ tổng quan hoạt động H$nh Địa chứa file axon spikes tick nhiều tick H$nh Hai hàm tạo axon spikes tick nhiều tick gọi H$nh Địa chứa file parameter CSRAM H$nh Hàm generateCSRAM() gọi hàm main() H$nh Địa file cần tạo để mô với tick H$nh Hàm NeuronGrid() gọi hàm main() .4 H$nh Địa file cần tạo để mô với tick H$nh Hàm ManyTicks() gọi hàm main() H$nh 10 Số lượng tick địa file cần thiết tb_neuron_grid H$nh 11 Transcript thông báo test không gặp lỗi H$nh 12 Transcript thông báo test gặp lỗi i DANH MỤC BẢNG BIỂU ii CHƯƠNG TỔNG QUAN CÁCH SỬ DỤNG Chức file neuron_grid_codeC tạo file text chứa liệu dùng file liệu file từ bên ngồi để chạy mơ Đầu code C++ là: Các file text chứa liệu File text chứa kết mô C++ Chức file Verilog sử dụng liệu từ file text để mô hoạt động Neuron Grid Đầu code Verilog file text chứa kết mơ Verilog Vì vậy, ta sử dụng hai file code để kiểm tra hoạt động kết đầu sau: H$nh Sơ đồ tổng quan hoạt động Theo H$nh 1, file Code C++ Verilog lấy đầu vào từ file text chứa liệu bên ngồi, nhiên file Code C++ tự tạo file text chứa liệu để làm đầu vào cho Code Verilog CHƯƠNG CÁCH SỬ DỤNG CODE C++ 2.1 Tạo file text chứa liệu Code C++ có khả tạo file text chứa liệu: File chứa axon spikes với tick File chứa axon spikes với nhiều tick File chứa parameter CSRAM 2.1.1 Tạo file chứa axon spikes tick nhiều tick Địa chứa liệu file chứa axon spikes tick nhiều tick thay đổi dịng define: H$nh Địa chứa file axon spikes tick nhiều tick Hai hàm generateAxonSpikes(N_a) generateManyAxonSpikes (N_a, num_tick) cần gọi hàm main() trước Run (với N_a số lượng axon num_tick số lượng tick): H$nh Hai hàm tạo axon spikes tick nhiều tick gọi Hình thể hàm generateManyAxonSpikes() tạo file text với 16 dòng, dòng thể tick chứa liệu axon spikes 256 axon Tương tự, hàm generateAxonSpikes() tạo file text với dòng ứng với tick chứa liệu axon spikes 256 axon Các axon spikes chọn ngẫu nhiên 2.1.2 Tạo file chứa parameter CSRAM Địa chứa liệu file chứa parameter CSRAM thay đổi dòng define: H$nh Địa chứa file parameter CSRAM Trong hàm khởi tạo generateCSRAM(), file text tạo có số dịng số lượng neuron (mặc định 256), dòng parameter neuron sinh ngẫu nhiên với độ rộng tuân theo kiến trúc RANC (368 bit) Khoảng ngẫu nhiên thay đổi hàm random(a, b) (với a giá trị nhỏ b giá trị lớn khoảng dạng thập phân) LƯU Ý: Giá trị synap từ axon thứ 245 sinh ngẫu nhiên nhiều synap khiến integrated potential vượt giới hạn phần cứng khai báo Verilog dẫn đến sai lệch kết Hàm generateCSRAM() phải gọi hàm main() trước Run để tạo file text chứa parameter: H$nh Hàm generateCSRAM() gọi hàm main() 2.2 Chạy mô 2.2.1 Chạy mô với tick Để chạy mô với tick, địa file sau cần tạo: file chứa axon spikes, file chứa parameter CSRAM, file chứa neuron instruction file chứa kết mô H$nh Địa file cần tạo để mô với tick Địa file thay đổi dịng define Trong đó: file chứa axon spikes parameter CSRAM tự tạo Code C++ (đã hướng dẫn mục 2.1) đưa vào từ bên File output cần nhập địa thư mục chứa, code tự tạo file File chứa neuron instruction lấy file simulation tác giả RANC Github Trước Run code, hàm NeuronGrid() phải gọi hàm main() H$nh Hàm NeuronGrid() gọi hàm main() Sau Run code, file text output đặt thư mục có tên địa đặt dòng lệnh define H$nh File text output mặc định gồm dịng 256 bit chứa thơng tin spike neuron Cửa sổ cmd neuron có spike 2.2.2 Chạy mô với nhiều tick Để chạy mô với nhiều tick, địa file sau cần tạo: file chứa axon spikes với nhiều tick, file chứa parameter CSRAM, file chứa neuron instruction file chứa kết mô H$nh Địa file cần tạo để mô với tick Địa file thay đổi dịng define Trong đó: file chứa axon spikes nhiều tick parameter CSRAM tự tạo Code C++ (đã hướng dẫn mục 2.1) đưa vào từ bên File output cần nhập địa thư mục chứa, code tự tạo file File chứa neuron instruction lấy file simulation tác giả RANC Github Trước Run code, hàm ManyTick(num_tick) phải gọi hàm main() (với num_tick số lượng tick) H$nh Hàm ManyTicks() gọi hàm main() Sau Run code, file text output đặt thư mục có tên địa đặt dịng lệnh define H$nh File text output mặc định gồm 16 dòng tương đương với 16 tick, dòng 256 bit chứa thông tin spike neuron Cửa sổ cmd sau chạy số lượng spike đầu CHƯƠNG CÁCH SỬ DỤNG VERILOG Để chạy mô code Verilog, file tb_neuron_grid, số lượng tick cần test cần cập nhật địa file sau cần tạo: file chứa axon spikes với tick, file chứa axon spikes với nhiều tick, file chứa parameter CSRAM, file chứa neuron instruction, file chứa kết mô code C++ file chứa kết mô Verilog H$nh 10 Số lượng tick địa file cần thiết tb_neuron_grid Sau mô phỏng, kết file output Verilog so sánh với file output code C++ Nếu giống nhau, Transcript lên thông báo “Test pass without error” : H$nh 11 Transcript thông báo test không gặp lỗi Nếu không giống nhau, Transcript lên thông báo neuon lỗi tick: H$nh 12 Transcript thông báo test gặp lỗi ... - Viễn thơng, khóa 63 Người hướng dẫn PGS TS Nguyễn Đức Minh Chúng xin cam đoan tồn nội dung trình bày Hướng dẫn sử dụng mã nguồn C++ verilog để mô kiểm tra Neuron Grid kết trình tìm hiểu nghiên... Hà Nội soạn thảo ban hành nhằm mục đích hướng dẫn sử dụng mã nguồn C++ verilog để mô neuron grid Chúng xin chân thành cảm ơn PGS TS Nguyễn Đức Mình hướng dẫn chúng tơi hồn thành báo cáo LỜI CAM... file từ bên ngồi để chạy mơ Đầu code C++ là: Các file text chứa liệu File text chứa kết mô C++ Chức file Verilog sử dụng liệu từ file text để mô hoạt động Neuron Grid Đầu code Verilog file text