Lập trình các bộ cộng, trừ, nhân, chia, căn bậc n, lũy thừa bậc n sử dụng code verilog (có đính kèm code) MÔ PHỎNG TRÊN MODELSIM sử dụng các giải thuật CSA, CPL, CRA, vedic sub- division
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
-* -KỸ THUẬT SỐ NÂNG CAO
BÁO CÁO BÀI TẬP LỚN
GVHD: TRẦN HOÀNG LINH
Trang 2TP.HCM, ngày 15 tháng 12 năm 2019
MỤC LỤC
NỘI DUNG 5
Chương 1: Các Bộ Dùng Chung 5
1 Bộ Normalize 5
2 Bộ Mux 6
3 Bộ Shift Right 7
4 Bộ Shift Left 8
5 Bộ Check_input 9
6 Bộ Find Bit1 10
Chương 2:Bộ Cộng Trừ 11
1 Giải thuật CLA 11
2 Giải thuật RCA 12
3 Bộ tổng quát 13
4 Các module nhỏ 14
5 Kết quả mô phỏng 17
Chương 3: Bộ Nhân 18
1 Giải thuật Double 18
2 Giải thuật vedic 20
3 Bộ tổng quát 23
4 Các module nhỏ 24
5 Kết quả mô phỏng 25
Chương 4:Bộ Chia 26
1 Lưu đồ giải thuật Restoring-Division 26
2 Khối chính 27
3 Khối module thành phần 28
4 Kết quả mô phỏng 32
Chương 5: Bộ FPAU 33
1 Mô hình 33
2 Kết quả chạy mô phỏng 34
Chương 6 : Bộ Lũy Thừa 35
2 | P a g e
Trang 31 Module tổng quát 35
2 Module Element_N 36
3 Module Element_4 37
4 Result_Ex 38
5 Kết quả mô phỏng 39
Chương 7: Bộ Căn bậc 2 40
1 Module tổng quát 40
2 Module Rs_Element 41
3 Module Unit 42
4 Result_Rs 43
5 Kết quả mô phỏng 44
Chương 8: Bộ Căn bậc n 45
1 Mô hình chung 45
2 Module Rs_Element 46
3 Module Unit 47
4 Result_Rs 48
5 Kết quả mô phỏng 49
Chương 9: Chuyển Đổi Floating Point 32bits Trong Matlab 50
1 Chuyển từ số thực sang float 32bit 50
2 Chuyển từ số float 32bit sang số thực 51
3 Kết quả chạy trên matlab 52
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54
Trang 4NỘI DUNG
Chương 1: Các Bộ Dùng Chung
4 | P a g e
Trang 51 Bộ Normalize
Trang 62 Bộ Mux
6 | P a g e
Trang 83 Bộ Shift Right
8 | P a g e
Trang 104 Bộ Shift Left
10 | P a g e
Trang 13A2 1
A2 0
A1 9
A1 8
S 4
S 3
S 2
S 1 S0
Trang 152 Giải thuật RCA
a RCA 8bits
b RCA 9bits
c RCA 26bits
Trang 163 Bộ tổng quát
16 | P a g e
Trang 18b Module Post_Adder
- Mô hình chung
- Mô hình chi tiết
18 | P a g e
Trang 205 Kết quả mô phỏng
Hình 1 Mô phỏng với giải thuật CLA
Hình 2 Mô phỏng với giải thuật RCA
20 | P a g e
Trang 21Chương 3: Bộ Nhân
1 Giải thuật Double
a Double 2x2
Trang 22b Double 24x24
22 | P a g e
Trang 232 Giải thuật vedic
a Mô tả Vedic 4bits
Trang 24c Vedic 8bits
24 | P a g e
Trang 25d Vedic 24bits
Trang 263 Bộ tổng quát
26 | P a g e
Trang 285 Kết quả mô phỏng
Hình 1 Mô phỏng với giải thuật Vedic
Hình 2 Mô phỏng với giải thuật Double
28 | P a g e
Trang 29A: floating point 32bits S: floating point 32bits B: floating point 32bits Giải thuật: Restoring_Devision
b Khối chi tiết
Trang 3030 | P a g e
Trang 313 Khối module thành phần
a Module Div
Chi tiết :
Trang 3232 | P a g e
Trang 33b Module Unit_Div
Chi tiết :
Trang 34c Module Initinray
Chi tiết:
34 | P a g e
Trang 364 Kết quả mô phỏng
Hình 1 Kết quả chạy mô phỏng lần 1
Hình 2 Kết quả chạy mô phỏng lần 2
36 | P a g e
Trang 37
- Chi tiết :
Trang 3838 | P a g e
Trang 392 Kết quả chạy mô phỏng
Hình 1 Kết quả chạy mô phỏng lần 1
Hình 2 Kết quả chạy mô phỏng lần 2
Hình 2 Kết quả chạy mô phỏng lần 3
Trang 40Chương 6 : Bộ Lũy Thừa
b Giải thuật :
Cổ điển: Sn1 Sn* ; A S0 A
c Chi tiết
40 | P a g e
Trang 412 Module Element_N
a Mô hình chung
b Mô hình chi tiết
Trang 445 Kết quả mô phỏng
Hình1 Kết quả mô phỏng bộ lủy thừa
44 | P a g e
Trang 4646 | P a g e
Trang 472 Module Rs_Element
a Mô hình chung
b Mô hình chi tiết
Trang 505 Kết quả mô phỏng
Hình 1 Kết quả mô phỏng lần 1
Hình 2 Kết quả mô phỏng lần 2
50 | P a g e
Trang 522 Module Rs_Element
a Mô hình chung
b Mô hình chi tiết
52 | P a g e
Trang 53n e out n
b Mô hình chi tiết
Trang 555 Kết quả mô phỏng
Hình 1 Kết quả mô phỏng lần 1
Hình 2 Kết quả mô phỏng lần 2
Trang 56Chương 9: Chuyển Đổi Floating Point 32bits Trong Matlab
1 Chuyển từ số thực sang float 32bit
56 | P a g e
Trang 572 Chuyển từ số float 32bit sang số thực
Trang 583 Kết quả chạy trên matlab
58 | P a g e
Trang 59KẾT LUẬN
- Thiết kế và mô phỏng thành công mô hình Floating Point
Arthmetic Unit Tính toán chính xác với bộ cộng trừ dùng giải thuật CLA, bộ nhân dùng giải thuật Double, chia dùng giải thuật Restoring Division.
- Chuyển thành công số floating point 32bits thành số real và
ngược lại, mô phỏng được tất cả các số trên Matlab.
- Thiết kế và chạy thành công bộ Root Square of n dùng giải
thuật Xấp xỉ.
- Thiết kế và chạy thành công bộ nhân dùng giải thuật Vedic
- Thiết kế và chạy thành công bộ cộng trừ dùng giải thuật
Trang 60TÀI LIỆU THAM KHẢO
1 DEVELOPING AN EFFICIENT IEEE 754 COMPLIANT FPU IN
VERILOG (by RUBY DEV (108CS069)).
2 DESIGN OF SINGLE PRECISION FLOAT ADDER (32-BIT
NUMBERS) ACCORDING TO IEEE 754 STANDARD USING VHDL ( by
Dr Roman Zálusky).
3 A Hierarchical Verification of the IEEE-754 Table-Driven Floating-Point
Exponential Function using HOL (by Amr Talaat Abdel-Hamid)
4 Computer Arithmetic (by Reto Zimmermann).
60 | P a g e