Khóa luận tốt nghiệp kỹ thuật máy tính bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế riscv

Khóa luận tốt nghiệp kỹ thuật máy tính tập trung vào bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế RISC-V, ứng dụng trong kiểm thử phần cứng hiệu quả.

Chuyên ngành

Kỹ thuật Máy tính

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2021

77
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

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

1.1. Giới thiệu đề tài

1.2. Một số nghiên cứu liên quan

1.2.1. Tình hình nghiên cứu ngoài nước

1.2.2. Tình hình nghiên cứu trong nước

1.3. Mục tiêu đề tài

1.4. Bố cục Khóa luận

2. CHƯƠNG 2: SƠ LƯỢC VỀ KIẾN TRÚC TẬP LỆNH RISC-V

2.1. Kiến trúc tập lệnh cơ bản

2.2. Kiến trúc tập lệnh mở rộng

2.3. Hệ thống xác minh chức năng bộ xử lý

3. CHƯƠNG 3: THIẾT KẾ ĐỀ XUẤT

3.1. Thiết kế hệ thống

3.2. Thiết kế chi tiết

4. CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT KHÓA LUẬN

Tóm tắt

I. Giới thiệu đề tài

Khóa luận tốt nghiệp này tập trung vào phát triển bộ phát sinh kiểm tra ngẫu nhiên cho thiết kế RISC-V. RISC-V là một kiến trúc tập lệnh mở (Open-source ISA) dựa trên nguyên tắc của RISC (Reduced Instruction Set Computer). Đề tài nhằm tạo ra các testcases ngẫu nhiên để kiểm tra tính đúng đắn của bộ xử lý RISC-V. Bộ phát sinh kiểm tra ngẫu nhiên (RISC-V RTG) sẽ tạo ra các chương trình hợp ngữ để kiểm tra các lệnh và chức năng của bộ xử lý. Mục tiêu là đạt được độ bao phủ 90% theo các tiêu chí như lệnh, thanh ghi, và truy xuất bộ nhớ.

1.1. Động lực thực hiện đề tài

RISC-V đang thu hút sự quan tâm lớn từ cộng đồng khoa học và công nghiệp do tính mởlinh hoạt. Khác với các kiến trúc tập lệnh khác, RISC-V miễn phí và cho phép tùy chỉnh theo nhu cầu ứng dụng. Điều này giúp giảm chi phí thiết kế và tối ưu hóa bộ xử lý. Tuy nhiên, tại Việt Nam, nghiên cứu về bộ phát sinh kiểm tra ngẫu nhiên cho RISC-V còn rất hạn chế. Đề tài này nhằm đóng góp vào việc phát triển công cụ kiểm tra phần cứng, giúp Việt Nam bắt kịp xu hướng toàn cầu trong lĩnh vực thiết kế vi mạch.

II. Sơ lược về kiến trúc RISC V

Kiến trúc RISC-V được thiết kế theo mô-đun, cho phép linh hoạt trong việc lựa chọn tập lệnh phù hợp. Kiến trúc cơ bản RV32I bao gồm 47 lệnh, chia thành các nhóm như lệnh rẽ nhánh, lệnh nạp, lệnh lưu, và lệnh số học. Ngoài ra, RISC-V cung cấp các tập lệnh mở rộng như M (phép nhân chia), F (số thực dấu phẩy động), và C (nén mã máy). Kiến trúc RISC-V hỗ trợ đa dạng ứng dụng từ vi điều khiển đến máy tính cao cấp.

2.1. Kiến trúc tập lệnh cơ bản

Kiến trúc RV32I là nền tảng cơ bản của RISC-V, bao gồm các lệnh cơ bản như BEQ, BNE, LB, LH, và LW. Các lệnh này được chia thành 6 định dạng: R-TYPE, I-TYPE, S-TYPE, SB-TYPE, U-TYPE, và UJ-TYPE. Mỗi định dạng có cấu trúc và chức năng riêng, giúp tối ưu hóa việc thực thi lệnh. Kiến trúc RV32I đủ để thực hiện một bộ xử lý đơn giản, hỗ trợ đầy đủ cho phần mềm và trình biên dịch.

III. Thiết kế đề xuất

Thiết kế đề xuất của khóa luận tập trung vào việc phát triển bộ phát sinh kiểm tra ngẫu nhiên (RISC-V RTG). Hệ thống bao gồm các khối chức năng như Random Test Generator, Testbench Controller, và Coverage Monitor. RISC-V RTG sẽ tạo ra các testcases ngẫu nhiên, bao gồm các chương trình hợp ngữ với chuỗi lệnh có nghĩa và chuỗi lệnh phụ thuộc vào trọng số. Mục tiêu là kiểm tra tính đúng đắn của bộ xử lý và đạt được độ bao phủ cao.

