Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
791,91 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA KỸ THUẬT MÁY TÍNH BÁO CÁO CUỐI KỲ MÔN HỌC THIẾT KẾ HỆ THỐNG SỐ VỚI HDL LỚP: CE213.N11 NHÓM 15 SINH VIÊN THỰC HIỆN: NGUYỄN THỊNH PHÁT - 20521738 VÕ NHẬT NAM - 20520646 NGUYỄN HỮU TRÍ - 20522051 GVGD: TS LÂM ĐỨC KHẢI TP HỒ CHÍ MINH, NĂM 2022 Thiết kế hệ thống số với HDL - Nhóm 15 Project: 32 BITS - FLOATING POINT MULTIPLIER Số thực dấu chấm động (độ xác đơn): Định nghĩa: Biểu diễn số thực: 3.1459265…ten (pi) 2.71828…ten (e) 0.000000001ten or 1.0ten x 10-9 (seconds in a nanosecond) 3,155,760,000ten or 3.15576ten x 109 (second in a typical century) Scientific nonation: Một số thực gọi “scientific notation” bên trái dấu chấm động có chữ số Normalized number: Một số thực gọi “Normalized number” (dạng chuẩn) số viết “scientific nonation” chữ số bên trái dấu chấm khơng phải Ví dụ: 1.0ten x 10-9: số thực chuẩn 0.1ten x 10-8: số thực chuẩn 10.0ten x 10-10: số thực chuẩn Trong máy tính, số nhị phân phải đưa dạng chuẩn sau: 1.xxxxxxxxxtwo x 2yyyy Biểu diễn số thực dấu chấm động: Biểu diễn số thực dấu chấm động theo chuẩn IEEE 754 (với độ xác đơn) Trong đó: Thiết kế hệ thống số với HDL - Nhóm 15 s biểu diễn dấu số thực dấu chấm động (1 nghĩa âm, ngược lại dương) Phần mũ (exponent) có kích thước bit Exponent biểu diễn 127 yyyy (excess -127 bias of 127) Phần lẻ (fraction) hay phần định trị (mantissa) dùng 23 bits để biểu diễn cho xxxxxxxxx Tổng quát, số thực dấu chấm động tính dựa theo (với bias = 127): (-1)S x (1 + fraction) x 2(Exponent – Bias) Hoặc: (-1)S x (1 + (s1 x 2-1) + (s2 x 2-2) + (s3 x 2-3) + (s4 x 2-4) +…) x 2E với (s1, s2, s3,… bit từ trái sang phải fraction) Ví dụ: biểu diễn số -2345,125 B1: Chuyển đổi số hệ hai -2345,125 = -1001 0010 1001.001 (dãy số nhị phân được biểu diễn bình thường) B2: Chuẩn hố theo IEEE 32bit -100100101001.001 => -1.00100101001001 x 2^11 (tức lùi dấu chấm trước kế bên số đầu tiên, số mũ mấy) B3: Xác định thông số biểu diễn S,E,M S: phần định trị số âm, nên s là 1 E : phần mũ xác định E = 11+127=138=10001010 M: phần định trị xác định là 001001010010010 0000 0000 (23 số) (tức M = dãy số sau dấu chấm sau chuẩn hóa, cịn lại ghi số cho đủ 23 số) Dãy số là: S E M 1 10001010 00100101001001000000000 24 bits Multiplier Architecture: Thiết kế hệ thống số với HDL - Nhóm 15 A B input đầu vào 24bits - A số bị nhân, nạp vào ghi dịch trái (Shift Left Reg) sử dụng tín hiệu điều khiển SL từ controller - B số nhân, nạp vào ghi dịch phải (Shift Right Reg) sử dụng tín hiệu điều khiển SR từ controller - Khối ALU bao gồm AND với input, cộng MUX Nếu B[0]=0 kết ALU lấy kết từ ghi REG and với Nếu B[0]=1 ALU lấy kết Shift Left Reg cộng với kết từ ghi REG Thiết kế hệ thống số với HDL - Nhóm 15 Cuối kết đưa đến cổng Tri, có tín hiệu từ Controller kết xuất - Ngoài ra, so sánh với (Compare 0), nhận thấy giá trị ghi Shift Right Reg = có nghĩa phép nhân thực thi xong, truyền tín hiệu cho Controller để xuất kết 24bits Multiplier FSM: - Trạng thái S0: SL SR 01 để bật tín hiệu cho phép nạp giá trị vào ghi Lúc này, chưa thực phép tính nên chưa xuất kết quả, nên V = Khi có tín hiệu S = trạng thái S0 chuyển sang trạng thái S1 - Trạng thái S1: SL = 10 cho phép ghi Shift Left Reg dịch trái để thực thi phép tính SR = 11 cho phép ghi Shift Right Reg dịch phải để thực thi phép tính Khi có tín hiệu EN từ so sánh (Compare 0) bật lên từ trạng thái S1 chuyển sang trạng thái S2 - Trạng thái S2: Tín hiệu V=1 cho phép xuất kết Thiết kế hệ thống số với HDL - Nhóm 15 SL SR lúc khơng cần quan tâm giá trị trạng thái S2 xuất kết 32 bits Multiplier Architecture: - Tín hiệu đầu vào input A B dạng số thực dấu chấm động (Floating Point) nên input nạp vào tách thành phần chính: Sign (dấu): gồm bit (0 số dương, số âm) Exponent (mũ): gồm bits Mantissa (định trị): gồm 23 bit cuối - Khi có tín hiệu Load từ Controller input (32bits) nạp vào ghi tách thành phần Thiết kế hệ thống số với HDL - Nhóm 15 - Đối với phần dấu, bit mũ qua cổng XOR sử dụng để tính bit dấu tích Giá trị đến cổng Tri có tín hiệu điều khiển từ Controller kết xuất Input A Input B Output 0 0 1 1 1 Khi bit mũ khác kết qua cổng XOR (có nghĩa nhân hai số trái dấu với kết số âm) Khi bit mũ dấu kết qua cổng XOR (có nghĩa nhân hai số dấu với kết số dương) - Với phần mũ, bit mũ trừ với 127 Sau hai phần mũ cộng lại với cộng với 128 Kết sau đưa đến trừ (Subtractor) để trừ phần mũ Kết phần mũ trừ kết Counter Shift Left_Counter ta bit mũ xác cuối Kết đưa đến cổng Tri chờ tín hiệu điều khiển từ Controller để xuất kết - Đối với phần định trị, phần định trị hai input 23bits nên cần thêm bit phía trước input để trở thành 24bits đưa vào nhân 24bits (24bits Multiplier) để thực thi phép nhân Thông qua nhân, kết trả dạng 48bits Kết qua Shift Left_Counter (bao gồm dịch trái đếm) để đưa dạng 1.xx, kết 0.xx dịch dịch trái để đưa kết dạng 1.xx Đồng thời, lần dịch trái Counter phải tăng thêm lên Sau cùng, lấy kết phần mũ trừ kết quả Counter ta bit mũ xác cuối Phần định trị lấy kết từ Shift Left Thiết kế hệ thống số với HDL - Nhóm 15 [46-23] (chỉ lấy 23 bits) qua cổng Tri chờ tín hiệu điều khiển từ Controller cho xuất kết - Ngoài ra, 24bits Multiplier thực thi xong có tín hiệu V trả Controller để báo hiệu kết thực thi nhân 24bits tính xong 32bits Multiplier FSM: - Trạng thái S0: Load = cho phép nạp giá trị input vào ghi Lúc này, kết chưa xuất nên V = Khi tín hiệu Start = trạng thái S0 chuyển sang trạng thái S1 - Trạng thái S1: Load = giá tị nạp trạng thái S0 Lúc này, kết chưa xuất nên tiếp tục V = Khi tín hiệu Done từ nhân 24bits bật lên trạng thái S1 chuyển sang trạng thái S2 - Trạng thái S2: V = cho phép xuất kết Mô phỏng: Input A Input B Kết lý thuyết 01000000101010101111100111011011 01000011110110001011001100110011 01000101000100001011101010000000 (5.343) (433.4) (2315.6562) 01000011011100100110011001100110 11000001010001001100110011001100 11000101001110100101100001010000 Thiết kế hệ thống số với HDL - Nhóm 15 (242.4) (-12.3) (-2981.52) 01000010111101101110110100001110 00000000000000000000000000000000 00000011011101101110110100001110 (123.463) (0) (0.000xx) 11000010111110010000000000000000 11000010001101010100101011000000 01000101101100000101010110110100 (-124.5) (-45.323) (5642,7135) Testcase 1: Waveform: Post Synthesis: Fmax = 178.35 Mhz Testcase 2: Waveform: Post Synthesis: Testcase 3: Waveform: Thiết kế hệ thống số với HDL - Nhóm 15 Post Synthesis: Testcase 4: Waveform: Post Synthesis: