1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn xử lí tín hiệu số với fpga

118 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Thiết kế mạch giải mã 74138
Tác giả Hoàng Hưng, Lê Thành Đạt, Trần Hoàng
Người hướng dẫn Trịnh Vũ Đăng Nguyên
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Xử lý tín hiệu số
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 118
Dung lượng 3,27 MB

Cấu trúc

  • 2.1. Dùng mô hình cấu trúc (9)
  • 2.2. Dùng mô hình luồng dữ liệu (0)
  • 2.3. Dùng mô hình hành vi (11)
  • Bài 3 (0)
  • Bài 4 (18)
    • 4.1. Máy trạng thái Moore (18)
    • 4.2. Máy trạng thái Mealy (21)
  • Bài 5 (0)
    • 5.1. Giải thuật thứ nhất (26)
    • 5.2. Giải thuật thứ hai (28)
  • Bài 6 (32)
    • 6.1. Tính chất của log (32)
    • 6.2. Dùng Matlab để tính sai số của log 2 (x) (42)
  • Bài 7 (46)
  • Bài 8 (0)
    • 8.1. Cơ sở lý thuyết (61)
    • 8.2. Cộng nối tiếp từng bit (62)
    • 8.3. Cộng song song bit (68)
  • Bài 9 (0)
    • 9.1. Cơ sở lý thuyết (77)
    • 9.2. Sơ đồ giải thuật (77)
    • 9.3. Kết quả mô phỏng (78)
    • 9.4. Đánh giá tài nguyên phần cứng trên Cyclone II EP2C35F672C6 (78)
    • 9.5. Code thực hiện giải thuật (0)
  • Bài 10 (4)
  • Bài 11 (0)
    • B. Phần riêng cho từng nhóm (0)

Nội dung

4 Đánh giá tài nguyên phần cứng xem hình minh họa bên dưới khi thực thi trên FPGA Cyclone II EP2C35F672C6... Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6.

Dùng mô hình cấu trúc

Hình 2.1 Kết quả dạng sóng

• Tổng hợp phần cứng trên FPGA

Hình 2.2 Tổng hợp phần cứng trên FPGA

Hình 2.3 Code SystemVerilog module design_a ( input [2:0] a0_i, output [1:0] y0_i); wire [6:0] w0_i ;

//tinh Y and(w0_i[0],a0_i[0],a0_i[1]); and(w0_i[1],a0_i[0],a0_i[2]); and(w0_i[2],a0_i[1],a0_i[2]); or (y0_i[1],w0_i[0],w0_i[1],w0_i[2]);

//tinh z and(w0_i[3],~a0_i[2],~a0_i[1],a0_i[0]); and(w0_i[4],~a0_i[2],a0_i[1],~a0_i[0]); and(w0_i[5],a0_i[2],a0_i[1],a0_i[0]); and(w0_i[6],a0_i[2],~a0_i[1],~a0_i[0]); or(y0_i[0],w0_i[3],w0_i[4],w0_i[5],w0_i[6]); endmodule

• Tổng hợp phần cứng trên FPGA

Hình 2.5 Tổng hợp phần cứng trên FPGA

2.3 Dùng mô hình hành vi

Hình 2.7 Kết quả dạng sóng module design_b( input [2:0] a0_i, output [1:0] y0_i); assign y0_i[1] = (a0_i[2] & a0_i[1]) | (a0_i[2] & a0_i[0]) | (a0_i[1] & a0_i[0]) ; assign y0_i[0] = (~a0_i[2] & ~a0_i[1] & a0_i[0]) | (~a0_i[2] & a0_i[1] & ~a0_i[0]) | (a0_i[2] & a0_i[1] & a0_i[0]) | (a0_i[2] & ~a0_i[1] & ~a0_i[0]); endmodule : design_b

• Tổng hợp phần cứng trên FPGA

Hình 2.8 Tổng hợp phần cứng trên FPGA

Hình 2.9 module design_c ( input [2:0] a0_i, output [1:0] y0_i); always @(a0_i[2] or a0_i[1] or a0_i[0]) begin y0_i[1] = (a0_i[2] & a0_i[1]) | (a0_i[2] & a0_i[0]) | (a0_i[1] & a0_i[0]) ; y0_i[0] = (~a0_i[2] & ~a0_i[1] & a0_i[0]) | (~a0_i[2] & a0_i[1] & ~a0_i[0]) | (a0_i[2] & a0_i[1] & a0_i[0]) | (a0_i[2] & ~a0_i[1] & ~a0_i[0]); end endmodule : design_c

10 | P a g e giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6

