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

(Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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

52 7 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 bài tập lớn 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
Tác giả Nguyễn Hà Nhất Phương, Nguyễn Bùi Thanh Sơn, Nguyễn Minh Thành, Trần Văn Thành, Võ Hoàng Thịnh
Người hướng dẫn Nguyễn Lý Thiên Trường
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ố, FPGA
Thể loại Báo cáo
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 52
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 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 (11)
  • 1.2 Bài 2 (17)
    • 1.2.1 Đề bài (17)
    • 1.2.2 Cơ sở lý thuyết (17)
    • 1.2.3 Giải thuật tính toán (19)
    • 1.2.4 Code mô phỏng (20)
    • 1.2.5 Kết quả mô phỏng (22)
    • 1.2.6 Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6 (24)
  • 1.3 Bài 3 (25)
    • 1.3.1 Đề bài (25)
    • 1.3.2 Giải thuật tính căn tính toán từng chữ số (Digit-by-digit calculation) (25)
    • 1.3.3 Code thực hiện và kết quả mô phỏng (27)
    • 1.3.4 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6 (31)
  • 1.4 Bài 4 (32)
    • 1.4.1 Đề bài (32)
    • 1.4.2 Cơ sở lý thuyết (32)
    • 1.4.3 Chi tiết thiết kế (33)
    • 1.4.4 Code thực hiện và kết quả mô phỏng (34)
    • 1.4.5 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II (39)
  • 1.5 Bài 5 (41)
    • 1.5.1 Đề bài (41)
    • 1.5.2 Cơ sở lý thuyết (41)
    • 1.5.3 Code thực hiện và kết quả mô phỏng (43)
    • 1.5.4 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II (46)

Nội dung

Sơ đồ giải thuật thứ nhất bộ min_finder Đầ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].. Đánh giá phần cứng giải thuật thứ

Trang 1

TP Hồ Chí Minh, Tháng 08/2021

ĐẠ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Ử

- -

BÁO CÁO XỬ LÝ TÍN HIỆU SỐ VỚI FPGA

Giáo viên hướng dẫn : Nguyễn Lý Thiên Trường

Nhóm thực hiện : 10

Danh sách thành viên : Nguyễn Hà Nhất Phương 1813622

Nguyễn Bùi Thanh Sơn 1813849 Nguyễn Minh Thành 1814021 Trần Văn Thành 1814035

Võ Hoàng Thịnh 1810552

BÀI TẬP LỚN

Trang 2

Đại học Bách khoa TPHCM Trang 1

Danh sách thành viên:

1 Nguyễn Hà Nhất Phương 1813622 phuong.nguyenhanhat@hcmut.edu.vn

2 Nguyễn Bùi Thanh Sơn 1813849 son.nguyenbku1604@hcmut.edu.vn

3 Nguyễn Minh Thành 1814021 thanh.nguyenminh912000@hcmut.edu.vn

4 Trần Văn Thành 1814035 thanh.tran.432@hcmut.edu.vn

5 Võ Hoàng Thịnh 1810552 thinh.vo2888@hcmut.edu.vn

Danh sách phân công nhiệm vụ:

Phần bài tập riêng cả nhóm làm chung qua các buổi google meet

h

Trang 3

MỤC LỤC

NỘI DUNG 4

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

1.1 Bài 1 4

1.1.1 Đề bài 4

1.1.2 Giải thuật thứ nhất 5

1.1.3 Giải thuật thứ hai 10

1.2 Bài 2 16

1.2.1 Đề bài 16

1.2.2 Cơ sở lý thuyết 16

1.2.3 Giải thuật tính toán 18

1.2.4 Code mô phỏng 19

1.2.5 Kết quả mô phỏng 21

1.2.6 Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6 23

1.3 Bài 3 24

1.3.1 Đề bài 24

1.3.2 Giải thuật tính căn tính toán từng chữ số (Digit-by-digit calculation) 24

1.3.3 Code thực hiện và kết quả mô phỏng 26

1.3.4 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6 30

1.4 Bài 4 31

1.4.1 Đề bài 31

1.4.2 Cơ sở lý thuyết 31

1.4.3 Chi tiết thiết kế 32

1.4.4 Code thực hiện và kết quả mô phỏng 33

1.4.5 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6 38

Trang 4

Đại học Bách khoa TPHCM Trang 3

1.5 Bài 5 40

1.5.1 Đề bài 40

1.5.2 Cơ sở lý thuyết 40

1.5.3 Code thực hiện và kết quả mô phỏng 42

1.5.4 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6 45

2 Phần riêng cho từng nhóm 46

h

