1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo bài tập lớn môn xử lí tín hiệu số với FPGA

51 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề BÁO CÁO BÀI TẬP LỚN Môn: Xử lí tín hiệu số với FPGA
Tác giả Phạm Thanh Nhàn, Vũ Châu Duy Tùng, Đào Việt Hoàng, Trần Nhân Tông, Nguyễn Ngọc Độ
Người hướng dẫn Thầy Trịnh Vũ Đăng Nguyên
Trường học Trường Đại học Bách Khoa Đại học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Xử lí tín hiệu số với FPGA
Thể loại báo cáo
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 51
Dung lượng 1,12 MB

Nội dung

Trường Đại học Bách Khoa Đại học Quốc Gia Thành Phố Hồ Chí Minh BÁO CÁO BÀI TẬP LỚN Mơn: Xử lí tín hiệu số với FPGA GVHD: Thầy Trịnh Vũ Đăng Nguyên Thực bởi: nhóm Phạm Thanh Nhàn [1813312] Vũ Châu Duy Tùng [1614015] Đào Việt Hoàng [1812253] Trần Nhân Tông [1915574] Nguyễn Ngọc Độ [1913131] BÁO CÁO KẾT QUẢ LÀM VIỆC NHĨM CƠNG VIỆC STT MSSV HỌC VÀ TÊN 1813312 Phạm Thanh Nhàn Câu 1614015 Vũ Châu Duy Tùng Câu 1915574 Trân Nhân Tơng Câu 4 1812253 Đào Việt Hồng Câu 5 1913131 Nguyễn Ngọc độ Câu THỰC HIỆN Bài 1: 1.1 Đề bài: 1.2 Lưu đồ giải thuật: 1.2.1 Giải thuật 1: - Khai báo: input [3:0] I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15; output [3:0] min1, min2, index_min1; reg [63:0] arr; reg [3:0] min1, min2, index_min1; integer i; - Mỗi có thay đổi tất ngõ vào, ta có: - Đánh giá tài nguyên: - Kết mô phỏng: 1.2.2 Giải thuật 2: - Khai báo: input [3:0] I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15; output [3:0] min1, min2, index_min1; wire [3:0] index_min2; wire [63:0] arr, new_arr; assign arr = {I15, I14, I13, I12, I11, I10, I9, I8, I7, I6, I5, I4, I3, I2, I1, I0}; - Ta dùng module find_min_in_arr để tìm min1 index_min1 arr - Ta dùng module replace15_by_index để thay giá trị vị trí index_min1 thành 15, thu chuỗi new_arr - Ta dùng module find_min_in_arr để tìm min2 new_arr 1.2.2.1 - Module find_min_in_arr: Khai báo: input [63:0] arr; wire [3:0] I0, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, I13, I14, I15; output [3:0] min, index_min; wire [3:0] min_val_a [7:0], id_out_a [7:0]; wire [3:0] min_val_b [3:0], id_out_b [3:0]; wire [3:0] min_val_c [1:0], id_out_c [1:0]; assign {I15, I14, I13, I12, I11, I10, I9, I8, I7, I6, I5, I4, I3, I2, I1, I0} = arr; - Trong module này, ta tiến hành so sánh cặp giá trị để tìm id giá trị đó, với id số tự nhiên tương ứng với số input, ví dụ: id I0 0, I1 1, …, I15 15 - Có 16 input nên ta chia làm round, round có 16 input nên chia thành cặp để so sánh, ngõ round đưa vào round lúc cặp để so sánh Tương tự đến round ta input tạo thành cặp giá trị để so sánh, ngõ phép so sánh ngõ module - Module sử dụng để so sánh cặp giá trị find_min_index 1.2.2.2 - Module find_min_index: Khai báo: input [3:0] A, B, idA, idB; output [3:0] min_val, id_out; wire Oe, Og, Ol; wire [2:0] result; reg [3:0] min_val, id_out; - Dùng module compare_4bit để so sánh A B, giá trị trả dạng one hot vector {Oe, Og, Ol} tương ứng với trạng thái A=B, A>B A3, 2->3, 5->3}, ta có: 𝑟 (1) (3) = min{0, + 3, + 1,0 − 1} = −1 + V=4: Ứng với đường {1->4, 3->4, 5->4}, ta có: 𝑟 (1) (4) = min{0, + 2, − 1,0 − 2} = −2 + V=5: Ứng với đường 1->5, ta có: 𝑟 (1) (5) = min{0, + 2} = Lần lặp 2: 𝑟 (1) = (0,0, −1, −2,0) + V=1: Ứng với đường 2->1, ta có: 𝑟 (2) (1) = min{0, + 1} = + V=2: 𝑟(2)(2) = 𝑟(1)(2) + V=3: Ứng với đường {1->3, 2->3, 5->3}, ta có: 𝑟 (2)(3) = min{−1, + 3, + 1,0 − 1} = −1 + V=4: Ứng với đường {1->4, 3->4, 5->4}, ta có: 𝑟 (2) (4) = min{−2, + 2, −1 − 1,0 − 2} = −2 + V=5: Ứng với đường 1->5, ta có: 𝑟 (2) (5) = min{0, + 2} = 𝑟 (2) = (0,0, −1, −2,0) - Lúc ta nhận thấy giá trị tất nút khơng cịn thay đổi nghĩa toán hội tụ, kết thu là: 𝑟1 = 𝑟2 = 𝑟3 = −1 𝑟4 = −2 𝑟5 = Kiểm chứng kết Maltab: !O 0 0 0] •NJ° I?*^* !3°I Z- T- 3°I 3°I] :NJ** I?*^* !3°I 3°I 3°I 3°I 3°I] :NJ** I?*^* !3°I 3°I T- 3°I :NJ** I?*^* !3°I 3°I 3°I T T] :NJ** I?*^* Nhận xét: kết tính tốn giống với kết thu từ chương trình Matlab ... mơ có tương đồng với kết tính toán được, với sai số lớn 10^4 Đánh giá tài nguyên phần cứng thực thi FPGA Cyclone V 5CGXFC7C7F23C8: Bài Đề Tìm hiểu giải thuật viết code Verilog tính gần giá trị... 16.25 Hệ số nhị phân hệ (Hệ số 2) Kề thừa thuật toán số: X: Giá trị đầu vào giá trị muốn tính A: Giá trị tính tốn ⇒

Ngày đăng: 12/10/2022, 04:44

HÌNH ẢNH LIÊN QUAN

- Phép toán dựa trên bảng chân trị và bìa K: - BÁO cáo bài tập lớn môn xử lí tín hiệu số với FPGA
h ép toán dựa trên bảng chân trị và bìa K: (Trang 10)
- Phép tốn dựa trên bảng chân trị và bìa K: - BÁO cáo bài tập lớn môn xử lí tín hiệu số với FPGA
h ép tốn dựa trên bảng chân trị và bìa K: (Trang 10)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w