3.1. Quy trình mô phỏng

Quy trình mô phỏng bao gồm việc sử dụng Instruction Set Simulator (ISS) để kiểm tra các testcases được tạo ra bởi RISC-V RTG. ISS sẽ mô phỏng việc thực thi các lệnh và đo lường độ bao phủ. Kết quả sẽ được so sánh với mục tiêu ban đầu và các nghiên cứu liên quan. Quy trình này giúp đánh giá hiệu quả của bộ phát sinh kiểm tra ngẫu nhiên và xác định các điểm cần cải thiện.

IV. Kết quả và đánh giá

Kết quả của khóa luận cho thấy RISC-V RTG đạt được độ bao phủ cao, đáp ứng các tiêu chí đặt ra. Các testcases được tạo ra đã kiểm tra được hầu hết các lệnh và chức năng của bộ xử lý RISC-V. So sánh với các nghiên cứu quốc tế, RISC-V RTG cho thấy hiệu quả tương đương trong việc tạo ra các testcases ngẫu nhiên. Kết quả này khẳng định giá trị thực tiễn của đề tài trong việc phát triển công cụ kiểm tra phần cứng.

4.1. So sánh với nghiên cứu liên quan

Kết quả của RISC-V RTG được so sánh với hai nghiên cứu quốc tế: nghiên cứu của Chupilko (2018) và Herdt (2020). Cả hai nghiên cứu đều tập trung vào việc tạo ra testcases ngẫu nhiên cho RISC-V. RISC-V RTG đạt được độ bao phủ tương đương, với 90% theo các tiêu chí đặt ra. Điều này cho thấy khả năng ứng dụng của bộ phát sinh kiểm tra ngẫu nhiên trong việc kiểm tra và xác minh bộ xử lý RISC-V.

V. Kết luận và hướng phát triển

Khóa luận tốt nghiệp đã thành công trong việc phát triển bộ phát sinh kiểm tra ngẫu nhiên cho thiết kế RISC-V. Kết quả cho thấy RISC-V RTG đạt được độ bao phủ cao và hiệu quả trong việc tạo ra các testcases ngẫu nhiên. Hướng phát triển tiếp theo bao gồm việc mở rộng bộ phát sinh kiểm tra ngẫu nhiên để hỗ trợ các tập lệnh mở rộng của RISC-V, cũng như tích hợp với các công cụ kiểm tra phần cứng khác để nâng cao hiệu quả kiểm tra.

5.1. Hướng phát triển tương lai

Trong tương lai, RISC-V RTG có thể được mở rộng để hỗ trợ các tập lệnh mở rộng như M, F, và C. Ngoài ra, việc tích hợp với các công cụ kiểm tra phần cứng khác như Formal Verification Tools sẽ giúp nâng cao hiệu quả kiểm tra. Đồng thời, việc phát triển các testcases phức tạp hơn sẽ giúp kiểm tra toàn diện hơn các chức năng của bộ xử lý RISC-V.

21/02/2025
Khóa luận tốt nghiệp kỹ thuật máy tính bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế riscv

Trích đoạn nội dung tài liệu

Chương 1. Giới thiệu đề tài. Giới thiệu đề tài. Một số nghiên cứu liên quan.

Tình hình nghiên cứu ngoải nước. _ Tình hình nghiên cứu trong nước. Mute co na. Bố cục Khóa luận.

ce 7 Chương 2. Sơ lược về kiến trúc tập lệnh RISC-V. Kiến trúc tập lệnh cơ bản.-----ccc+22ccvvscccce+rrrx 10 2. Kiến trúc tập lệnh mở rộng.

HH HH HH TH HH HH. Hệ thống xác minh chức năng bộ xử lý. Random Test GenerafOr. ¿5S Street 24 Chương 3.

Thiết kế đề xuất. Thiết kế hệ thống. Thiết kế chỉ tiẾt. Random Test Cen€TAfOT.

Mô phỏng và Đánh giá kết qua. Quy trình mô phỏng. Thống kê số liệu. So sánh kết quả.------22222222++t22E2EEYEEvrrrtEEEEEEvrrrrrrrrrrrrrrrrrrrrrrrrreg 62 Chương 5.

Kết luận và hướng phát trién. DANH MỤC HÌNH Hình 2.1: Hệ thống xác minh chức năng bộ xử lý.1: Thiét KE N6 ng 5NNNẠ7S5ổeaaa.2: Sơ dé thuật toán của bộ phát sinh chương trình kiểm tra ngẫu nhiên.3: Nội dung trong tép COH[ÏSHFđfÏOHH.4: Minh họa nội dung của 1 tescases với thông số “NumSequences Hình 3.5: Minh họa nội dung của 1 tescases với thông số “NumWeights”’.6: Sơ do thuật toán cua Assembler .7: Quy trinh cua giai doan Pre-Endcoding .8: Các bước thực thi chương trình AsseImbÏeF.- - - «se Ses++xscscee39 Hình 3.9: Minh họa cho tệp chương trình MG Há).1: Quy trình thực hiện của RISC-V RIG .2: Ví dụ minh hoa cho mỘt tép Configuaration .3: Ví dụ cho chương trình hợp ngữ là chuỗi lệnh có ý nghĩa.4: Ví dụ cho chương trình hợp ngữ là chuối lệnh phụ thuộc vào trọng số.5: Ví dụ cho nội dung của một tệp chương trình mã Imáy.6: Quy trình xác minh tính đúng đắn của RÑTG.7: Ví dụ về nội dung tiêu chí tính độ bao phủ cua RISC-V RTG.8: Ví dụ về nội dung tệp kết quả tính độ bao phú của RISC-V RTG.9: Biểu đồ thống kê phạm vi số lượng lệnh được tạo ra theo nhóm lệnh.10: Biểu đô thông kê chỉ tiết vé số lượng lệnh thuộc nhóm ALU được tạo .11: Biểu đô dé xác minh được tính ngẫu nhiên của RISC-V RTG.12: Biéu đô thống kê số lan sử dung thanh ghi của ba tệp tesfcases.13: Sơ đô thuật toán tính độ bao phủ của tiêu chí InstNuim .14: Nội dung của một mẫu thử nghiệm được tạo ra ngẫu nhiên.15: Biểu đô độ bao phủ của RISC-V RIG .1: Sơ đô hệ thống hướng phát triỄn .-cccccc5555ccccccvvxrsecrvverrrrreee 67 DANH MỤC BANG Bang 1.1: Những CPU RISC-V tiêu biểu [1] csscccsssssscsssssssesssssssessssssssssssssesssssssesesssvees 4 Bang 2.1: Bang các tập lệnh cơ sở và mở rộng của RISC-V.2: Phân loại các nhóm lệnh của tập lệnh RV32Ì.3: Dinh dạng lệnh của các lệnh RV321 ÏSA. 5+ c 5+c+csxsxe xce 12 Bảng 2.4: Cấu trúc của định dạng lệnh.5: Chức năng của nhóm lệnh rẽ nhánh Bảng 2.6: Chức năng của nhóm lệnh nạp.7: Chức năng của nhóm lệnh lưu.8: Chức năng cua nhóm lệnh số học và luận n1.9: Chức năng của nhóm lệnh số học và luận lý 2oeccsssssssssssseessssssesssssseesesssees 18 Bảng 2.10: Chức năng của nhóm lệnh số học và luận Ìý Ÿ.11: Chức năng của nhóm lệnh nhảy Bang 3.1: Cầu trúc dữ liêu, hàm và thư viện được sử dụng Bảng 3.2: Biểu diễn minh họa cho một nội dung tệp báo CáO.1: Vi dụ cho nội dung của một tệp DAO CAO.- + + ++sc+c+x+x+v+eeee 46 Bang 4.2: So sánh kết qua đạt được với hai công trình nghiên cứu đã có. 62 DANH MỤC TU VIET TAT Từ viết tắt Từ đầy đủ CPU Central Processing Unit ISA Instruction Set Architecture ISS Instruction Set Simulator RISC Reduced Instruction Set Computer RISC-V RTG RISC-V Random Test Generator SoC System on Chips TÓM TÁT KHÓA LUẬN RISC-V là một kiến trúc tập lệnh mở (Open-sourse ISA) được xây dựng dựa trên những nguyên tắc của kiến trúc tập lệnh RISC (được viết tắt từ Reduced Instruction Set Computer).