Trang 5

NỘI DUNG

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

1.1 Bài 1

1.1.1 Đề 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 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

Hình 1.1 Bộ min_finder

Lưu ý:

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

 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 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 II EP2C35F672C6

Trang 6

Đại học Bách khoa TPHCM Trang 5

1.1.2 Giải thuật thứ nhất

Hình 1.2 Sơ đồ giải thuật thứ nhất bộ min_finder

Đầ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

h

Trang 7

input [3:0] in0,in1,in2,in3,in4,in5,in6,in7,in8,in9;

output reg [3:0] min1,min2;

output reg [3:0] index_min1;

output reg nflag;

Trang 8

Đại học Bách khoa TPHCM Trang 7

always @( negedge clk) begin

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]);

module cp_slice(eq_i,ge_i,in0,in1,eq,ge);

input eq_i,ge_i,in0,in1;

output eq,ge;

wire node1;

assign node1 = ~(in0^in1);

assign eq = eq_i&node1;

assign ge = (node1&ge_i)|(in0&(~in1));

Trang 9

wire [3:0] min1,min2;

Trang 10

Đại học Bách khoa TPHCM Trang 9

Hình 1.4 Mô phỏng dạng sóng giải thuật thứ nhất cho bộ min_finder

Hình 1.5 Đánh giá phần cứng giải thuật thứ nhất cho bộ min_finder

Ở đây, ta thấy thiết kế sử dụng 122 logic elements (chiếm chưa đến 1% số logic elements của thiết bị), bao gồm: 109 hàm tổ hợp và 101 thanh ghi Ngoài ra tổng số pins là 55 (chiếm 12% số pins của thiết bị)

h

Trang 11

1.1.3 Giải thuật thứ hai

Hình 1.6 Sơ đồ giải thuật thứ hai bộ min_finder

Đầu tiên, ta lần lượt so sánh min_1 và giá trị min_2 với giá trị của các port từ 1 đến 9 Khi

đó sẽ có 2 trường hợp xảy ra:

Thứ nhất, min_1 lớn hơn giá trị của port thứ i Khi đó, ta thay min_1 bởi giá trị của port thứ

i và thay min_2 bởi min_1

Trang 12

Đại học Bách khoa TPHCM Trang 11

Thứ hai, min_1 bé hơn giá trị của port thứ 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

Sau đó, với giá trị đã có của min_1, ta tìm từ port 0 đến port 9 sao cho giá trị của port đó bằng min_1, thì số thứ tự của port đầu tiên tìm được chính là index_min1

input [3:0] in0,in1,in2,in3,in4,in5,in6,in7,in8,in9;

output reg [3:0] min1,min2;

output reg [3:0] index_min1;

output reg nflag;

Trang 13

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]);

module cp_slice(eq_i,ge_i,in0,in1,eq,ge);

input eq_i,ge_i,in0,in1;

output eq,ge;

wire node1;

Trang 14

Đại học Bách khoa TPHCM Trang 13

assign node1 = ~(in0^in1);

assign eq = eq_i&node1;

assign ge = (node1&ge_i)|(in0&(~in1));

endmodule

module testbench;

reg rst,clk;

reg [3:0] in0,in1,in2,in3,in4,in5,in6,in7,in8,in9;

wire [3:0] min1,min2;

Trang 15

Hình 1.7 Mô phỏng dạng sóng giải thuật thứ hai cho bộ min_finder

Hình 1.8 Mô phỏng dạng sóng giải thuật thứ hai cho bộ min_finder

Hình 1.9 Đánh giá phần cứng giải thuật thứ hai cho bộ min_finder

Trang 16

Đại học Bách khoa TPHCM Trang 15

Ở đây, ta thấy thiết kế sử dụng 122 logic elements (chiếm chưa đến 1% số logic elements của thiết bị), bao gồm: 109 hàm tổ hợp và 101 thanh ghi Ngoài ra tổng số pins là 55 (chiếm 12% số pins của thiết bị) Từ đó, ta nhận thấy rằng phần cứng sử dụng của hai thiết kế là khá tương đương nhau

h

Trang 17

1.2 Bài 2

1.2.1 Đề bài

Tìm hiểu ít nhất 1 giải thuật và viết code Verilog tính gần đúng giá trị log2(x), với x

là số 16 bit không dấu

 Sử dụng phần mềm mô phỏng kiểm tra chức năng hệ thống (chụp lại hình kết quả mô phỏng) Đánh giá sai số giữa kết quả mô phỏng này với kết quả dùng phần mềm Matlab

 Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6

𝑥 = 2𝑦1 2−1 + 𝑦22−2+𝑦32−3+⋯(4)

