1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và đánh giá chức năng bộ mã hóa kiểm soát lỗi cho bộ nhớ

70 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 7,62 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ VÀ ĐÁNH GIÁ CHỨC NĂNG BỘ MÃ HĨA KIỂM SỐT LỖI CHO BỘ NHỚ S K C 0 9 MÃ SỐ: SV2022-28 CHỦ NHIỆM ĐỀ TÀI: NGUYỄN QUỐC THẮNG SKC008051 Tp Hồ Chí Minh, tháng 11/2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ VÀ ĐÁNH GIÁ CHỨC NĂNG BỘ MÃ HOÁ KIỂM SOÁT LỖI CHO BỘ NHỚ SV2022-28 Thuộc nhóm ngành khoa học: Khoa học Kỹ thuật Chủ nhiệm đề tài: Nguyễn Quốc Thắng Nam, Nữ: Lớp, khoa: 181190C, Khoa Điện- Điện tử Năm thứ: Nam Dân tộc: Kinh Ngành học: Công nghệ Kỹ thuật Máy tính Người hướng dẫn: TS Đỗ Duy Tân TP Hồ Chí Minh, 11/2022 4/4 MỤC LỤC MỤC LỤC DANH MỤC BẢNG BIỂU .6 DANH MỤC HÌNH DANH MỤC CÁC TỪ VIẾT TẮT CHƯƠNG 1: TỔNG QUAN .1 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU ĐỀ TÀI 1.3 GIỚI HẠN ĐỀ TÀI 1.4 BỐ CỤC ĐỀ TÀI CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 MÃ HOÁ DỮ LIỆU 2.2 BỘ NHỚ DRAM 2.2.1 Tổng quan nhớ DRAM 2.2.2 Lỗi xảy nhớ DRAM 2.3 ECC TRONG BỘ NHỚ 2.3.1 Lỗi nhớ 2.3.2 Tổng quan ECC 2.3.3 Các mã sử dụng ECC 2.3.4 Kỹ thuật phát khắc phục lỗi dùng mã Hamming 10 2.3.5 Khảo sát độ rộng bus loại nhớ 12 2.4 MÃ HAMMING 13 2.4.1 Định nghĩa mã Hamming 13 2.4.2 Mã hóa mã Hamming 19 2.4.3 Giải mã mã Hamming 20 2.5 NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 23 2.6 PHẦN MỀM ISE DESIGN SUITE 14.7 23 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 25 3.1 SƠ ĐỒ KHỐI TỔNG QUÁT 25 3.2 SƠ ĐỒ KHỐI CHI TIẾT HỆ THỐNG 26 CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 29 4.1 THIẾT KẾ HỆ THỐNG KHỐI ENCODER 29 4.1.1 Mạch tạo bit kiểm tra 29 4.1.2 Mạch liệu ngõ 31 4.2 THIẾT KẾ HỆ THỐNG KHỐI DECODER 31 4.2.1 Mạch tạo vector syndrome 32 4.2.2 Mạch phát lỗi 33 4.2.3 Mạch sửa lỗi 34 CHƯƠNG 5: KẾT QUẢ VÀ ĐÁNH GIÁ 36 5.1 TÓM TẮT NỘI DUNG 36 5.2 MƠ HÌNH MƠ PHỎNG 36 5.3 KẾT QUẢ MÔ PHỎNG 37 5.3.1 Mô hoạt động khối encoder 37 5.3.2 Mô hoạt động khối decoder 39 5.3.3 So sánh kết mô với lý thuyết 43 5.4 TÀI NGUYÊN SỬ DỤNG 45 5.4.1 Tài nguyên sử dụng encoder 45 5.4.2 Tài nguyên decoder 45 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46 6.1 KẾT LUẬN 46 6.2 HƯỚNG PHÁT TRIỂN 46 TÀI LIỆU THAM KHẢO .47 DANH MỤC BẢNG BIỂU Bảng 2.1 Mơ hình hóa khối hệ thống Bảng 2.2: So sánh mã ECC 10 Bảng 2.3: Các trường hợp lỗi 13 Bảng 2.4: Độ rộng bus số loại nhớ .14 Bảng 2.5: Số lượng bit kiểm tra cho trường hợp phát lỗi 15 Bảng 2.6: Số lượng bit kiểm tra cho trường hợp phát lỗi 15 Bảng 2.7 Vị trí lỗi ứng với Syndrome Word 17 Bảng 2.8 Dữ liệu minh họa sửa lỗi sử dụng mã Hamming 18 Bảng 2.9 Từ mã Hamming (7,4) 21 Bảng 2.10 Từ mã Hamming (7,4) sau bỏ bit kiểm tra 21 Bảng 2.11 Các từ mã tướng ứng với liệu đầu vào bit 23 Bảng 2.12 Mở rộng từ mã đầu vào bit (trường hợp 0000) 24 Bảng 3.1: Mơ tả chân tín hiệu module ECC 28 Bảng 3.3: Mơ tả chân tín hiệu khối decoder 30 Bảng 5.1: Bảng tóm tắt testcase encoder 40 Bảng 5.2: Bảng tóm tắt testcase decoder 42 Bảng 5.3: Bảng so sánh kết lý thuyết thực tế 46 Bảng 5.4: Bảng đánh giá kết mô 46 Bảng 5.5: Tài nguyên encoder 47 Bảng 5.6: Tài nguyên encoder 47 DANH MỤC HÌNH Hình 2.1 Cấu trúc nhớ máy tính Hình 2.2 Khối chức ECC .9 Hình 2.3: Tổng quát trình thực thi liệu 11 Hình 2.4: Mơ hình mã sửa lỗi Hamming (7,4) 12 Hình 2.5 Minh họa tạo mã kiểm tra với mã Hamming 18 Hình 2.6 Minh họa tạo mã kiểm tra với mã Hamming 18 Hình 2.7 Minh họa tạo mã kiểm tra với mã Hamming 19 Hình 2.8 Minh họa tạo mã kiểm tra với mã Hamming 19 Hình 2.9 Minh họa tạo mã kiểm tra với mã Hamming 20 Hình 2.10 Minh họa tạo mã kiểm tra với mã Hamming 20 Hình 3.1: Sơ đồ khối tổng quát hệ thống .27 Hình 3.2: Sơ đồ khối chi tiết khối ECC .29 Hình 4.1: Khối encoder 31 Hình 4.2: Bảng liệu bit kiểm tra [13] 32 Hình 4.3: Mạch tạo bit kiểm tra 33 Hình 4.4: Mạch liệu ngõ khối encoder 33 Hình 4.5: Khối decoder 34 Hình 4.6: Mạch tạo vector syndrome 35 Hình 4.7: Mạch phát lỗi 36 Hình 4.8: Mạch sửa lỗi 37 Hình 5.1: Khối testbench .38 Hình 5.2: Khối mô module ECC 39 Hình 5.3: Dạng sóng tín hiệu testcase encoder .40 Hình 5.4: Dạng sóng tín hiệu testcase encoder .41 Bảng 5.2: Bảng tóm tắt testcase decoder 42 Hình 5.5: Dạng sóng tín hiệu testcase 3A decoder 43 Hình 5.6: Dạng sóng tín hiệu testcase 3B decoder 44 Hình 5.7: Dạng sóng tín hiệu testcase 4A decoder 44 Hình 5.8: Dạng sóng tín hiệu testcase 4B decoder 45 DANH MỤC CÁC TỪ VIẾT TẮT BCH Bose–Chaudhuri–Hocquenghem CPU Central Processing Unit DRAM Dynamic Random Access Memory ECC Error-Correcting Code FPGA Field Programmable Gate Array IEEE Institute of Electrical and Electronics Engineers ISE Integrate Software Environment LDPC Low - density parity check RAM Random Access Memory RTL Register Transfer Level VHDL Very High Speed Integrated Circuit Hardware Description Language BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung: - Tên đề tài: THIẾT KẾ VÀ ĐÁNH GIÁ CHỨC NĂNG BỘ MÃ HOÁ KIỂM SOÁT LỖI CHO BỘ NHỚ - Chủ nhiệm đề tài: Nguyễn Quốc Thắng - Lớp: 181190C Khoa: Điện- Điện tử Mã số SV: 18119192 Năm thứ: Số năm đào tạo: - Người hướng dẫn: TS Đỗ Duy Tân - Thành viên thực đề tài: STT Họ tên MSSV Lớp Khoa Nguyễn Quốc Thắng 18119192 181190C Điện- Điện tử Trần Đỗ Hồn Nhiên 18119181 181190C Điện- Điện tử Lê Hoàng Triệu 18161292 18161VT1 Điện- Điện tử Danh Thanh Tuấn 18161309 18161VT2 Điện- Điện tử Trần Thị Ngọc Hồng 18161227 18161VT2 Điện- Điện tử Mục tiêu đề tài: Đề tài thực hướng tới mục tiêu sau: nghiên cứu sở lý thuyết mơ hình mã hóa kiểm sốt lỗi ứng dụng cho nhớ Thiết kế chi tiết hệ thống, thi công dùng ngôn ngữ mô tả phần cứng Verilog đánh giá chức mã hóa kiểm sốt lỗi nhằm làm giảm tỉ lệ lỗi liệu truy xuất nhớ thông qua mô thực thi tảng kit FPGA Tính sáng tạo: Các báo đánh giá mã Hamming nhớ với số bit nhỏ (4 bit) chưa có chi tiết cách trình bày Vì vậy, đề tài chúng tơi sử dụng độ dài bus liệu module ECC 64 bit với xác suất lỗi tiệm cận thực tế Bên cạnh đó, module cịn cung cấp khả phát bit xảy liệu nhằm tăng độ tin cậy so với nghiên cứu trước dừng lại phát lỗi bit Kết nghiên cứu: Đề tài đạt kết như: Xây dựng mã hóa kiểm sốt lỗi nhớ ngơn ngữ phần cứng VHDL đánh giá thành công hoạt hệ thống hệ thống qua mô Đóng góp mặt giáo dục đào tạo, kinh tế - xã hội, an ninh, quốc phòng khả áp dụng đề tài: Trong đề tài này, thực việc thiết kế đánh giá chi tiết module ECC có độ rộng bus liệu 64 bit nhằm tăng độ tin cậy cho truy suất nhớ Module ECC phát sửa lỗi bit đơn, phát lỗi bit Bên cạnh đó, hầu hết thiết kế vi mạch trình bày chi tiết cơng khai, thiết kế module ECC báo xem tài liệu tham khảo cho việc học tập môn liên quan tới thiết kế vi mạch lý thuyết mã hóa truyền liệu Công bố khoa học SV từ kết nghiên cứu đề tài (ghi rõ tên tạp chí có) nhận xét, đánh giá sở áp dụng kết nghiên cứu (nếu có): Trần Đỗ Hồn Nhiên, Võ Tấn Thanh, Nguyễn Thành Khoa, Nguyễn Quốc Thắng, Nguyễn Văn Thành Lộc, Huỳnh Hoàng Hà, Nguyễn Ngô Lâm, Đỗ Duy Tân*, Application of Hamming Code for Error Control in Memory, Tạp chí Khoa học Giáo dục Kỹ thuật, Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh, 8/2022 Ngày 10 tháng 11 năm 2022 SV chịu trách nhiệm thực đề tài (kí, họ tên) 5.4 TÀI NGUYÊN SỬ DỤNG 5.4.1 Tài nguyên sử dụng encoder Bộ encoder tổng hợp phần mềm ISE 14.7, sử dụng kit Spartan6 XC6SLX16 Xilinx có tài nguyên sử dụng tóm tắt bảng 5.5 Bảng 5.5: Tài nguyên encoder Tài nguyên Sử dụng Có sẵn Tỉ lệ Slice 43 35840 0% input LUTs 72 71608 0% Bonded IOBs 138 768 17% GCLKs 32 3% 5.4.2 Tài nguyên decoder Bộ decoder tổng hợp phần mềm ISE 14.7, sử dụng kit Spartan6 XC6SLX16 Xilinx có tài nguyên sử dụng tóm tắt bảng 5.6 Bảng 5.6: Tài nguyên decoder Tài nguyên Sử dụng Có sẵn Tỉ lệ Slice 91 35840 0% input LUTs 162 71608 0% Bonded IOBs 140 768 18% GCLKs 32 3% 45 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Nghiên cứu “Thiết kế đánh giá hiệu bơ mã hố kiểm soát lỗi cho nhớ” với mục tiêu thiết kế module ECC để kiểm soát lỗi nhớ Qua trình thiết kế đánh giá, kết đề tài đáp ứng mục tiêu đề Cụ thể đề tài đạt kết sau:  Thiết kế hoàn chỉnh module ECC  Mã hóa giải mã liệu với độ rộng bus 64 bit  Các khối chức hoạt động yêu cầu chức  Phát lỗi bit đơn lỗi kép  Hệ thống sửa lỗi bit đơn liệu xảy lỗi Bên cạnh kết mà nhóm đạt sau q trình nghiên cứu tồn hạn chế cần giải sau:  Các kiểm tra thông qua mô chưa đa dạng, mức đơn giản  Số lượng bit kiểm tra mức định, khối bit kiểm tra chưa đủ lớn 6.2 HƯỚNG PHÁT TRIỂN Đề tài “Ứng dụng mã Hamming kiểm soát lỗi nhớ” phát triển để hồn thiện phát triển thành IP để nhúng vào hệ thống khác Thiết kế mở rộng độ rộng cho bus đường liệu để tối ưu hiệu suất đọc ghi liệu từ nhớ Phát triển thiết kế để tổng hợp phần cứng FPGA nhằm đánh giá độ trễ tính tốn lên hệ thống Áp dụng thiết kế áp dụng vào nhớ hành DDR4, DDR5, … Nâng cao tốc độ tính tốn nhiều thuật toán khác thiết kế Thiết kế phát lỗi bit kiểm tra 46 TÀI LIỆU THAM KHẢO [1] U S Sani and I H Shanono, "Design of (7, 4) Hamming Encoder and Decoder Using VHDL," 1st International Engineering Conference 2015, 2015 [2] D Mokara, S Naidu and A K Gupta, "Design and Implementation of Hamming Code using VHDL & DSCH," International Journal of Latest Engineering Research and Applications, vol 02, pp 33-40, 2017 [3] A H Saleh, "Design of Hamming Code for 64 bit single Error Detection and Correction using VHDL," Diyala Journal of Engineering Sciences, vol 08, no 03, pp 22-37, 2015 [4] H Sharma and A Kumar, "Hamming Code for Error Detection and Corection using VHDL," International Journal Of Engineering Research & Management Technology, vol 01, 2014 [5] William Stallings, Computer Organization and Architechture nineth edition,2012, Nxb Pearson, Ấn Độ [6] A B Shinde, Y M Patil, Configurable FPGA Implementation of Linear Block Code for Digital Communication System, 2010 [7] PhD Madan Lal Saini, PhD Nitesh Kaushik, Ashok Kumar Saini, Reduction of Signal Power Consumption in a Digital Communication using Convolutional Code, 2018, Poornima University, Jaipur, India [8] K Lavery, "Discriminating Between Soft Errors and Hard Errors in RAM," SPNA109, 2008 [9] S Mueller, "Upgrading and Repairing PCs: Upgrading and Repairing_c22," Que Publishing, 2015 47 [10] Renesas, "Using ECC Memory Configuration and Error Injection and Detection with the Tsi107TM," U.S.A, Nov, 2009 [11] S Tam, "Single error correction and double error detection," Xilinx Application Note, 645, 1-12, 2006 [12] P P.Chu, RTL Hardware Design using VHDL, A JOHN WILEY & SONS, INC, 2006 [13] A H Saleh, "Design of Hamming Encoder and Decoder Circuits For (64, 7) Code and (128, 8) Code," Journal of Scientific and Engineering Research, 2015 [14] J Doyle, "Hamming Code Simulation," University of Massachusetts, 1986.[Online].Available: http://www.ecs.umass.edu/ece/koren/FaultTolerantSystems/simulator/Ha mming/HammingCodes.html 48 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Application of Hamming Code for Error Control in Memory Tran Do Hon Nhien, Vo Tan Thanh, Nguyen Thanh Khoa, Nguyen Quoc Thang, Nguyen Van Thanh Loc, Huynh Hoang Ha, Nguyen Ngo Lam, Do Duy Tan* Faculty of Electrical and Electronics Engineering, Ho Chi Minh City of Technology and Education, Vietnam * Corresponding author Email: tandd@hcmute.edu.vn ARTICLE INFO Received: 18/2/2022 Revised: 5/8/2022 Accepted: 19/8/2022 Published: 30/8/2022 KEYWORDS ECC memory; Hamming code; Encoder; Decoder; Testbench ABSTRACT Error Correction Coding (Error Correction Coding - ECC) has been considered as a powerful tool to enhance the reliability in data storage by detecting and correcting corrupted data errors that may occur in memory There are many ECC algorithms used with different advantages such as Hamming, Reed-Solomon, BCH, LDPC, etc In particular, Hamming code is suitable for controlling errors in memory with the outstanding advantage of simple encoding/decoding algorithms with fast coding speed In this paper, we present an ECC module design using Hamming code for memory error control The Hamming code-based ECC design including encoder and decoder blocks is presented in detail Then, extensive simulation results are conducted to validate the functionality and effectiveness of the designed ECC module Ứng Dụng Mã Hamming Trong Kiểm Soát Lỗi Bộ Nhớ Trần Đỗ Hồn Nhiên, Võ Tấn Thanh, Nguyễn Thành Khoa, Nguyễn Quốc Thắng, Nguyễn Văn Thành Lộc, Huỳnh Hồng Hà, Nguyễn Ngơ Lâm, Đỗ Duy Tân* Khoa Điện-Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật TPHCM, Việt Nam * Tác giả liên hệ Email: tandd@hcmute.edu.vn THÔNG TIN BÀI BÁO Ngày nhận bài: 18/2/2022 Ngày hoàn thiện: 5/8/2022 Ngày chấp nhận đăng: 19/8/2022 Ngày đăng: 30/8/2022 TỪ KHÓA Bộ nhớ ECC; Mã Hamming; Bộ mã hóa; Bộ giãi mã; Testbench TĨM TẮT Mã hóa kiểm tra lỗi (Error Correction Coding - ECC) ứng dụng để làm tăng độ tin cậy lưu trữ liệu nhờ khả phát sửa lỗi liệu bị hỏng xảy nhớ Có nhiều thuật toán ECC sử dụng với ưu điểm khác mã Hamming, Reed-Solomon, BCH, LDPC Trong đó, mã Hamming phù hợp với việc kiểm soát lỗi nhớ với ưu điểm bậc thuật toán mã hóa giải mã đơn giản nên tốc độ mã hóa giãi mã cao Trong báo này, chúng tơi trình bày chi tiết thiết kế module ECC sử dụng mã Hamming kiểm soát lỗi nhớ ngôn ngữ mô tả phần cứng VHDL Thiết kế gồm khối encoder decoder thực việc mã hóa giải mã liệu Sau đó, kết mơ trình bày để đánh giá chi tiết chức công suất tiêu thụ thiết kế ECC Doi: https://doi.org/10.54644/jte.71B.2022.1141 This is an open access article distributed under the terms and conditions of the Creative Commons Attribution-NonCommercial 4.0 International License which permits unrestricted use, distribution, and reproduction in any medium for non-commercial purpose, provided the original work is properly cited Copyright © JTE Giới thiệu DRAM loại nhớ truy cập ngẫu nhiên, lưu bit liệu tụ điện riêng biệt nạp xã lần 64ms [1] Là loại nhớ sử dụng rộng rãi hệ thống máy tính nhớ Lỗi nhớ DRAM dẫn đến vài bit liệu phát sinh chuyển đổi trạng thái ngược lại từ logic logic ngược lại [2] Lỗi nhớ cố xảy liệu truy cập để sử dụng chương trình Có hai loại lỗi xảy thường xuyên lỗi cứng lỗi mềm Lỗi cứng lỗi lặp lại liên tục lỗi phần cứng thiết kế vật lý module số nguyên JTE, Issue 71B, August 2022 19 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 nhân khác nhiệt độ, áp suất, điện áp, trình chế tạo Lỗi mềm lỗi làm hỏng ngẫu nhiên bit nhớ, nguyên nhân phổ biến xạ hạt alpha nhiễu [3] Theo nghiên cứu rằng, xác suất lỗi xảy nhớ nhỏ vào khoảng 10−9 Để đảm bảo tính toàn vẹn liệu đọc từ nhớ, liệu cần phải xác nên cần phải phát lỗi xảy sửa chúng ECC dùng để kiểm soát liệu nhớ, nghiên cứu cho thấy khoảng 98% lỗi nhớ bit đơn [4], đó, mã Hamming nhiều nhà nghiên cứu lựa chọn lĩnh vực Trong đó, đề tài [5] trình bày thiết kế mã hóa giải mã Hamming(7,4) ngôn ngữ mô tả phần cứng VHDL, mã hóa thiết kế thơng qua phép nhân ma trận khối liệu với ma trận tạo, giải mã phát lỗi phương pháp liệt kê từ mã Đối với đề tài [6] [7], tác giả thiết kế hệ thống sử dụng mã Hamming, mã hóa giải mã sử dụng phương pháp chẵn lẻ, XORing bit liệu để tạo thành từ mã giải mã từ mã để khơi phục liệu Bên cạnh đó, đề tài [8], [9] thực việc tính tốn syndrome dựa vào bit kiểm tra để phát lỗi tạo mặt nạ sửa lỗi Tuy nhiên, thiết kế [8][9] chưa trình bày chi tiết sơ đồ khối thiết kế cịn đơn giản phát lỗi đơn Bên cạnh đó, đề tài đánh giá số bit nhỏ, mức bit không phù hợp với thực tế, 64 bit thiết kế module ECC chưa trình bày đánh giá cách chi tiết Do đó, để cải thiện hạn chế nêu trên, báo này, chúng tơi trình bày thiết kế đánh giá hiệu module ECC sử dụng mã Hamming có độ rộng bus liệu 64 bit với xác suất lỗi gần với thực tế 3.2 × 10−4 Cụ thể, module mở rộng độ rộng liệu lên 64 bit làm tăng hiệu suất đọc ghi nhanh gấp 16 lần so với thiết kế có độ rộng bit Ngồi ra, thiết kế có khả phát sửa lỗi bit đơn, phát lỗi bit xảy liệu nhằm tăng độ tin cậy hệ thống Phần lại báo tổ chức sau Phần giới thiệu thiết kế sơ đồ khối tổng quát thiết kế chi tiết khối mã hóa giải mã bên module ECC Phần trình bày kết tổng họp mạch mô để đánh giá hiệu module ECC thiết kế Cuối cùng, báo kết luận Phần Thiết kế module ECC dùng mã hóa Hamming Module ECC báo thiết kế sử dụng thuật tốn mã hóa Hamming mở rộng 𝐶𝐻𝑎𝑚𝑚𝑖𝑛𝑔 (72,64) bao gồm mã (71,64) Hamming bit parity mở rộng bổ sung Việc bổ sung thêm bit parity mở rộng có tác dụng phát phân biệt lỗi bit với lỗi bit nhằm tăng tính xác cho trình giải mã Hình trình bày giao diện ngõ vào/ngõ module ECC tổng quát Khi có liệu data_in ghi vào nhớ, n bit parity tính tốn tương ứng đưa tới ngõ parity_out Ở hướng ngược lại, đọc liệu, giải mã tiến hành tính tốn lại giá trị parity so sánh với parity liệu lưu trữ Thơng qua q trình so sánh, giải mã xác định vị trí lỗi sửa lỗi để trả data_out liệu thông tin gốc Trong trường hợp xảy lỗi sửa chữa, module trả tín hiệu error Hình Sơ đồ khối thể giao diện ngõ vào/ngõ module ECC JTE, Issue 71B, August 2022 20 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Sơ đồ khối module ECC Hình bao gồm bus liệu vào (data_in), tín hiệu thơng qua trình xử lý tạo liệu mã hóa gồm enc_out parity_out Các tín hiệu enc_out parity_out liệu lưu trữ nhớ Các chân dec_in parity_in tín hiệu liệu parity đọc từ nhớ, tín hiệu thơng qua q trình xử lý giải mã trả tín hiệu data_out error Chức chi tiết đường tín hiệu mơ tả Bảng Bảng Mơ tả chân tín hiệu module ECC Tên chân tín hiệu data_in rst clk dec_in parity_in enc_out parity_out data_out error Độ rộng (bit) 64 1 64 64 64 Loại Input Input Input Input Input Output Output Output Output Chức Dữ liệu Reset hệ thống Clock hệ thống Dữ liệu đọc từ nhớ đến giải mã Bộ bit kiểm tra đọc từ nhớ đến giải mã Dữ liệu mã hóa Bộ bit kiểm tra mã hóa Khơi phục liệu ban đầu Trạng thái lỗi Từ sơ đồ giao tiếp tổng qt phần trên, chúng tơi hình thành sơ đồ khối chi tiết Hình gồm khối Khối encoder có chức mã hóa liệu cách tiến hành tính tốn bit kiểm tra phép toán logic XORing theo thuật tốn mã hóa Hamming [10] Các chân tín hiệu chức tương ứng khối encoder trình bày Bảng Khối decoder có chức giải mã liệu từ tín hiệu dec_in parity_in từ nhớ Cụ thể, khối decoder thực tính tốn tương tự khối encoder thực phép toán logic XORing kết trình với bit parity_in tương ứng, kết cho liệu Syndrome theo giải thuật trình bày [10] Dữ liệu syndrome sau khối decoder tính toán xử lý trả kết tín hiệu data_out error với trạng thái tương ứng gồm lỗi đơn, lỗi kép, khơng có lỗi Các chân tín hiệu chức tương ứng khối decoder trình bày Bảng Bảng Mơ tả chân tín hiệu khối encoder Tên chân tín hiệu enc_data rst clk enc_out parity_out Độ rộng (bit) 64 1 64 Loại Input Input Input Output Output Chức Dữ liệu Reset hệ thống Clock hệ thống Dữ liệu mã hóa Bộ bit kiểm tra Bảng Mơ tả chân tín hiệu khối decoder Tên chân tín hiệu dec_data rst clk dec_out error JTE, Issue 71B, August 2022 Độ rộng (bit) 64 1 64 Loại Input Input Input Output Output Chức Dữ liệu đọc từ nhớ Reset hệ thống Clock hệ thống Dữ liệu giải mã Trạng thái lỗi dec_data 21 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Hình Sơ đồ khối chi tiết khối ECC Đánh giá chất lượng thiết kế 3.1 Tài nguyên logic sử dụng Thiết kế module ECC tổng hợp phần mềm Xilinx ISE 14.7, sử dụng chip Spartan6 XC6SLX16 với tài nguyên cần sử dụng tóm tắt Bảng Bảng Bảng Tài nguyên cần thiết cho khối encoder Tài nguyên Slice input LUTs Bonded IOBs GCLKs Sử dụng 43 72 138 Có sẵn 35840 71680 768 32 Tỉ lệ (%) 0.12 0.1 17 Bảng Tài nguyên cần thiết cho khối decoder Tài nguyên Slice input LUTs Bonded IOBs GCLKs Sử dụng 91 162 140 Có sẵn 35840 71680 768 32 Tỉ lệ (%) 0.25 0.23 18 Qua khảo sát tài nguyên logic cần sử dụng, thấy tài nguyên cần cho khối encoder khối decoder chiếm tỉ lệ so với tài nguyên sẵn có chip Spartan6 XC6SLX16, thiết kế số hồn tồn phù hợp với kit có tài ngun thấp Ngồi ra, tần số hoạt động tối đa cho encoder decoder tương ứng 952,38 MHz 192,45 MHz 3.2 Kết đánh giá qua mơ 3.2.1 Mơ hình mơ tóm tắt testcase Mơ hình mơ minh họa Hình khối data generator tạo chuỗi liệu kiểm tra ngẫu nhiên (bằng Matlab) đưa vào đơn vị thiết kế cần kiểm tra Chuỗi liệu kiểm tra bao gồm 32000 bit, lần ghi liệu 64 bit Khối error generator tạo lỗi ngẫu nhiên chuỗi 32000 bit, XOR với ngõ data generator để tạo liệu bị lỗi Bảng Bảng tóm tắt testcase để đánh giá chức encoder decoder thiết kế JTE, Issue 71B, August 2022 22 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE ISSN: 1859-1272 Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn Hình Sơ đồ khối mơ module ECC Khối encoder kiểm thử với ngõ vào có độ rộng 64 bit, ngõ liệu mã hóa thành đường tín hiệu: tín hiệu liệu tín hiệu bit kiểm tra Với bit parity_in tạo ra, kiểm chứng lại web Hamming code simulator [11] Bảng Bảng tóm tắt testcase encoder Nội dung Testcase kiểm tra ngõ encoder enc_out parity_out Chuỗi liệu có độ dài 64 bit, enc_data = X"0123456789ABCDEF", lặp lại 500 lần Testcase Tương tự testcase liệu enc_data thay đổi ngẫu nhiên (dữ liệu ngẫu nhiên) Chuỗi liệu có độ dài 64 bit, lặp lại 500 lần Hệ thống khối decoder kiểm thử với ngõ vào liệu bit kiểm tra mã hóa trước nhằm kiểm tra xem liệu có xác hay khơng, không tiến hành khắc phục lỗi Testcase Testcase (dữ liệu theo chuỗi) Bảng Bảng tóm tắt testcase decoder Testcase Nội dung Testcase 3A Dữ liệu ngõ vào decoder: (dữ liệu ngõ vào theo chuỗi – - Tương ứng với liệu ngõ encoder testcase tương ứng với testcase 1) - Giả sử xác suất lỗi nhớ 3.2 × 10−4 có bit bị lỗi Testcase 3B Dữ liệu ngõ vào decoder: (dữ liệu ngõ vào theo chuỗi – - Tương ứng với liệu ngõ encoder testcase tương ứng với Testcase 1) - Giả sử xác suất lỗi nhớ 3.2 × 10−4 có bit bị lỗi Testcase 4A Dữ liệu ngõ vào decoder: (dữ liệu ngõ vào ngẫu nhiên – - Tương ứng với liệu ngõ Encoder Testcase tương ứng với Testcase 2) - Giả sử xác suất lỗi nhớ 3.2 × 10−4 có bit bị lỗi Testcase 4B Dữ liệu ngõ vào decoder: (dữ liệu ngõ vào ngẫu nhiên – - Tương ứng với liệu ngõ Encoder Testcase tương ứng với Testcase 2) - Giả sử xác suất lỗi nhớ 3.2 × 10−4 có bit bị lỗi 3.2.2 Phân tích kết mô  Khối Encoder Testcase mô kết mã hóa tín hiệu đầu vào enc_data với chuỗi tuần tự, chuỗi có độ dài 64 bit lặp lại 500 lần Ngõ vào enc_data dạng chuỗi có độ dài 64 bit, có cạnh lên xung clk tín hiệu mã hóa cho giá trị ngõ enc_out parity_out thể Hình Giá trị parity_out hồn tồn xác cách kiểm tra lại Hamming code simulator [11] JTE, Issue 71B, August 2022 23 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE ISSN: 1859-1272 Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn Hình Dạng sóng tín hiệu testcase encoder Testcase mô kết mã hóa tín hiệu đầu vào enc_data ngẫu nhiên, chuỗi có độ dài 64 bit lặp lại 500 lần Khi có cạnh lên xung clk tín hiệu mã hóa cho giá trị ngõ enc_out parity_out trình bày Hình Giá trị parity_out hồn tồn xác cách kiểm tra lại Hamming code simulator [11] Hình Dạng sóng tín hiệu testcase encoder  Khối decoder Đối với Testcase 3A, kết Hình thời điểm 140ns đến 150ns có khối liệu 64 bit đưa vào bị sai, ngõ dec_out sửa lỗi sai đưa tín hiệu ban đầu Giá trị Syndrome bao gồm parity check (syndrome[7] giá trị syndrome tính theo mã (71,64) Hamming (syndrome[6:0]) Theo Hình 6, tín hiệu syndrome có giá trị “10001001”, giá trị syndrome[7] mức cho thấy xảy lỗi bit Bộ decoder dựa vào syndrome[6:0] để xác định vị trí xảy lỗi chuỗi liệu tạo mặt nạ sửa lỗi cho chuỗi liệu corrector dựa vào mặt nạ để sửa chuỗi liệu Ngõ error dựa vào syndrome trả trạng thái tương ứng ‘01’ (xảy lỗi đơn) Với Testcase 3B, trường hợp tín hiệu ngõ vào có lỗi ngẫu nhiên khối liệu Quan sát kết Hình 7, thời điểm 1490ns đến 1500ns có khối liệu 64 bit đưa vào bị sai, ngõ dec_out không sửa được module phát sửa lỗi bit cịn trường hợp lỗi bit khơng thể sửa Giá trị syndrome[6:0] khác chứng tỏ xảy lỗi parity bit syndrome[7] suy xảy lỗi kép Ngõ error lúc có giá trị ‘10’ tương ứng với trạng thái xảy lỗi nhiều bit Do mã Hamming thiết kế sửa lỗi đơn, decoder tạo mặt nạ liệu không sửa chữa Kết testcase 3B trình bày Hình phù hợp với lý thuyết trình bày Trong trường hợp testcase 3B, khối liệu phát lỗi lỗi không sửa JTE, Issue 71B, August 2022 24 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE ISSN: 1859-1272 Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn Hình Dạng sóng tín hiệu testcase 3A decoder Hình Dạng sóng tín hiệu testcase 3B decoder Trong Testcaes 4A, tín hiệu ngõ vào có lỗi ngẫu nhiên khối liệu Quan sát kết Hình ta thấy, thời điểm 780ns đến 790ns có khối liệu 64 bit đưa vào bị sai, ngõ dec_out sửa lỗi sai liệu data_out khôi phục ban đầu Tương tự testcase 3A, testcase xảy lỗi đơn đồng thời phát hiện, sửa chữa xác Trong Testcase 4B, tín hiệu ngõ vào có lỗi ngẫu nhiên khối liệu Như thể Hình 9, thời điểm 1210ns đến 1220ns có khối liệu 64 bit đưa vào bị sai, ngõ dec_out không sửa module phát sửa lỗi bit cịn trường hợp lỗi bit khơng sửa Kết mô cho thấy module giải mã hoạt động theo thiết kế xác định Hình Dạng sóng tín hiệu testcase 4A decoder JTE, Issue 71B, August 2022 25 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Hình Dạng sóng tín hiệu testcase 4B decoder Kết mô so với lý thuyết module ECC dựa mã Hamming thiết kế hoạt động xác, đáp ứng yêu cầu thiết kế Bảng so sánh kết mơ lý thuyết tóm tắt Bảng Bảng Bảng so sánh kết mô lý thuyết Testcase 3A 3B 4A 4B Lý thuyết Phát lỗi đơn sửa lỗi đơn Phát lỗi kép không sửa Phát lỗi đơn sửa lỗi đơn Phát lỗi kép không sửa Thực tế Phát lỗi đơn sửa lỗi đơn Phát lỗi kép không sửa Phát lỗi đơn sửa lỗi đơn Phát lỗi kép không sửa Đánh giá Chính xác Chính xác Chính xác Chính xác Bằng cách thực lặp lại Testcase 10 lần với lỗi bit tạo vị trí ngẫu nhiên với xác suất lỗi định tóm tắt Bảng 7, chúng tơi rút tỉ lệ phát lỗi module ECC thiết kế Bảng Bảng Bảng đánh giá kết mô Testcase 3A (1 lỗi) 3B (2 lỗi) 4A (1 lỗi) 4B (2 lỗi) Tỉ lệ phát lỗi 100% 100% 100% 100% Tỉ lệ sửa lỗi 100% 0% 100% 0% 3.3 Đánh giá công suất tiêu thụ Để đánh giá công suất tiêu thụ, thực tổng hợp công suất tiêu thụ với nhiều tần số khác phần mềm Xilinx Bảng 10 mô tả công suất tiêu thụ encoder với tần số 50, 100 150Mhz Công suất tiêu thụ mạch tổng công suất động dynamic công suất tĩnh quiescent Bảng 10 Công suất tiêu thụ encoder Tần số hoạt động (MHz) 50 100 150 JTE, Issue 71B, August 2022 Total (W) 1.015 1.019 1.024 Dynamic (W) 0.027 0.031 0.036 Quiescent (W) 0.988 0.988 0.988 26 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Bảng 11 mô tả công suất tiêu thụ decoder với tần số 50, 100 150Mhz Bảng 11 Công suất tiêu thụ decoder Tần số hoạt động (MHz) 50 100 150 Total (W) 1.063 1.068 1.073 Dynamic (W) 0.030 0.034 0.039 Quiescent (W) 1.034 1.034 1.034 Qua khảo sát thấy rằng, tần số hoạt động tác động đến công suất tiêu thụ mạch Khi tần số hoạt động tăng lên, làm cho công suất tiêu thụ tăng lên Kết luận Trong báo này, trình bày chi tiết thiết kế module ECC có độ rộng bus liệu 64 bit nhằm tăng độ tin cậy cho truy suất nhớ Module ECC thiết kế phát sửa lỗi bit đơn, phát lỗi bit Thiết kế module ECC phát triển thành IP để tích hợp vào hệ thống số lớn trình thiết kế vi mạch Bên cạnh đó, hầu hết thiết kế vi mạch trình bày chi tiết cơng khai, thiết kế module ECC báo xem tài liệu tham khảo cho việc học tập môn liên quan tới thiết kế vi mạch lý thuyết mã hóa truyền liệu Lời cám ơn Bài báo tài trợ kinh phí nghiên cứu năm 2022 trường Đại Học Sư phạm Kỹ thuật Thành Phố Hồ Chí Minh (mã số đề tài SV2022-28) TÀI LIỆU THAM KHẢO H Kwon, K Kim, D Jeon and K.-S Chung, “Reducing Refresh Overhead with In-DRAM Error Correction Codes”, 18th International SoC Design Conference (ISOCC), 2021, pp 211-214 S LIU, P Reviriego, J Guo, J HAN and F Lombardi, “Exploiting Asymmetry in eDRAM Errors for Redundancy-Free Error-Tolerant Design”, IEEE Transactions on Emerging Topics in Computing, vol 9, no 4, pp 2064-2075, Oct.-Dec 2021 K Lavery, “Discriminating Between Soft Errors and Hard Errors in RAM”, SPNA109, 2008 S Mueller, “Upgrading and Repairing PCs: Upgrading and Repairing”, Que Publishing, 2015 U S Sani and I H Shanono, “Design of (7, 4) Hamming Encoder and Decoder Using VHDL”, 1st International Engineering Conference, 2015 D Mokara, S Naidu and A K Gupta, “Design and Implementation of Hamming Code using VHDL & DSCH”, International Journal of Latest Engineering Research and Applications, vol 02, pp 33-40, 2017 A H Saleh, “Design of Hamming Code for 64 bit single Error Detection and Correction using VHDL”, Diyala Journal of Engineering Sciences, vol 08, no 03, pp 22-37, 2015 H Sharma and A Kumar, “Hamming Code for Error Detection and Corection using VHDL”, International Journal Of Engineering Research & Management Technology, vol 01, 2014 T Zhang and Q Ding, Design of (15, 11) Hamming Code Encoding and Decoding System Based on FPGA, Heilongjiang University, 2011 10 A B Forouzan, A C Coombs and S C Fegan, Data Communications and Networking, McGraw-Hill, 2001 11 J.Doyle, “Hamming Code Simulator”, University of Massachusetts, 1986 [Online] Available: http://www.ecs.umass.edu/ece/koren/FaultTolerantSystems/simulator/Hamming/HammingCodes.html Tran Do Hon Nhien is currently a student at the Ho Chi Minh City University of Technology and Education (HCMUTE), Vietnam His main research interests include wireless communication networks and FPGA-based designs for DSP applications JTE, Issue 71B, August 2022 27 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Vo Tan Thanh received his B.S degree from Ho Chi Minh City University of Technology and Education (HCMUTE), Vietnam, in 2022 His main research interests include wireless communication networks and FPGA-based designs for DSP applications Nguyen Thanh Khoa received his B.S degree from Ho Chi Minh City University of Technology and Education (HCMUTE), Vietnam, in 2022 His main research interests include wireless communication networks and FPGA-based designs for DSP applications Nguyen Quoc Thang is currently a student at the Ho Chi Minh City University of Technology and Education (HCMUTE), Vietnam His main research interests include wireless communication networks and FPGA-based designs for DSP applications Nguyen Van Thanh Loc received his B.S degree from Ho Chi Minh City University of Technology and Education (HCMUTE), Vietnam, in 2020 His main research interests include communication networks and applications of errorcontrol coding for wireless communications Huynh Hoang Ha received his MEng degree from Ho Chi Minh City University of Technology and Education (HCMUTE), Vietnam, in 2015 His main research interests include Embedded system and IoT system Nguyen Ngo Lam is currently a lecturer at the Faculty For High Quality Training, Ho Chi Minh City University of Technology and Education He received his Bachelor and Master degree in radio and electronics engineering from the Ho Chi Minh City University of Technology, Vietnam in 2000 and 2004 respectively His research interests include wireless communication, data communication, digital signal processing Do Duy Tan received his B.S degree from Ho Chi Minh City University of Technology (HCMUT), Vietnam, and M.S degree from Kumoh National Institute of Technology, Korea, in 2010 and 2013, respectively He received his Ph.D degree from Autonomous University of Barcelona, Spain, in 2019 He is currently with the Department of Computer and Communication Engineering, Ho Chi Minh City University of Technology and Education (HCMUTE) in Vietnam as an Assistant Professor His main research interests include real-time optimisation for resource allocation in wireless networks and coding applications for wireless communications JTE, Issue 71B, August 2022 28 S K L 0

Ngày đăng: 25/10/2023, 16:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w