TÓM TẮT KHÓA LUẬNNội dung chính của luận văn xoay quanh việc tìm hiểu nghiên cứu và thiết kế bộ xử lý RISC-V cũng như khối Floating point, các số dấu cham động được chuyểnđổi dựa vào chu
Các IP của Xilinx trong thiết kế Block Design
3.3.2.1 IP Microblaze giao tiếp với memory microblaze_ 0 microblaze_0_local_memory
M_AXI_DP -E|:› LMB_Clk Reset
Khối IP Microblaze kết nối với bộ nhớ cục bộ (Local memory) thông qua bộ nhớ BRAM, được giao tiếp qua bus LMB (Local Memory Bus) với hai tín hiệu chính.
ILMB: Instruction interface, Local Memory Bus: giao tiếp lệnh theo chuẩn bus
LMB, chỉ dùng cho giao tiếp BRAM.
DLMB: Data interface, Local Memory Bus: giao tiếp dữ liệu theo chuẩn bus
LMB, chi dùng cho giao tiếp BRAM.
3.3.2.2 IP AXI UART Lite axi_uartlite_0O
AXI Uart Lite là giải pháp giao tiếp ánh xạ bộ nhớ với thông lượng thấp, cho phép thực hiện trao đổi dữ liệu từng giá trị một trong mỗi lần thực hiện Dữ liệu có thể di chuyển đồng thời theo cả hai hướng giữa Master và Slave, với kích thước dữ liệu khác nhau Như hình 3.14, giá trị được nạp vào bus S_AXI và xuất ra thông qua bus UART.
Kết quả đánh giá và kiểm định . 2-2 s++2++2zx+zzxvzzxezrxez 59 4.1 Kết quả độ chính xác của khối FPU 2 2 2 22 2+E++E++E++E+zxezxeee 59 4.2 Kết quả mô phỏng của khối RISC-V trên phần mềm ModelSim
Trường hợp kiểm định l - 2-5 s+£+££+£++E+rzrerrrreres 60 4.2.2 Trường hợp kiểm định 2 . - ¿+22 <+++E++E£+EE+EEEEEzEzErrsrreres 61 4.2.3 Kết quả sau khi Synthesis và Implement trên phan mềm Vivado
0a43031b addi t1,t1,164 3b63839b addi t2,t2,950 f00300d3 fmv.w.x ft1,t1 f0038153 fmv.w.x ft2,t2 1820f1d3 fdiv.s ft3,ft1,ft2
Hình 4.4 Tập lệnh của trường hợp kiểm định 1
Hình 4.5 trình bày kết quả mô phỏng lệnh nạp của trường hop 1 Lệnh ADDI được thực hiện để cộng 2 giá trị, sau đó đưa giá trị vào 2 thanh ghi REG FILE chứa các số nguyên 2 Kết quả sẽ được lưu vào 2 thanh ghi tạm, cụ thể là thanh ghi t1 và thanh ghi t2, do việc thực hiện chuyển đổi từ thanh ghi nguồn sang thanh ghi đích trong cả 2 phép toán.
Hình 4.6 Kết quả mô phỏng phép toán cộng số nguyên
FMV: Ta thực hiện lệnh move dé chuyên 2 thanh ghi giá trị số nguyên khi ta vừa cộng vào đề đưa vào thanh ghi số dấu chấm động.
44 [Testbench/RV32IF_top_Inst/Datapath_Inst0/FP_RegisterFile_I 7 3200000000
3-44 /Testbench/RV32IF_top_Inst/Datapath_Inst0/FP_RegisterFile_I ví 3200000000
Hình 4.7 Kết qua mô phỏng lệnh di chuyền thanh ghi
FDIV: Chia hai số dấu chấm động sau khi chuyển đổi giá trị từ thanh ghi số nguyên sang thanh ghi số dấu chấm động Việc thực hiện phép chia số dấu chấm động sẽ mất 30 chu kỳ để nạp và cho ra kết quả.
Khởi tao input A là 41e20000 (28.25) va input B là c0ae1000
41620337 lui t1,0x41457 cũae13h7 lui t2,0xcOael f00300d3 fmv.w.x = ft1,t1
0038153 fmv.w.x T(2,12 282081d3 fmax.s Tt3,ft1,ft2 282091d3 fmin.s ft3, ft, ft?
08201253 fsub.s ft4,ft1,ft2 1020f2d3 fmul.s ft5, ft1, ft?
2001843 fmv.x.w s1,ft3 e00289d3 {mv.xw_ s3,ft5
Hình 4.9 Tập lệnh của trường hợp kiểm định 2
After comparing FMIN/EMAX, the WB will return the results to the register bench RVSZIF_top_InstDatapath_InstO/FP_RegisterFie_InstO/out_data_A nch/V32iF_top_InstDatapath_Inst)/FP_Registerrie_InstOjout data 6.
Kết quả mô phỏng các lệnh so sánh trên số dấu chấm động cho thấy kết quả FADD đạt được là 41b67bff (22.810) và kết quả FMUL cũng trên số dấu chấm động với giá trị c319aa20.
/RV32IF_top_Inst/Datapath_Inst0)FP_RegisterFle_inst
Hình 4 11 Kết quả mô phỏng phép toán nhân và cộng trên số dau cham động
Lệnh FMV được sử dụng để chuyển giá trị từ thanh ghi số dấu chấm động sang thanh ghi số nguyên Sau khi hoàn tất lệnh move, chúng ta có thể tiếp tục sử dụng các thanh ghi số dấu chấm động để thực hiện các phép toán khác Trong phép FSUB, kết quả thu được là 4206c200 (33.689), như thể hiện trong hình 4.9 dưới đây.
[Testbench/DM_wr_en fTestbench/done_load_inst
‘x .bench/RV32IF_top_Inst/Datapath_Inst0/FP_RecisterFile_InstO/out_dat
1 ô bench/RV32IF_top_Inst/Datapath_Inst0/FP_RegisterFile_Inst0/out_dat }32h00000000
Hình 4.12 Kết quả mô phỏng phép toán trừ số dấu cham động
4.2.3 Kết quả sau khi Synthesis và Implement trên phần mềm Vivado
The analysis reveals a Worst Negative Slack (WNS) of 0.970 ns, a Worst Hold Slack (WHS) of 0.088 ns, and a Worst Pulse Width Slack (WPWS) of 4.358 ns Notably, the Total Negative Slack (TNS), Total Hold Slack (THS), and Total Pulse Width Negative Slack (TPWS) all measure 0.000 ns Importantly, there are no failing endpoints reported in this evaluation, indicating robust performance across all metrics.
Total Number of Endpoints: 10778 Total Number of Endpoints: 10776 Total Number of Endpoints: 7015 Alluser specified timing constraints are met.
The frequency will be generated in the specified XDC file located in the constraints folder, determining the system's frequency With this constraint, the clock period is set to 10.000 ns, with a rise time of 0 ns and a fall time occurring after 5.000 ns.
Q + * — KEM X / 8 Q9 l1 ¡ create clock -period 10.000 -name Clk -waveform {0.000 5.000} [get_ports Clk]
Tcl Console Messages Log Reports | Design Runs DRC Methodology Power Timing š €£$ 4Q = = Clock Summary
General Information ^ Name Waveform Period(ns) Frequency (MHz) Timer Settings Clik {0.000 5.000} 10.000 100.000
Design Timing Summary Clock Summary (1)
Inter-Clock Paths > Other Path Grnuns_ - - 1<
Power analysis from Implemented netlist Activity On-Chip Power derived from constraints files, simulation files or vectorless analysis {| Dynamic: 0.214W (47%)
Total On-Chip Power: 0.457 W [ Clocks: 0.023W (11%)
Design Power Budget: Not Specified [ | Signals: 0.064W (30%)
Power Budget Margin: NIA i vo: 0.078W (36%)
Power supplied to off-chip devices: OW
Launch Power Constraint Advisor to find and fix invalid switching activity
Utilization Post-Synthesis | _Post-Implementation
Resource Utilization Available Utilization % LUT 6759 303600 2.23 LUTRAM 40 130800 0.03
So sánh kết quả với các đề tài nghiên cứu về bộ nhân Vedic
Nghiên cứu này ứng dụng thuật toán Vedic trong khối nhân của dấu chấm động, với kết quả so sánh trên FPGA Virtex 707 được trình bày trong bảng 4.3 Nghiên cứu [11] cho thấy sự kết hợp giữa bộ cộng và DSP dẫn đến tiêu thụ năng lượng cao hơn, trong khi thuật toán Vedic không sử dụng DSP để tối ưu hóa tốc độ tính toán Nghiên cứu [12] là một trong những nghiên cứu đầu tiên áp dụng Vedic cho tính toán số dấu chấm động, nhưng chưa tối ưu về tốc độ và tài nguyên Nghiên cứu [14] kết hợp hai thuật toán Karatsuba và Urdhva-Tiryagbhyam nhằm giảm đáng kể thời gian delay Nghiên cứu [13] tập trung vào khối nhân Vedic 3x3, cho phép tính toán song song Đề xuất của luận văn sử dụng khối nền tảng 2x2, tuy nhiên thiết kế này tiêu tốn nhiều tài nguyên hơn và việc sử dụng KSA cho bộ cộng số mũ chưa được tối ưu, dẫn đến hiệu suất chưa đạt yêu cầu so với nghiên cứu [13].
Luận | Floating- 32 piece An green Design of văn | Point Floating Floating Vedic
Single- factor Vedic | €lement IEEE 754 Precision | Multiplier[12] | Multiplier Floating Fused layout for point
Multiplier- excessive pace | Multiplie[13] adder Unit packages the on use of
Karatsuba set of rules and Urdhva
Bang 4.1 So sánh kết quả của khối nhân số cham động