intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 4

Chia sẻ: Nguyen Hoang Quang | Ngày: | Loại File: PDF | Số trang:12

508
lượt xem
65
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

1.Diễn giải chức năng của mạch? 2.Xác định ngõ vào (tín hiệu vào) và ngõ ra (tín hiệu ra của mạch)? Từ đó vẽ sơ đồ chân tín hiệu. 3.Viết RTL code bằng ngôn ngữ Verilog mô tả mạch bên theo các cách sau: 1.Chỉ dùng hàm assign 2.Chỉ dùng hàm always@ 1.Với If 2.Với Case 3.Dùng kết hợp assign và always 4.Đưa ra phương án kiểm tra trên KIT DE

Chủ đề:
Lưu

Nội dung Text: Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 4

  1. hoangquang.dientu@gmail.com Nhận hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA BÀI 4: NGÔN NGỮ LẬP TRÌNH PHẦN CỨNG VERILOG HDL (PHẦN 2) FPGA Class 30/05/2013 1
  2. Nội dung chính  Hàm If  Hàm case  Máy trạng thái FSM  Ví dụ thực hiện FPGA Class 30/05/2013 2
  3. Hàm If  Hàm If nằm trong cấu trúc always  If () begin Phải có nếu có nhiều dòng lệnh  Kết quả 1;  end Phải có nếu là mạch tổ hợp  else if () begin hoặc là mạch tuần tự nhưng  Kết quả 1; không muốn giữ lại giá trị cũ.  end  else begin  Kết quả khác;  end FPGA Class 30/05/2013 3
  4. Ví dụ hàm If  module example_1 (a, b, c, d, sel, y);  module example_1 (a, b, c, sel, y);  input a;  input a;  input b;  input b;  input c;  input c;  input d;  input [1:0] sel;  input [1:0] sel;  output reg [1:0] y;  output reg [1:0] y;  always @ (*) begin  always @ (*) begin  If (sel == 1’b00)  If (sel == 1’b00)  y = a;  y = a;  else if (sel == 1’b01)  else if (sel == 1’b01)  y = b;  y = b;  else if (sel == 1’b10)  else if (sel == 1’b10)  y = c;  y = c;  end  else  y = d;  endmodule  end  endmodule Hàm if không đầy đủ trường hợp phải Hàm if đầy đủ trường hợp chú ý đến nhánh else để tránh tạo chốt FPGA Class 30/05/2013 4
  5. Nội dung chính  Hàm If  Hàm case  Máy trạng thái FSM  Ví dụ thực hiện FPGA Class 30/05/2013 5
  6. Hàm case và casex Một hoặc nhiều tín hiệu ghép lại  case () Giá trị điều kiện là hằng số (chỉ là 1 hoặc 0)  : begin  ; Phải có nếu có nhiều dòng lệnh  end  : begin Phải có nếu là mạch tổ hợp  ;  end  default: begin casex sử dụng như hàm case nhưng giá trị điều  ; kiện có thể là “X” (don’t care – tùy định)  end  casex ()  endcase  endcase FPGA Class 30/05/2013 6
  7. Ví dụ hàm case  module example_1 (a, b, c, d, sel, y);  module example_1 (a, b, c, sel,  input a; y);  input b;  input a;  input c;  input b;  input d;  input c;  input [1:0] sel;  input [1:0] sel;  output reg [1:0] y;  output reg [1:0] y;  always @ (*) begin  case (sel)  always @ (*) begin  2’b00: y = a;  case (sel)  2’b01: y = b;  2’b00: y = a;  2’b10: y = c;  2’b01: y = b;  2’b11: y = d;  2’b10: y = c;  endcase  endcase  end  end  endmodule  endmodule Hàm case không đầy đủ trường hợp Hàm case đầy đủ trường hợp phải có default để tránh tạo chốt FPGA Class 30/05/2013 7
  8. So sánh If và case  If sẽ tạo ra mạch  Case sẽ tạo ra xử lý nối tiếp mạch xử lý song  Tốc độ xử lý chậm. song  Tốc độ xử lý  Diện tích có thể nhanh. nhỏ hơn case.  Diện tích thường lớn hơn If.  Mạch tạo bởi casex đôi  Điều này còn tùy khi tương đồng với vào trình tổng hợp hàm If. sử dụng FPGA Class 30/05/2013 8
  9. Bài tập ví dụ tổng hợp 1. Diễn giải chức năng của mạch? 2. Xác định ngõ vào (tín hiệu vào) và ngõ ra (tín hiệu ra của mạch)? Từ đó vẽ sơ đồ chân tín hiệu. 3. Viết RTL code bằng ngôn ngữ Verilog mô tả mạch bên theo các cách sau: 1. Chỉ dùng hàm assign 2. Chỉ dùng hàm always@ 1. Với If 2. Với Case 3. Dùng kết hợp assign và always 4. Đưa ra phương án kiểm tra trên KIT DE1. FPGA Class 30/05/2013 9
  10. Máy trạng thái (FSM – Finite State Machine) parameter = ;  hai biến kiểu reg với state/current_state và next_state   Hoạt động theo xung clock  Toàn bộ máy trạng thái là mạch tuần tự FPGA Class 30/05/2013 10
  11. Ví dụ máy trạng thái FPGA Class 30/05/2013 11
  12. KẾT THÚC BÀI 4 FPGA Class 30/05/2013 12
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2