RISC-V đã và đang thu hút được sự phát triển và ứng dụng từ các nhà khoa học cũng như các công ty sử dụng vi xử lý trên thế giới. Kiến trúc tập lệnh này đem đến rất nhiều lợi ích quan trọng cho nền công nghiệp máy tính nói chung và sự phát triển của thiết kế vi mạch và phần cứng nói riêng, cũng như lôi kéo được nhiều ý tưởng sáng tạo thiết kế hơn, các thiết kế bộ vi xử lý có thể được trao đổi, tái sử dụng, dễ tối ưu hơn làm cho chỉ phí của bộ vi xử lý trở nên rẻ hơn và phù hợp với nhiều ứng dụng khác nhau. Dựa vào rất nhiều lợi ích quan trọng mà RISC-V đem lại, nhưng nhóm tìm hiểu thì nó lại rất mới tại Việt Nam và hiện nay chưa ghi nhận được công trình nghiên cứu nào liên quan đến Bộ phát sinh chương trình kiểm tra ngẫu nhiên. Đây cũng là lý do mà nhóm muốn thực hiện đề tài: “B6 phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế RISC-V”.

Thực hiện đề tại này nhóm mong muốn công trình nghiên cứu có thể góp một phần giúp Việt Nam bắt kịp với thế giới xu thế phát triển của thế giới trong lĩnh vực thiết kế vi mạch nói chung và thiết kế bộ vi xử lý RISC-V nói riêng. Trong đề tài này, kết quả nhóm muốn đạt được là tạo ra những tệp thử nghiệm. Tệp thử nghiệm thứ nhất là những chương trình hợp ngữ với những chuỗi lệnh có nghĩa dùng dé kiểm tra tính đúng đắn của bộ vi xử lý cho thiết RISC-V. Tệp thử nghiệm thứ hai là chương trình hợp ngữ có những chuỗi lệnh phụ thuộc vào những trọng số của nhóm lệnh với mục đích để kiểm tra các trường hợp mà người dùng mong muốn.

Ngoài ra nhóm đặt mục tiêu sẽ đạt được 90% độ bao phủ với những tiêu chí riêng ví dụ như lệnh, thanh ghi,. Để kiểm tra bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế RISC-V (RISC-V RTG) thì nhóm sẽ mô phỏng qua bộ ISS (Instruction Set Simualator). Đồng thời qua khối mô phỏng ISS này, nhóm sẽ nắm được độ bao phủ mà chương trình RISC-V RTG đạt được bao nhiêu phần trăm. Sau đó so sánh với mục tiêu ban đầu đã đặt ra.

Ngoài ra ở khóa luận này, nhóm sẽ so sánh kết quả tạo được với hai công trình nghiên cứu liên quan là những bài báo khoa học quốc tế được đăng tải trên các hội nghị uy tín. Giới thiệu đề tài 1. Giới thiệu đề tài Tên đề tài: Bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế RISC-V. Động lực thực hiện đề tài: RISC-V (phát âm là “risk-five”, RISC viết tắt từ Reduced Instruction Set Computer), là một kiến trúc tập lệnh, được xây dựng dựa trên những nguyên tắc của kiến trúc tập lệnh RISC, đã và đang thu hút được sự phát triển và ứng dụng từ các nhà khoa học cũng như các công ty sử dụng vi xử lý trên thế giới.

Trái ngược với hầu hết các kiến trúc tập lệnh khác, RISC-V hoàn toàn miễn phí cho bat kỳ mục đích sử dụng nào. Nó cho phép bắt kỳ ai có thé thiết kế, sản xuất và bán các sản phẩm phần cứng và phần mềm sử dụng RISC-V. Điều đó sẽ đem đến rất nhiều lợi ích quan trọng cho nền công nghiệp máy tính nói chung và sự phát triển của thiết kế vi mạch và phần cứng nói riêng, cũng như lôi kéo được nhiều ý tưởng sáng tạo thiết kế hơn, các thiết kế bộ vi xử lý có thể được trao đổi, tái sử dụng, dễ tối ưu hơn làm cho chi phí của bộ vi xử lý trở nên rẻ hơn và phù hợp với nhiều ứng dụng khác nhau. Ngoài ra, RISC-V còn có những mong muốn khác là tạo ra một kiến trúc tập lệnh tiêu chuẩn chung để có thể thống nhất và tái sử dụng phần mềm trên nhiều hệ thống khác nhau và 6n định trong vài chục năm thay vì sử dụng nhiều kiến trúc tập lệnh khác nhau trên cùng một hệ thống System on Chip (SoC) như trước đây.