Trang 18

Đại học Bách khoa TPHCM Trang 17

Từ phương trình (3) và (4) có thể suy ra rằng giá trị lớn nhất của y là 1 (tổng của một cấp tiến hình học với tỷ lệ chung 0,5 khi tất cả các bit của y là 1) và do đó giá trị lớn nhất của

Trang 19

1.2.3 Giải thuật tính toán

Từ các phương trình đã trình bày ở mục 1.2.2, ta sẽ xây dựng được lưu đồ giải thuật

để tìm y khi biết x như sau:

Trang 20

Đại học Bách khoa TPHCM Trang 19

output reg [15:0] out;

output reg flag, inf;

if (|count == ) state <= DONE;

else state <= SQUARE;

Trang 21

wire flag,inf;

log2 LOG2 (clk,rst,in,out,flag,inf);

Trang 22

Đại học Bách khoa TPHCM Trang 21

Trang 23

Hình 1.10 kết quả mô phỏng của dạng sóng bằng code Verilog

Hình 1.11 Kết quả tính toán được trên Matlab

Nhận xét:

Kết quả mô phỏng có sự tương đồng với kết quả tính toán được, với sai số lớn nhất 𝟏𝟎−𝟒

Trang 24

Đại học Bách khoa TPHCM Trang 23

1.2.6 Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II

EP2C35F672C6

Hình 1.12 Đánh giá tài nguyên phần cứng của module log2

h

Trang 25

1.3 Bài 3

1.3.1 Đề bài

Tìm hiểu ít nhất 1 giải thuật và viết code Verilog tính gần đúng giá trị biểu thức

√𝑥2 + 𝑦2, với x và y là các số 16 bit không dấu

1 Sử dụng phần mềm mô phỏng kiểm tra chức năng hệ thống (chụp lại màn hình kết quả mô phỏng) Đánh giá sai số giữa kết quả mô phỏng này với kết quả dùng phần mềm Matlab

2 Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6

1.3.2 Giải thuật tính căn tính toán từng chữ số (Digit-by-digit calculation)

Đây là một phương pháp để tìm từng chữ số của căn bậc hai theo một chuỗi Có một số lợi thế như:

 Nó có thể dễ dàng cho tinh toán thủ công

 Mỗi chữ số của gốc được tìm thấy đều đúng, sẽ không bị thay đổi sau này

 Có thể sử dụng để kiểm tra một số nguyên đã cho có phải số bình phương không

Bắt đầu với cặp chữ số từ bên trái, thực hiện theo từng cặp

1 Bắt đầu từ bên trái, hạ chứ số ngoài cùng bên trái xuống chưa được sử dụng (nếu các chữ số đã được dùng hãy viết “00”) và viết chúng vào bên phải phần còn lại của bước trước (bước đầu không có phần dư) Đây là giá trị hiện tại của c

2 Tìm các số p, y và x, như sau:

Gọi p là phần căn tìm được cho đến nay, bỏ qua dấu thập phân (bước đầu p =0) Xác định chữ số lớn nhất x sao cho 𝑥(20𝑝 + 𝑥 ) ≤ 𝑐 Ta có 𝑦 = 𝑥(20𝑝 + 𝑥 )0

Trang 26

Đại học Bách khoa TPHCM Trang 25

Đặt chữ số x là chữ số tiếp theo của căn bậc Do đó p mới sẽ là p cũ nhân 10 cộng x

3 Trừ y với c để tạo thành phần dư mới

4 Nếu phần dư bằng không và không còn chữ số nào để hạ thì thuật toán kết thúc Nếu chưa quay lại bước 1 tính toán lần nữa

Kề thừa thuật toán từng chứ số:

X : Giá trị đầu vào và giá trị muốn tính căn

A: Giá trị hiện tại đang tính toán

T: Kết quả phép thử dấu

Q: Căn bậc 2

Bắt đầu với cặp chữ số từ bên trái, thực hiện theo từng cặp 2 chữ số

1 Dịch trái X 2 bit sang vị trí của A Gán T = A – {Q,01}

Trang 27

Vậy căn của 110.012 (6.2510) là 10.12 (2.510)

1.3.3 Code thực hiện và kết quả mô phỏng

Trang 28

Đại học Bách khoa TPHCM Trang 27

Trang 30

Đại học Bách khoa TPHCM Trang 29

Nhận xét: Kết quả thu được trên ModelSim có kết quả nhỏ hơn khi dùng phần mềm Matlab do

đây là thuật toán tính căn từng chữ số, thiết kế chỉ lấy 8 bit sau dấu phẩy làm đồ chính xác chưa

