ĐẠI HOC QUOC GIA TP. HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA KY THUAT MAY TINH NGUYEN BA VĂN - 17521248 KHOA LUAN TOT NGHIEP NGHIEN CUU PHAT TRIEN BO KIEM TRA DANH GIA HE THONG RISC-V CORE RESEARCH AND DEVELOPMENT A TEST AND EVALUATION SUITE FOR RISC-V CORE SYSTEM KY SU NGANH KY THUAT MAY TINH GIANG VIEN HUONG DAN Ts. NGUYEN MINH SON TP. HO CHI MINH, 2024 THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 662/QD-DHCNTT ngày 05 thang 07 năm 2024 của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
LỜI CẢM ƠN Trước hết, lời đầu tiên em xin được cảm ơn chân thành nhất Tiến sĩ Nguyễn Minh Sơn người đã chỉ dẫn, động viên và hỗ trợ em suốt quá trình nghiên cứu và hoàn thành khóa luận này. Với sự tận tâm, kiên nhẫn và những góp ý quý báu của Thay đã giúp đỡ và hỗ trợ em rất nhiều trong quá trình thực hiện khóa luận. Em cũng xin gửi lời cảm ơn của mình đến toàn thé thầy cô thân yêu trường Đại học Công nghệ Thông tin — Đại học Quốc gia Thành phố Hồ Chí Minh, đặc biệt là quý thầy cô khoa Kỹ thuật Máy tính, những người đã dạy dỗ và truyền đạt được cho em những kiến thức, kỹ năng và tạo điều kiện thuận lợi cho em trong thời gian học tập vừa qua. Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của sinh viên nên trong báo cáo này chúng em không thể tránh khỏi những thiếu sót.
Em rất mong nhận được nhiều sự góp ý, nhận xét của quý thầy cô. Một lân nữa em xin chân thành cảm ơn! TP. Hồ Chí Minh, ngày 20 tháng 06 năm 2024 Sinh viên thực hiện Nguyễn Bá Văn MỤC LỤC CHƯƠNG1._ GIỚI THIỆU ĐỀ TÀI. Tổng quan đề tài.
_ Các dự án phát triển ở nước ngoài. So lược các dự án nghiên cứu ngoài hƯỚC. Mục tiêu khóa luận.--c-csccsccs+tsrtererrterttrrrrtkrrkrrkrrkersrrrkrrkrrsrrsrkrrerrk 6 I5 Mure ti@u noo 0o sẽ. Chỉ tiết về mục tiêu của khóa luận.
Phuong pháp thực hiện khóa luận.---«--«c©c«e+xereererrerxrerererkree 7 CHƯƠNG2. TONG HỢP LÝ THUYẾT. GiGi thiệu về kiến trúc RISC-V. Tap lệnh cơ bản RV32I.
Tap lệnh mở rộng của RISC-V. RISC-V RV22IL. Hệ thống xác minh chức năng bộ xử lý. Random Test Ge€neTafOT.e--ss«cs+xrEktrEkrEkirkkitkrirtietrirrkirerree 21 2.
Coverage MONI(OT. Instruction Set Simulator oc ssesssessssessseessessssesseessseessessseesssersnsessseesssessseesane 22 2. Tổng quan thiết kế hệ thống. Tổng quan về hệ thống.
Các khối chức năng có trong hệ thống.-c-«-ccxecktrkirthHh te riet 28 3. Instruction Set SimulafOr.-ssccscs+cse+teeskketsrsrtersrtrtsrtetsrkrkrrrsrrsrsrrsrsrerrsre 30 3. COMP-RUNDMEL oon. eeeeeseessessesseessesseeseeseeseeseeneeneeatesseeneeseeatesseeneeneeateatesseeneeateatenesseeass 32 CHƯƠNG 4.
QUY TRINH MO PHONG VA DANH GIÁ KET QUẢ. Quy trình mô phỏng cho hệ thống đánh giá kiểm tra RISC-V. So sánh và đánh giá kết quả.----s2-+ceetreeeerreeerrrrvrrrrrrrrrerrrree 41 CHƯƠNG 5. KET LUẬN VÀ HƯỚNG PHÁT TRIỂN.
Hướng phát triGtr.ccesssssssssessssssessssosessssssssssssssssssssssasssesssssssssssessassssssnsnsessasseeen 56 DANH MỤC HÌNH Hình 1.1 Hệ thống xác minh chức năng bộ xử lý.-- 2-2 2 2+ 2+£z+szz£+xze: 4 Hình 2.1 Cấu trúc tap lénh RISC V .1 Thiết kế kiến trúc hệ thống.----:- ¿2£ ©2+2©++£+++£x++Ex+zrxrzrxrrreee 25 Hình 3.3 Minh họa cho chương trình tệp mã MAY .4 So đồ hoạt động của khối ISS .--- 2 2 2 + £+E++E£EE+EzEezrzrezreee 30 Hình 3.5 Sơ đồ tong quát RTL Simulation.6 Sơ đồ tổng quát của Comp-Runner.1 Quá trình mô phỏng và kiểm tra, đánh giá.---2--2-¿©csz+cxz+5s+2 33 Hình 4.2 Tép chương trình thực tH1.3 Thực thi từng dòng lệnh mã máy bằng bộ mô phỏng ISS .4 Giá trị thanh ghi sau khi chạy ISS.5 Giá trị bộ nhớ sau khi chạy ISS .6 Giá trị độ bao phủ sau khi chạy ISS.7 Kết quả thực thi của bộ mô phỏng RTL.8 Giá trị thanh ghi sau khi thực hiện mô phỏng RTL Simulation.9 Giá trị bộ nhớ sau khi thực hiện mô phỏng RTL Simulation .10 Độ bao phủ sau khi thực hiện mô phỏng RTL.11 Tệp nhật ký đưa ra so sánh giữa ISS,RTL cùng với đánh giá thiết ké.12 Cửa số Coverage Monitor đưa ra kết quả đánh giá thiết kế 1.13 Cửa số Coverage Monitor đưa ra kết quả đánh giá thiết kế 2.14 Tép tập hợp các lệnh dé thực hiện kiểm tra.15 Giá tri của tệp thanh ghi sau khi chạy mô phỏng ISS.16 Giá tri của bộ nhớ sau khi mô phỏng ISS .17 Các lệnh được thực hiện sau quá trình mô phỏng ISS.18 Giá tri của tệp thanh ghi sau khi chạy RTL simulation .19 Giá trị của bộ nhớ sau khi chạy mô phỏng RTÌL.20 Các lệnh được thực hiện sau quá trình mô phỏng R'TL.21 Kiểm tra chéo kết quả với trình mô phỏng phan cứng Vivado.22 Giá trị của tệp thanh ghi sau khi chạy mô phỏng bằng Vivado.23 Mô phỏng các lệnh thông qua phần mềm RISCV Interpreter 1.24 Mô phỏng các lệnh thông qua phần mềm RISCV Interpreter 2.25 Giá trị của bộ nhớ thông qua phần mềm mô phỏng RISC V Interpreter.26 Giá trị thanh ghi thông qua mô phỏng RISC V Interpreter. 54 DANH MỤC BANG Bang 1.1 Những dự án dựa trên kiến trúc CPU RISC-V.-2- 2 2+cz+sz+£+xz+: 3 Bang 1.2 Các lệnh cơ bản của kiến trúc R'V321.1 Bảng các tập lệnh co bản và mở rộng của RISC-V .2 Bảng miêu tả các lệnh của tập lệnh R V321 .----5- << ++<++sex+sss2 10 Bang 2.4 Các lệnh lấy dit liệu từ bộ nhớ vào thanh ghi.5 Các lệnh có chức năng lưu dữ liệu vào bộ nhớ .6 Các lệnh có chức năng tính toán Ì.7Các lệnh có chức năng tính toán 2.8 Các lệnh có chức năng nhay. eee eecesseeseceeceeeeseeeseeececeeeeeseeeeeseeseees 20 Bảng 3.1 Nội dung của tệp cấu hình đánh giá hệ thống.1 So sánh hệ thống với bộ mô phỏng khác.2 So sánh bộ mô phỏng ISS với bộ mô phỏng khác.- --«--s«<+ 43 DANH MỤC TU VIET TAT Tir viét tat Mô tả RISC Reduced Instruction Set Computer ISS Instruction Set Simulator RTG Random Test Generation RV32I RISC-V 32 Integer ISA Instruction Set Architecture RVCoTS RISC-V Co-Simulation Test Suite RTL Register Transfer Level TÓM TẮT KHÓA LUẬN RISC-V (Reduced Instruction Set Computer V) [10] là một kiến trúc tập lệnh mở và miễn phí, dựa trên thiết kế RISC. Ra đời từ 2010, RISC V nhanh chóng thu hút được nhiều sự chú ý từ cộng đồng.
Với sự linh hoạt và hiệu quả trong thiết kế phan cứng và phần mềm, RISC-V đã trở thành một nền tảng phổ biến cho các ứng dụng đa dạng. Tập lệnh RV32I, một phan quan trọng của RISC-V, cung cấp nền tảng cơ bản cho các bộ xử lý 32-bit, mang lại hiệu năng cao và thiết kế đơn giản. Khóa luận này trình bày việc phát triển một hệ thống đánh giá thiết kế cho kiến trúc RISC-V với tập lệnh RV32I. "RISC-V Co-Simulator Test Suite" (RVCoTS) tập trung vào việc phát triển một hệ thống tự động hóa thử nghiệm và đánh giá các thiết kế hệ thống dựa trên kiến trúc RISC-V.
RVCoTS được thiết kế để tạo ra các mẫu thử thực hiện các tiêu chí đầu vào từ người dùng và tự động mô phỏng chúng thông qua sự kết hợp giữa phần mềm mô phỏng ISS (Instruction Set Simulator) và mô phỏng phần cứng RTL (Register-Transfer Level). Sau đó, RVCoTS cung cấp một quy trình đánh giá tự động để đánh giá hiệu suất và độ tin cậy của thiết kế hệ thống RISC-V. Ngoài ra, để đánh giá hiệu quả và tính đúng đắn của hệ thống, nhóm đã tiến hành so sánh kết quả của nó với bộ mô phỏng RISC-V Interpreter và kết quả mô phỏng phần cứng từ Vivado. Kết quả cho thấy hệ thống của chúng tôi không chỉ đơn giản hóa quá trình kiểm tra và phát triển các bộ xử lý RISC-V RV32I mà còn đạt được độ chính xác cao và hiệu quả trong việc xác minh thiết kế, phù hợp với các tiêu chuân kiêm tra và mô phỏng hiện tại.
GIỚI THIỆU DE TÀI 1. Tổng quan đề tài Tên đề tài: Nghiên cứu phát triển bộ kiểm tra đánh giá hệ thống RISC-V Core Động lực thực hiện đề tài: Kiến trúc RISC-V, với tính mở và miễn phí, đã tạo ra nhiều cơ hội và sự phát triển cho cộng đồng vi mạch có thé phát triển và tối ưu phần cứng. Tuy nhiên, quá trình kiểm tra và xác minh thiết kế RISC-V vẫn đối mặt với nhiều khó khăn, thử thách, đặc biệt là trong việc đảm bảo độ chính xác và hiệu quả của các thiết kế xử lý sử dụng tập lệnh RV32I. Các công cụ và phương pháp hiện tại thường yêu cầu sự kết hợp giữa nhiều hệ thống và môi trường khác nhau, dẫn đến việc phức tạp hóa quy trình phát triển và kiểm tra.
Nhận thay đây là một trong những nhu cầu cấp quan trọng về một hệ thong đánh giá thiết kế đơn giản, hiệu quả va đáng tin cậy cho RISC-V RV32I, chúng tôi xác định phát triển một giải pháp tích hợp, sử dụng mô phỏng phần mềm và phần cứng thông qua Python và thư viện cocotb[12]. Động lực chính của đề khóa luận nàylà tạo ra một công cụ có thé tự động hóa quá trình kiểm tra, giảm thiểu sai sót và mô phỏng trong quá trình thiết kế bộ xử lý. Bằng cách kết hợp mô phỏng phần mềm độc lập phần cứng và mô phỏng phần cứng Verilog. Nhờ có hệ thống này, việc phát triển và kiểm tra các thiết kế RISC-V trở nên đơn giản và hiệu quả hơn, đồng thời đảm bảo độ chính xác và tin cậy trong quá trình xác minh.
Việc này không chỉ khuyến khích cộng đồng phát triển kiến trúc RISC-V mà còn góp phần đáng ké nâng cao hiệu quả và tốc độ của các bộ xử lý sử dụng tập lệnh RV32I.1 Những dự án dựa trên kiến trúc CPU RISC-V Tên CPU Nhà phát triển Kiến trúc Sản phẩm SiFive HiFive Unleashed Freedom U540 | SiFive RV64-bit Development Board [13] Espressif ESP32-C3 Wi-Fi & ESP32-C3 Espressif Systems | RV32IM Bluetooth SoC [14] HiFive HiFive Unmatched Unmatched SiFive RV 64-bit Development Board [13] Western Digital SweRV | Western Digital RV32IMC SweRV Core EH1 [15] Bị thu hút bởi sự độc đáo của hệ thống đánh giá thiết kế RISC-V tại Việt Nam, nhóm nghiên cứu thực hiện nghiên cứu trong bài luận này nhằm góp phần thúc đây sự phát triển của kiến trúc RISC-V trong nước và cộng đồng RISC-V. Trong dự án này, nhóm tiếp tục phát triển hệ thống xác minh thiết kế RISC-V dựa trên mô hình đã được thiết kế, bao gồm các thành phần chính như RISC-V RTG, Testbench Controller, RTL Simulation, Comp-runner và Coverage Monitor. Ề Testbench RISC-V RTG Controller Hình 1.1 Hệ thống xác minh chức năng bộ xử lý. Khái quát về hệ thống gồm: e Random Testcase Generator (RTG): Đây là phần mềm chủ yếu dùng dé kiểm tra tính năng của bộ xử lý.
RTG tạo ra các testcase bằng cách ngẫu nhiên lựa chọn các lệnh, thanh ghi, địa chỉ va hợp ngữ dé kiểm tra kiến trúc tập. e Testbench Controller: Là khối quản lý việc thực thi các testcase trong cả mô phỏng Instruction Set Simulator (SS) và RTL Simulation. Nó khởi dau bang việc chạy các testcase được sinh ra bởi RTG trên ISS.