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

Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga

87 8 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 Xử Lý Tín Hiệu Số Với FPGA
Tác giả Nguyễn Minh Tân, Phạm Đăng Long, Mai Phú Thành, Hoàng Bá Duy
Người hướng dẫn Nguyễn Lý Thiên Trường
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Khoa Điện – Điện Tử
Thể loại bài tập lớn
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 4,5 MB

Cấu trúc

  • 1. Phần chung cho tất cả các nhóm (5)
    • 1.1. Bài 1 (5)
      • 1.1.1. Đề bài (5)
      • 1.1.2. Giải thuật thứ nhất (6)
      • 1.1.3. Giải thuật thứ hai (15)
    • 1.2. Bài 2 (21)
      • 1.2.1. Đề bài (21)
      • 1.2.2. Cơ sở lý thuyết (21)
      • 1.2.3. Giải thuật tính toán (22)
      • 1.2.4. Code mô phỏng (23)
      • 1.2.5. Kết quả mô phỏng (28)
      • 1.2.6. Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II (31)
    • 1.3. Bài 3 (32)
      • 1.3.1. Đề bài (32)
      • 1.3.2. Giải thuật tính căn tính toán từng chữ số (Digit-by-digit calculation) (32)
      • 1.3.3. Code thực hiện và kết quả mô phỏng (35)
      • 1.3.4. Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II (39)
    • 1.4. Bài 4 (40)
      • 1.4.1. Giới thiệu (40)
      • 1.4.2. Mô phỏng kết quả - Đánh giá tài nguyên (43)
      • 1.4.3. Code design – code testbench (48)
    • 1.5. Bài 5 (57)
      • 1.5.1. Đề bài (57)
      • 1.5.2. Cơ sở lý thuyết (57)
      • 1.5.3. Code thực hiện và kết quả mô phỏng (60)
      • 1.5.4. Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone IV EP4CGX15BF14C6 (64)
  • 2. Phần riêng nhóm 10 (65)
    • 2.1. Bài 1 (65)
      • 2.1.1. Đề bài (65)
      • 2.1.2. Câu 1: Tính giới hạn lặp 𝑇 ∞ bằng quan sát và giải thuật LPM (Sinh viên tự quy ước cách đánh số thứ tự các phần tử delay) (66)
      • 2.1.3. Câu 2: Viết code Matlab kiểm tra lại kết quả thực hiện giải thuật LPM ở câu 1. 68 2.1.4. Câu 3: Chỉ ra (các) đường tới hạn và thời gian tính toán tới hạn T critical ? (68)
      • 2.1.5. Câu 4: Tái định thì hệ thống trên sao cho đường tới hạn mới T’ critical = 10 u.t. 72 2.1.6. Câu 5: Viết code Matlab thực hiện giải thuật Bellman-Ford kiểm chứng lại giá trị tái định thì các nút (72)
    • 2.2. Bài 2 (86)

Nội dung

321.3.2.Giải thuật tính căn tính toán từng chữ số Digit-by-digit calculation .... Đề bài: Cho sơ đồ khối của hệ thống tìm số nhỏ nhất thứ nhất min1, số nhỏ nhất thứ 2 min2 và vị trí của

Phần chung cho tất cả các nhóm

Bài 1

Cho sơ đồ khối của hệ thống tìm số nhỏ nhất thứ nhất (min1), số nhỏ nhất thứ 2 (min2) và vị trí của số nhỏ nhất thứ nhất (index_min1) trong 𝑛 số không dấu ngõ vào như hình bên dưới

 Thực thi hệ thống trên với 𝑛 = 16

 Các ngõ vào I0, I1,…, In-1 là các số nhị phân 4 bit không dấu

 Trường hợp ngõ vào có nhiều hơn 2 giá trị min1, thì ngõ ra index_min1 chỉ vị trí ngõ vào có chỉ số nhỏ hơn

1 Đề xuất 2 giải thuật thực thi hệ thống trên (sơ đồ khối, giải thích chi tiết)

2 Viết code Verilog mô tả 2 giải thuật đã đề xuất ở trên Sử dụng phần mềm mô phỏng

(ví dụ: ModelSim) kiểm tra chức năng hệ thống (chụp lại hình kết quả mô phỏng)

3 Đánh giá tài nguyên phần cứng khi thực thi 2 giải thuật đề xuất trên FPGA Cyclone V

Hình 1.1.2 Lưu đồ giải thuật Đầu tiên, ta ghép 2 phần gồm giá trị của port và số thứ tự của port đó vào để thực hiện so sánh, gọi là IN[i] Khi so sánh, nếu phần giá trị của 2 port bằng nhau, ta sẽ so sánh số thứ tự của port đó

Tiếp theo, ta lưu min_1 và index_min1 tương ứng với giá trị của port 0 và số thứ tự của nó: 0 và min_2 là giá trị của port 1

Ta lần lượt so sánh cặp min_1, index_min1 và giá trị min_2 với giá trị tương ứng

(có hoặc không có số thứ tự) của các port từ 1 đến 9 Khi đó sẽ có 2 trường hợp xảy ra:

Thứ nhất, cặp min_1, index_min1 lớn hơn IN[i] Khi đó, ta thay min_1, index_min1 bởi các giá trị tương ứng của port thứ i và thay min_2 bởi min_1