cao Cách khắc phục tăng số bit sau dấu phẩy để tăng độ chính xác

h

Trang 31

1.3.4 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone

Trang 32

Đại học Bách khoa TPHCM Trang 31

1.4 Bài 4

1.4.1 Đề bài

Cho hai số M và N, mỗi số 8 bit không dấu Thực hiện phép toán cộng: M + N bằng hai cách:

 Cách 1: cộng nối tiếp từng bit

 Cách 2: cộng song song (nhiều bit cùng lúc)

3 Viết code Verilog mô tả hai cách trên Sử dụng phần mềm mô phỏng kiểm tra chức năng hệ thống (chụp lại kết quả mô phỏng)

4 So sánh tài nguyên phần cứng của 2 cách trên khi thực thi trên FPGA Cyclone II EP2C35F672C6

1.4.2 Cơ sở lý thuyết

Các mạch cộng về cơ bản đều được xây dựng dựa trên bộ cộng toàn phần Full Adder Mạch cộng Full Adder có 3 ngõ vào x, y và cin; 2 ngõ ra là tổng của phép cộng (sum), và bit nhớ của phép cộng (cout) Bảng chân trị được cho dưới bảng sau:

Từ bảng chân trị trên ta kết luận được biểu thức của ngõ ra với ngõ vào như sau:

s = in1 in2 cin;

cout = in1.in2 + cin.(in1 in2)

Dựa trên biểu thức của hàm ngõ ra với ngõ vào ta xây dựng được mạch cộng full adder dùng các cổng logic như hình bên dưới:

h

Trang 33

Sơ đồ mạch cộng Full Adder dùng cổng logic

1.4.3 Chi tiết thiết kế

Cách 1: cộng nối tiếp từng bit

Khi thực hiện cộng đầu tiên thực hiện cộng 2 bit LSB của các số được cộng trước, bit LSB của tầng được đưa ra 1 ghi dịch còn số nhớ sẽ quay trở về cộng chung với 2 bit kế tiếp bit LSB và cứ vậy cho đến khi 2 bit cuối cùng được cộng Mạch ghi dịch ngõ ra dịch chuyển sang phải qua mỗi lần cộng sẽ cho ra kết quả cộng số nhớ cuối cùng trở thành bit MSB của tổng ra Mạch cần một xung nhịp để giữ cho các mạch làm việc được đồng bộ

Với ngõ vào gồm hai số 8 bit không dấu thì ngõ ra sẽ là số 9 bit không dấu, trong đó bit MSB là bit nhớ cuối cùng của phép cộng Mô hình thiết kế chi tiết mạch như sau:

Mạch cộng nối tiếp 8 bit

N0 N1 N2 N3 N6 N5 N4

M0 M1 M2 M3 M6 M5 M4

Q D

Clock D - FF

Thanh ghi dịch chứa M

Thanh ghi dịch chứa N

Thanh ghi dịch chứa tổng

N7

Trang 34

Đại học Bách khoa TPHCM Trang 33

Cách 2: cộng song song (nhiều bit cùng lúc)

Trước hết ta cộng 2 bit LSB để cho bit tổng (LSB) Số nhớ được đưa tới để cộng chung với 2 bit kế tiếp bit LSB để cho bit tổng ở hàng kế tiếp cho đến phép cộng cuối cùng giữa hai bit MSB để được bit tổng ở hàng đó, số nhớ khi này trở thành bit LSB của tổng

Với ngõ vào gồm hai số 8 bit không dấu thì ngõ ra sẽ là số 8 bit không dấu, trong đó bit nhớ cuối cùng của phép cộng nằm ở bit cout Mô hình thiết kế chi tiết mạch như sau:

Mạch cộng song song 8 bit

1.4.4 Code thực hiện và kết quả mô phỏng

Cách 1: cộng nối tiếp từng bit

C2 C3

C4 C5

C6

Cin

h

Trang 36

Đại học Bách khoa TPHCM Trang 35

Trang 37

Kết quả thu được sau mô phỏng trên ModelSim hoàn toàn đúng với tính toán lý thuyết

Cách 2: cộng song song (nhiều bit cùng lúc)

assign sum = in1 ^ in2 ^ cin;

assign cout = (in1 & in2) | (cin & (in1 ^ in2));

endmodule

Trang 38

Đại học Bách khoa TPHCM Trang 37

full_adder FA1 (a[0],b[0],cin,s[0],c[1]);

full_adder FA2 (a[1],b[1],c[1],s[1],c[2]);

full_adder FA3 (a[2],b[2],c[2],s[2],c[3]);