Dé thực hiện điều đó, RISC-V cho phép mở rộng tập lệnh theo hướng phù hợp cho từng ứng dụng cụ thể, thông qua phân tập lệnh mở rộng (tiêu chuẩn hoặc do người thiết kế CPU tự định nghĩa). RISC-V được phát triển lần đầu tiên bởi Đại học California, Berkeley vào năm 2010. Cho đến nay đã có hàng chục bộ xử lý được phát triển dựa trên kiến trúc tập lệnh này nhắm vào nhiều mục đích ứng dụng và phân khúc khác nhau.1 trình bày một số sản phẩm CPU RISC-V tiêu biểu.1: Những CPU RISC-V tiêu biểu [1] RISC-V CPU | Nhà pháttriển | Kiến trúc tập lệnh | Sản phẩm mục tiêu Máy tính, thiết bị cá Rocket/BOOM| Đại học California | RV64G nhân ORCA Vector Blox RV32IM FGPA Sodor Dai hoc California | RV32I Education SCRI Syntacore RV32I/E[MC] Vi điều khiển/IoT PICORV32 Clifford Wolf RV32IMC Vi điều khiên/IoT Z-Scale Đại học Berkeley | RV32IM Vi điều khiển/IoT ETH Zurich & Đại 5. RISCY RV32IMC[F]X Vi điều khiển/IoT học Bologna Việc đề xuất và hiện thực một kiến trúc tập lệnh mới đề có thể sử dụng được là rất tốn kém.

Bởi vì những người thiết kế máy tính thường không đủ khả năng tài chính để làm việc miễn phí và việc phát triển vi xử lý dựa trên kiến trúc tập lệnh mới còn đòi hỏi chuyên môn, kinh nghiệm thiết kế rất cao cần nhiều chuyên ngành như điện tử kỹ thuật số, trình biên dịch, hệ điều hành, kỹ thuật phần mém,. Ngoài ra cần có các công cụ đề mô phỏng, kiểm tra chất lượng, kiểm thử chức năng, tông hợp ra các mạch điện tử và đo lường các thông số về tiêu tốn năng lượng của thiết kế. Các công nghệ này cần phải mua bản quyền và cũng rất tốn kém. Vì vậy, khó tìm được một đội thiết kế độc lập nào bên ngoài các công ty thiết kế vi xử lý chuyên nghiệp (như ARM, Intel, IBM, MIPS, .) để đứng ra xây dựng kiến trúc tập lệnh mới như RISC-V.

Do đó việc đóng góp của rất nhiều thành viên đến từ cộng đồng sử dụng RISC-V mang ý nghĩa quyết định đến sự thành công của kiến trúc tập lệnh mới này. Đó cũng là một trong những ý nghĩa mà Khóa luận này muốn hướng đến, đó là tham gia vào tìm biểu, sử dụng, thiết kế, kiểm định và đánh giá sản phẩm liên quan đến kiến trúc tập lệnh RISC-V. Do đó, khóa luận này muốn thiết kế ra bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế RISC-V (viết tắt là RISC-V RTG) với mục đích tạo ra các testcases là các chương trình hợp ngữ nhằm kiểm tra tính đúng đắn kiến trúc tập lệnh của bộ vi xử lý. Một số nghiên cứu liên quan 1.

Tình hình nghiên cứu ngoài nước - Năm 2018 Chupilko và các cộng sự công bố nghiên cứu về bộ tạo chương trình kiểm tra cho tập lệnh RISC-V dựa trên nền tảng MicroTESK [2].

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Chào bạn,

Khóa luận tốt nghiệp "Phát Triển Bộ Phát Sinh Kiểm Tra Ngẫu Nhiên Cho Thiết Kế RISC-V" tập trung vào việc xây dựng một công cụ tự động tạo ra các trường hợp kiểm tra ngẫu nhiên (test cases) cho các thiết kế bộ xử lý RISC-V. Điều này giúp các kỹ sư kiểm thử phần cứng có thể nhanh chóng và hiệu quả xác minh tính đúng đắn của thiết kế, giảm thiểu lỗi và rút ngắn thời gian phát triển. Khóa luận này đặc biệt hữu ích cho những ai quan tâm đến lĩnh vực kiểm thử phần cứng, thiết kế bộ xử lý, và kiến trúc RISC-V.

Nếu bạn quan tâm đến việc ứng dụng công nghệ thông tin trong việc xây dựng và đánh giá phần mềm, bạn có thể tham khảo thêm luận văn thạc sĩ "Luận văn thạc sĩ sử dụng công nghệ thông tin để đánh giá và xây dựng phần mềm kiểm tra hệ thống bài tập trắc nghiệm khách quan phần hóa cơ sở góp phần nâng cao năng lực tự học của học sinh chuyên hóa". Mặc dù tập trung vào lĩnh vực giáo dục và hóa học, luận văn này cũng cung cấp những góc nhìn thú vị về cách sử dụng công nghệ để tự động hóa quy trình kiểm tra và đánh giá, một khía cạnh quan trọng trong cả phần cứng và phần mềm.