Bài giảng "Điều khiển nhúng - Chương 3: Ứng dụng FPGA trong thiết kế các module điều khiển" cung cấp cho người học các kiến thức: Một số lưu ý khi thiết kế, thiết kế các module điều khiển. . | Bài giảng Điều khiển nhúng - Chương 3: Ứng dụng FPGA trong thiết kế các module điều khiển Chương 3 ỨNG DỤNG FPGA TRONG THIẾT KẾ CÁC MODULE ĐIỀU KHIỂN 1 I. MỘT SỐ LƯU Ý KHI THIẾT KẾ . Các biến chỉ được gán trong 1 khối always, không được gán trong nhiều khối always khác reg [7:0] a, b; reg [7:0] a, b; initial a = 4; initial a = 4; always @(posedge clk) begin always @(posedge clk or posedge reset) a = b + 2; begin end if (reset == 1) a = 0; always @(posedge reset) begin else a = 0; a = b + 2; end end 2 Trường ĐH Bách Khoa I. MỘT SỐ LƯU Ý KHI THIẾT KẾ . Để phát hiện xung cạnh lên của các tín hiệu, dùng xung clk tần số cao chèn vào module demxung_encoder (clk, enc, D); module demxung_encoder (clk, enc, D); input clk, enc; input clk, enc; output [7:0] D; output [7:0] D; reg [7:0] D = 8’h00; reg [7:0] D = 8’h00; reg pre_enc = 0; reg pre_enc = 0; always @(posedge clk) begin always @(posedge clk) begin pre_enc I. MỘT SỐ LƯU Ý KHI THIẾT KẾ . Dùng biến tạm để cập nhật giá trị các bộ đếm module do_dorongxung (clk, enc, D); module do_dorongxung (clk, enc, D); input clk, enc; input clk, enc; output [7:0] D; output [7:0] D; reg [7:0] D = 8’h00; reg [7:0] D = 8’h00, temp = 8’h01; reg pre_enc = 0; reg pre_enc = 0; always @(posedge clk) begin always @(posedge clk) begin pre_enc I. MỘT SỐ LƯU Ý KHI THIẾT KẾ . Ví dụ 1: Viết chương trình verilog đo tần số - Giá trị D được cập nhật sau mỗi module do_tanso (clk, enc, D); input clk, enc; cạnh lên của xung enc. output [7:0] D; - Tần số xung clk chọn rất lớn so reg [7:0] D = 8’h00, temp = 8’h00; với tần số của xung enc reg pre_enc = 0; - Nếu bộ đếm D vượt quá giá trị always @(posedge clk) begin 0xFF thì sẽ luôn bằng 0xFF end 5 Trường ĐH Bách Khoa I. MỘT SỐ LƯU Ý KHI THIẾT KẾ . Ví dụ 2: Viết chương trình verilog đo độ lệch pha 2 tín hiệu - Giá trị D được cập nhật sau mỗi module do_dolechpha (clk, encA, .