full_adder FA4 (a[3],b[3],c[3],s[3],c[4]);

full_adder FA5 (a[4],b[4],c[4],s[4],c[5]);

full_adder FA6 (a[5],b[5],c[5],s[5],c[6]);

full_adder FA7 (a[6],b[6],c[6],s[6],c[7]);

full_adder FA8 (a[7],b[7],c[7],s[7],cout);

Trang 39

Kết quả mô phỏng trên ModelSim

Kết quả thu được sau mô phỏng trên ModelSim hoàn toàn đúng với tính toán lý thuyết

1.4.5 Kết quả đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone

II EP2C35F672C6

Kết quả tổng hợp cách cộng nối tiếp

Trang 40

Đại học Bách khoa TPHCM Trang 39

Kết quả tổng hợp cách cộng song song

Từ hai bảng tổng hợp trên FPGA ta có thể thấy rằng:

Cộng nối tiếp Cộng song song

Trang 41

Ý tưởng cơ bản là thay vì dịch phải và cộng mọi bit của số hạng nhân với 1 hoặc 0, thì

ta sẽ so sánh 3 bit một lúc với kỹ thuật chồng chéo Việc nhóm các bit sẽ bắt đầu từ LSB và khối đầu tiên chỉ sử dụng hai bit của số hạng nhân và giả định 0 cho bit thứ ba như hình sau:

Hoạt động chức năng của bộ mã hóa Radix-4 bao gồm tám trạng thái khác nhau, và trong mỗi trạng thái này, chúng ta đều có thể thu được kết quả của phép nhân của số bị nhân với 0, 1 và 2 Điều đó được thể hiện trong bảng sau:

Multiplier Bits Block Recoded 1-bit pair 2 Bits Booth

i + 1 i i – 1 i + 1 i Multiplier Value Partial Product

Ngày đăng: 10/05/2023, 15:17

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Bộ min_finder - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.1. Bộ min_finder (Trang 5)
Hình 1.2. Sơ đồ giải thuật thứ nhất bộ min_finder - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.2. Sơ đồ giải thuật thứ nhất bộ min_finder (Trang 6)
Hình 1.3. Mô phỏng dạng sóng giải thuật thứ nhất cho bộ min_finder - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.3. Mô phỏng dạng sóng giải thuật thứ nhất cho bộ min_finder (Trang 9)
Hình 1.4. Mô phỏng dạng sóng giải thuật thứ nhất cho bộ min_finder - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.4. Mô phỏng dạng sóng giải thuật thứ nhất cho bộ min_finder (Trang 10)
Hình 1.6. Sơ đồ giải thuật thứ hai bộ min_finder - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.6. Sơ đồ giải thuật thứ hai bộ min_finder (Trang 11)
Hình 1.7. Mô phỏng dạng sóng giải thuật thứ hai cho bộ min_finder - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.7. Mô phỏng dạng sóng giải thuật thứ hai cho bộ min_finder (Trang 15)
Hình 1.10 kết quả mô phỏng của dạng sóng bằng code Verilog - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.10 kết quả mô phỏng của dạng sóng bằng code Verilog (Trang 23)
Hình 1.12 Đánh giá tài nguyên phần cứng của module log2 - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 1.12 Đánh giá tài nguyên phần cứng của module log2 (Trang 24)
Sơ đồ mạch cộng Full Adder dùng cổng logic - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Sơ đồ m ạch cộng Full Adder dùng cổng logic (Trang 33)
Hình 2.1. Sơ đồ DFG - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 2.1. Sơ đồ DFG (Trang 47)
Hình 2.2. Sơ đồ DFG - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 2.2. Sơ đồ DFG (Trang 48)
Hình 2.3. Sơ đồ DFG khi chưa tối thiểu hóa thanh ghi - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 2.3. Sơ đồ DFG khi chưa tối thiểu hóa thanh ghi (Trang 50)
Bảng cấp phát thanh ghi thuận-nghịch: - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Bảng c ấp phát thanh ghi thuận-nghịch: (Trang 51)
Sơ đồ khối thiết kế DFG sau khi tối thiểu hóa số thanh ghi: - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Sơ đồ kh ối thiết kế DFG sau khi tối thiểu hóa số thanh ghi: (Trang 51)
Hình 2.4. Sơ đồ DFG sau khi tối thiểu hóa số thanh ghi - (Tiểu luận) báo cáo xử lý tín hiệu số với fpga bài tập lớn 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
Hình 2.4. Sơ đồ DFG sau khi tối thiểu hóa số thanh ghi (Trang 52)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w