Thứ hai, cặp min_1, index_min1 bé hơn IN[i] Ta sẽ tiếp tục so sánh giá trị của port thứ i với min_2 Nếu min_2 lớn hơn giá trị của port thứ i thì ta cập nhật giá trị đó cho min_2 và ngược lại thì ta giữ nguyên min_2

 Code thực hiện: module min_finder(rst,clk,in0,in1,in2,in3,in4,in5,in6,in7,in8,in9,in10

,in11,in12,in13,in14,in15,min1,min2,index_min1,nflag); localparam n = 16; input rst,clk; input[3:0] in0, in1, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15; output reg[3:0] min1,min2; output reg[3:0] index_min1; output reg nflag; reg[7:0] reg_in0 ,reg_in1, reg_in2, reg_in3, reg_in4, reg_in5, reg_in6, reg_in7, reg_in8, reg_in9, reg_in10, reg_in11, reg_in12, reg_in13, reg_in14, reg_in15, temp; reg[7:0] reg_min1; reg[3:0] reg_min2; wire cp1,cp2,flag_0; reg[3:0] count; mf_compare CP1 (reg_min1,reg_in1,cp1); cp CP2 (reg_min2,reg_in1[3:0],,cp2); assign flag_0 = |(count); always @(posedge clk) begin if(rst||(~flag_0)) begin reg_in0 = {4'b0000,in0}; reg_in1 = {4'b0001,in1}; reg_in2 = {4'b0010,in2}; reg_in3 = {4'b0011,in3}; reg_in4 = {4'b0100,in4}; reg_in5 = {4'b0101,in5}; reg_in6 = {4'b0110,in6}; reg_in7 = {4'b0111,in7}; reg_in8 = {4'b1000,in8}; reg_in9 = {4'b1001,in9}; reg_in10 = {4'b1010,in10}; reg_in11 = {4'b1011,in11}; reg_in12 = {4'b1100,in12}; reg_in13 = {4'b1101,in13}; reg_in14 = {4'b1110,in14}; reg_in15 = {4'b1111,in15}; end else begin temp = reg_in0; reg_in0 = reg_in1; reg_in1 = reg_in2; reg_in2 = reg_in3; reg_in3 = reg_in4; reg_in4 = reg_in5; reg_in5 = reg_in6; reg_in6 = reg_in7; reg_in7 = reg_in8; reg_in8 = reg_in9; reg_in9 = reg_in10; reg_in10 = reg_in11; reg_in11 = reg_in12; reg_in12 = reg_in13; reg_in13 = reg_in14; reg_in14 = reg_in15; reg_in15 = temp; end end always @(posedge clk) begin if(rst) begin count = 4'b1111; nflag = 1'b1; end else if(flag_0) count = count - 1; else begin

{index_min1,min1} = reg_min1; min2 = reg_min2; nflag = 1'b0; end end always @(negedge clk) begin if (rst) begin reg_min1 = {4'b0000,in0}; reg_min2 = in1; end else if(cp1&flag_0) begin reg_min2 = reg_min1[3:0]; reg_min1 = reg_in1; end else if(cp2&flag_0) reg_min2 = reg_in1[3:0]; end endmodule module mf_compare(in0,in1,out); input[7:0] in0,in1; output reg out; wire[1:0] eq, grt; cp COMP0 (in0[3:0],in1[3:0],eq[0],grt[0]); cp COMP1 (in0[7:4],in1[7:4],eq[1],grt[1]); always @* begin if(eq[0]) out

Ngày đăng: 13/03/2024, 08:43

HÌNH ẢNH LIÊN QUAN

Hình 1.1.2. Lưu đồ giải thuật - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.1.2. Lưu đồ giải thuật (Trang 6)
Hình 1.1.4. Kết quả đánh giá phần cứng - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.1.4. Kết quả đánh giá phần cứng (Trang 14)
Hình 1.1.5. Lưu đồ giải thuật thứ hai - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.1.5. Lưu đồ giải thuật thứ hai (Trang 15)
Hình 1.1.6. Kết quả mô phỏng dạng sóng - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.1.6. Kết quả mô phỏng dạng sóng (Trang 19)
Hình 1.2.1 Lưu đồ giải thuật - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.2.1 Lưu đồ giải thuật (Trang 23)
Hình 1.2.2. Kết quả mô phỏng dạng sóng 1 - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.2.2. Kết quả mô phỏng dạng sóng 1 (Trang 29)
Hình 1.2.4. Kết quả mô phỏng dạng sóng 3 - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.2.4. Kết quả mô phỏng dạng sóng 3 (Trang 30)
Hình 1.2.5. Kết quả đánh giá tài nguyên phần cứng - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.2.5. Kết quả đánh giá tài nguyên phần cứng (Trang 31)
Hình 1.3.1. Kết quả mô phỏng dạng sóng - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.3.1. Kết quả mô phỏng dạng sóng (Trang 38)
Hình 1.4.1. Sơ đồ bộ cộng toàn phần (Full Adder) - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.4.1. Sơ đồ bộ cộng toàn phần (Full Adder) (Trang 40)
Hình 1.4.2. Sơ đồ tổng quan cộng 2 số nối tiếp - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.4.2. Sơ đồ tổng quan cộng 2 số nối tiếp (Trang 41)
Hình 1.4.3. Sơ đồ module xét bit dư - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.4.3. Sơ đồ module xét bit dư (Trang 42)
Hình 1.4.7. Mô tả phần cứng bộ cộng nối tiếp trên Cyclone IV GX - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.4.7. Mô tả phần cứng bộ cộng nối tiếp trên Cyclone IV GX (Trang 44)
Hình 1.4.8. Thời gian thực hiện với bộ cộng nối tiếp trên Cyclone IV GX - Bài Tập Lớn Báo Cáo Xử Lý Tín Hiệu Số Với Fpga
Hình 1.4.8. Thời gian thực hiện với bộ cộng nối tiếp trên Cyclone IV GX (Trang 45)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w