NỘI DUNG BÁO CÁO BÀI 3

// input input logic clk_i, input logic rst_n, input logic [3:0] N,

/*verilator lint_off UNUSED*/ always @(posedge clk_i) begin assert(Q >2); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd32; end t=x+(x>>3); if((t&16'h8000)==0) begin

35 | P a g e x=t; y_tp = y_tp - 7'd17; end t=x+(x>>4); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd9; end t=x+(x>>5); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd4; end t=x+(x>>6); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd2; end t=x+(x>>7); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd1; end y_tp = y_tp-1; if (data == '0) begin y = '0; y_tp = '0; end if (data >= 16'h8000) begin y = 4'd15; y_tp = '0; end

//xu ly ket qua temp = 4'bxxxx;

36 | P a g e temp = temp+1; if (y9999) begin for(int i=0;i99) begin for(int i=0;i9999) begin for(int i=0;i99) begin for(int i=0;i>2); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd32; end t=x+(x>>3); if((t&16'h8000)==0) begin

35 | P a g e x=t; y_tp = y_tp - 7'd17; end t=x+(x>>4); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd9; end t=x+(x>>5); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd4; end t=x+(x>>6); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd2; end t=x+(x>>7); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd1; end y_tp = y_tp-1; if (data == '0) begin y = '0; y_tp = '0; end if (data >= 16'h8000) begin y = 4'd15; y_tp = '0; end

//xu ly ket qua temp = 4'bxxxx;

36 | P a g e temp = temp+1; if (y9999) begin for(int i=0;i99) begin for(int i=0;i 20 & j < 32) lcd_rs = 1; else j=5; end

/* verilator lint_on BLKSEQ */ endmodule

➢ sqrt: module sqrt( input logic [32:0] data_i, output logic [16:0] result_o,result_o_tp

X_i = X_i - Y; end else P[i] = 0; end frac[4] = {17{P[4]}}&17'd50000; frac[3] = {17{P[3]}}&17'd25000; frac[2] = {17{P[2]}}&17'd12500; frac[1] = {17{P[1]}}&17'd6250; frac[0] = {17{P[0]}}&17'd3125; result_o_tp = frac[0] + frac[1] + frac[2] + frac[3] + frac[4]; result_o = P >> 5; end

/* verilator lint_on WIDTH */ endmodule

Sử dụng matlab để tính sai số

Code function result = bai7matlab(x, y)

% Chuyển đổi x và y về kiểu số nguyên 16 bit không dấu x = uint16(x); y = uint16(y);

% Tính x^2 và y^2 x_square = double(x) * double(x); y_square = double(y) * double(y);

% Định dạng kết quả với số thập phân thứ 5 result = sprintf('%.5f', rounded_result); end

Thực hiện tính toán các giá trị

Thực hiện tính toán sai số

➔ Sai số của giải thuật = 0,2771% Chứng tỏ độ chính xác của giải thuật khá cao.

Cơ sở lý thuyết

Các mạch cộng được xây dựng từ những bộ Full – Adder Mạch cộng Full Adder là một loại mạch điện tử được sử dụng để thực hiện phép cộng hai số nhị phân Nó nhận đầu vào là ba bit: bit cộng (carry-in), bit A và bit B, và tạo ra hai đầu ra: bit kết quả (sum) và bit nhớ (carry-out)

• A và B là hai bit cần được cộng

• Cin là bit cộng (carry-in)

• Sum là bit kết quả

• Cout là bit nhớ (carry-out)

Công thức logic cho mạch Full Adder như sau: sum = x  y  cin cout = x.y + cin.(x  y)

• XOR là cổng logic XOR (hoặc EXOR)

• AND là cổng logic AND

• OR là cổng logic OR

Sơ đồ cổng luận lý của Full Adder:

Cộng nối tiếp từng bit

Khi cộng nối tiếp từng bit của hai số, đầu tiên thực hiện cộng 2 bit LSB (và cộng bit nhớ cin ban đầu nếu có), sau đó tổng 2 bit LSB (sum) sẽ được đưa ra ở một thanh ghi dịch còn bit nhớ “cout” sẽ quay về “cin” để cộng chung với 2 bit kế tiếp bit LSB Mạch ghi dịch ngõ ra dịch chuyển sang phải qua mỗi lần cộng, số nhớ cuối cùng sẽ là MSB của tổng Mạch cần hoạt động cùng 1 xung nhịp để cho mạch làm việc đồng bộ Khi ngõ vào là 1 số n bit sẽ tạo ra số (n+1) bit không dấu với MSB là bit nhớ cuối

Hình 2 Mạch cộng 4 bit nối tiếp

Hình 3 Kết quả mô phỏng mạch cộng nối tiếp

8.2.3 Đánh giá tài nguyên phần cứng trên Cyclone II EP2C35F672C6

Hình 4 Tài nguyên phần cứng của mạch nối tiếp

8.2.4 Code SystemVerilog thực hiện giải thuật

• Code đưa lên LCD module LCD (clk,lcd_e,lcd_rs,lcd_on,lcd_blon,data_lcd,data_i,lcd_rw);

/* verilator lint_off BLKSEQ */ input clk; input [7:0] data_i [2:0]; output reg lcd_e, lcd_rs,lcd_on,lcd_blon,lcd_rw; output reg [7:0] data_lcd; integer i = 0; integer j = 1; reg [7:0] Datas [1:23]; always @(posedge clk) begin lcd_blon = '1; lcd_on = '1; lcd_rw = '0;

Datas[1] = 8'h38; // control instruction : configure - 2 lines

Datas[2] = 8'h0C; // control instruction : Display on, cursor off

Datas[3] = 8'h06; // control instruction : Increment cursor : shift cursor to right Datas[4] = 8'h01; // control instruction : clear display screen

Datas[5] = 8'h80; // control instruction : force cursor to begin at first line

Datas[20] = 8'hC0; // control instruction : force cursor to move to 2nd Line Datas[21] = data_i[2] + 8'h30;

Datas[23] = data_i[0] + 8'h30; end always @(posedge clk) begin

// Delay for writing data if (i 1000000 & i < 2000000) begin i = i + 1; lcd_e = 0; end else if (i == 2000000) begin j = j + 1; i = 0; end else i = 0;

62 | P a g e else if (j > 20 & j < 24) lcd_rs = 1; else j=5; end

• Code chuyển từ nhị phân sang thập phân module bin2dec ( input logic [8:0] bin_i, output logic [7:0] dec_o [2:0]

/* verilator lint_off WIDTH */ always_comb begin y = bin_i;

//hang tram temp = '0; if (y>99) begin for(int i=0;i 20 & j < 24) lcd_rs = 1; else j=5; end

• Code chuyển nhị phân sang thập phân module LCD (clk,lcd_e,lcd_rs,lcd_on,lcd_blon,data_lcd,data_i,lcd_rw);

/* verilator lint_off BLKSEQ */ input clk; input [7:0] data_i [2:0]; output reg lcd_e, lcd_rs,lcd_on,lcd_blon,lcd_rw; output reg [7:0] data_lcd; integer i = 0; integer j = 1; reg [7:0] Datas [1:23]; always @(posedge clk) begin lcd_blon = '1; lcd_on = '1; lcd_rw = '0;

Datas[1] = 8'h38; // control instruction : configure - 2 lines

Datas[2] = 8'h0C; // control instruction : Display on, cursor off

Datas[20] = 8'hC0; // control instruction : force cursor to move to 2nd Line

Datas[23] = data_i[0] + 8'h30; end always @(posedge clk) begin

71 | P a g e if (i 1000000 & i < 2000000) begin i = i + 1; lcd_e = 0; end else if (i == 2000000) begin j = j + 1; i = 0; end else i = 0;

// LCD_RS signal should be set to 0 for writing commands and to 1 for writing data if (j 5 & j < 20) lcd_rs = 1; else if (j == 20) lcd_rs = 0; else if (j > 20 & j < 24) lcd_rs = 1; else j=5; end

• Code mạch cộng song song module design_1( input clk_i,//lcd_e,lcd_rs,lcd_on,lcd_blon,lcd_rw,

72 | P a g e reg unsigned [2:0] j; always @(clk_i) begin

• Code thực hiện giải thuật module design_8 ( input unsigned [7:0] M,N, input logic clk_i, output logic lcd_e, lcd_rs,lcd_on,lcd_blon,lcd_rw, output logic [7:0] data_lcd

); logic [8:0] OUT; logic [7:0] OUT_LCD [2:0];

Cơ sở lý thuyết

Giải thuật nhân Modified Booth (Radix-4) sẽ đối chiếu 3-bit có trọng số thấp nhất của số nhân Q và ( )với bộ mã hóa và cho ra kết quả như bảng sau Sau đó tiến hành cộng biến tạm A với (0,±1,±2) x M(multiplicand) tương ứng và dịch phải toán học 2 bit

Số lần lặp lại = số bit/2

Hình 8 Mô tả giải thuật

Sơ đồ giải thuật

Hình 9 Sơ đồ giải thuật thuật toán Booth

Kết quả mô phỏng

Hình 10 Kết quả dạng sóng của giải thuật nhân Modified Booth

Code thực hiện giải thuật

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

Thiết kế mạch giải mã 74138 (đặt tên biến có bù bắng cách thêm “_n” hay “_bar” phía sau, TD: ngõ ra 𝑂7̅̅̅̅ có thể dùng danh hiệu Q7_n hay Q7_bar, dùng Q vì O dễ nhầm số 0)

Hãy viết mã SystemVerilog với các cách sau:

1) Dùng mô hình cấu trúc

2) Dùng mô hình luồng dữ liệu

4) Đánh giá tài nguyên phần cứng (xem hình minh họa bên dưới) khi thực thi trên FPGA Cyclone II EP2C35F672C6

); logic EN; logic [2:0] A_n; logic [2:0] E_n; not(A_n[0], A[0]); not(A_n[1], A[1]); not(A_n[2], A[2]); not(E_n[0], E[0]); not(E_n[1], E[1]); and(EN, E_n[0], E_n[1], E[2]); nand(Q_n[0],EN, A_n[2], A_n[1], A_n[0]); nand(Q_n[1],EN, A_n[2], A_n[1], A[0]); nand(Q_n[2],EN, A_n[2], A[1], A_n[0]); nand(Q_n[3],EN, A_n[2], A[1], A[0]); nand(Q_n[4],EN, A[2], A_n[1], A_n[0]); nand(Q_n[5],EN, A[2], A_n[1], A[0]); nand(Q_n[6],EN, A[2], A[1], A_n[0]); nand(Q_n[7],EN, A[2], A[1], A[0]); endmodule

3 | P a g e Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II

1.2 Dùng mô hình luồng dữ liệu

Phần code module test1 ( input logic [2:0] A, input logic [2:0] E, output logic [7:0] Q_n

); logic EN; assign EN = E[0] | E[1] | ~E[2]; assign Q_n[0] = EN | A[2] | A[1] | A[0]; assign Q_n[1] = EN | A[2] | A[1] | ~A[0]; assign Q_n[2] = EN | A[2] | ~A[1] | A[0];

4 | P a g e endmodule Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II

1.3 Dùng mô hình hành vi

Phần code module test1 ( input logic [2:0] A, input logic [2:0] E, output logic [7:0] Q_n

Q_n[k] = 0; end endmodule Đánh giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II

2) Dùng mô hình luồng dữ liệu

3) Dùng mô hình hành vi

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

NỘI DUNG BÁO CÁO BÀI 2

2.1 Dùng mô hình cấu trúc

Hình 2.1 Kết quả dạng sóng

• Tổng hợp phần cứng trên FPGA

Hình 2.2 Tổng hợp phần cứng trên FPGA

Hình 2.3 Code SystemVerilog module design_a ( input [2:0] a0_i, output [1:0] y0_i); wire [6:0] w0_i ;

//tinh Y and(w0_i[0],a0_i[0],a0_i[1]); and(w0_i[1],a0_i[0],a0_i[2]); and(w0_i[2],a0_i[1],a0_i[2]); or (y0_i[1],w0_i[0],w0_i[1],w0_i[2]);

//tinh z and(w0_i[3],~a0_i[2],~a0_i[1],a0_i[0]); and(w0_i[4],~a0_i[2],a0_i[1],~a0_i[0]); and(w0_i[5],a0_i[2],a0_i[1],a0_i[0]); and(w0_i[6],a0_i[2],~a0_i[1],~a0_i[0]); or(y0_i[0],w0_i[3],w0_i[4],w0_i[5],w0_i[6]); endmodule

• Tổng hợp phần cứng trên FPGA

Hình 2.5 Tổng hợp phần cứng trên FPGA

2.3 Dùng mô hình hành vi

Hình 2.7 Kết quả dạng sóng module design_b( input [2:0] a0_i, output [1:0] y0_i); assign y0_i[1] = (a0_i[2] & a0_i[1]) | (a0_i[2] & a0_i[0]) | (a0_i[1] & a0_i[0]) ; assign y0_i[0] = (~a0_i[2] & ~a0_i[1] & a0_i[0]) | (~a0_i[2] & a0_i[1] & ~a0_i[0]) | (a0_i[2] & a0_i[1] & a0_i[0]) | (a0_i[2] & ~a0_i[1] & ~a0_i[0]); endmodule : design_b

• Tổng hợp phần cứng trên FPGA

Hình 2.8 Tổng hợp phần cứng trên FPGA

Hình 2.9 module design_c ( input [2:0] a0_i, output [1:0] y0_i); always @(a0_i[2] or a0_i[1] or a0_i[0]) begin y0_i[1] = (a0_i[2] & a0_i[1]) | (a0_i[2] & a0_i[0]) | (a0_i[1] & a0_i[0]) ; y0_i[0] = (~a0_i[2] & ~a0_i[1] & a0_i[0]) | (~a0_i[2] & a0_i[1] & ~a0_i[0]) | (a0_i[2] & a0_i[1] & a0_i[0]) | (a0_i[2] & ~a0_i[1] & ~a0_i[0]); end endmodule : design_c

10 | P a g e giá tài nguyên phần cứng khi thực thi trên FPGA Cyclone II EP2C35F672C6

NỘI DUNG BÁO CÁO BÀI 3

// input input logic clk_i, input logic rst_n, input logic [3:0] N,

/*verilator lint_off UNUSED*/ always @(posedge clk_i) begin assert(Q >2); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd32; end t=x+(x>>3); if((t&16'h8000)==0) begin

35 | P a g e x=t; y_tp = y_tp - 7'd17; end t=x+(x>>4); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd9; end t=x+(x>>5); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd4; end t=x+(x>>6); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd2; end t=x+(x>>7); if((t&16'h8000)==0) begin x=t; y_tp = y_tp - 7'd1; end y_tp = y_tp-1; if (data == '0) begin y = '0; y_tp = '0; end if (data >= 16'h8000) begin y = 4'd15; y_tp = '0; end

//xu ly ket qua temp = 4'bxxxx;

36 | P a g e temp = temp+1; if (y9999) begin for(int i=0;i99) begin for(int i=0;i

Ngày đăng: 12/06/2024, 15:17

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Kết quả dạng sóng - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 2.1 Kết quả dạng sóng (Trang 9)
Hình 2.2 Tổng hợp phần cứng trên FPGA - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 2.2 Tổng hợp phần cứng trên FPGA (Trang 10)
Hình 2.5 Tổng hợp phần cứng trên FPGA - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 2.5 Tổng hợp phần cứng trên FPGA (Trang 11)
Hình 2.8 Tổng hợp phần cứng trên FPGA - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 2.8 Tổng hợp phần cứng trên FPGA (Trang 12)
Sơ đồ cổng luận lý của Full Adder: - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Sơ đồ c ổng luận lý của Full Adder: (Trang 61)
Hình 1. Sơ đồ cổng luận lý của Full Adder  8.2. Cộng nối tiếp từng bit: - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 1. Sơ đồ cổng luận lý của Full Adder 8.2. Cộng nối tiếp từng bit: (Trang 62)
Hình 2. Mạch cộng 4 bit nối tiếp - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 2. Mạch cộng 4 bit nối tiếp (Trang 62)
Hình 4. Tài nguyên phần cứng của mạch nối tiếp - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 4. Tài nguyên phần cứng của mạch nối tiếp (Trang 63)
Hình 5. Mạch cộng song song - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 5. Mạch cộng song song (Trang 69)
Hình 6. Kết quả mô phỏng mạch cộng song song - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 6. Kết quả mô phỏng mạch cộng song song (Trang 69)
9.2. Sơ đồ giải thuật. - báo cáo bài tập lớn xử lí tín hiệu số với fpga
9.2. Sơ đồ giải thuật (Trang 77)
Hình 8.  Mô tả giải thuật - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 8. Mô tả giải thuật (Trang 77)
Hình 9. Sơ đồ giải thuật thuật toán Booth - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 9. Sơ đồ giải thuật thuật toán Booth (Trang 78)
Hình 11. Tài nguyên phần cứng của giải thuật nhân Modified Booth - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 11. Tài nguyên phần cứng của giải thuật nhân Modified Booth (Trang 78)
Hình 13. Tài nguyên phần cứng với datapath cho trước - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 13. Tài nguyên phần cứng với datapath cho trước (Trang 96)
Sơ đồ giải thuật: - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Sơ đồ gi ải thuật: (Trang 98)
Hình 4.1. Sơ đồ DFG khi chưa áp dụng kỹ thuật tối thiểu hóa thanh ghi - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 4.1. Sơ đồ DFG khi chưa áp dụng kỹ thuật tối thiểu hóa thanh ghi (Trang 115)
Hình 5.2. Bảng cấp phát thuận-nghịch - báo cáo bài tập lớn xử lí tín hiệu số với fpga
Hình 5.2. Bảng cấp phát thuận-nghịch (Trang 117)

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

TÀI LIỆU LIÊN QUAN

w