Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 4
Số trang: 12
Loại file: pdf
Dung lượng: 528.35 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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 assign2.Chỉ dùng hàm always@1.Với If2.Với Case3.Dùng kết hợp assign và always4.Đưa ra phương án kiểm tra trên KIT DE
Nội dung trích xuất từ tài liệu:
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 4hoangquang.dientu@gmail.comNhận hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGABÀI 4:NGÔN NGỮ LẬP TRÌNH PHẦNCỨNG VERILOG HDL (PHẦN 2) FPGA Class 30/05/2013 1Nộ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 2Hà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 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ảiHàm if đầy đủ trường hợp chú ý đến nhánh else để tránh tạo chốt FPGA Class 30/05/2013 4Nộ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 5Hà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 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ợpHàm case đầy đủ trường hợp phải có default để tránh tạo chốt FPGA Class 30/05/2013 7So 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ạ ...
Nội dung trích xuất từ tài liệu:
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 4hoangquang.dientu@gmail.comNhận hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGABÀI 4:NGÔN NGỮ LẬP TRÌNH PHẦNCỨNG VERILOG HDL (PHẦN 2) FPGA Class 30/05/2013 1Nộ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 2Hà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 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ảiHàm if đầy đủ trường hợp chú ý đến nhánh else để tránh tạo chốt FPGA Class 30/05/2013 4Nộ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 5Hà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 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ợpHàm case đầy đủ trường hợp phải có default để tránh tạo chốt FPGA Class 30/05/2013 7So 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ạ ...
Tìm kiếm theo từ khóa liên quan:
FPGA ngôn ngữ Verilog mô phỏng orcad thiết kế mạch mạch điện tử nguyên lý mạch điện thiết kê sơ đồ nguyên lýTài liệu liên quan:
-
Báo cáo thưc hành: Thiết kế mạch bằng phần mềm altium
9 trang 241 0 0 -
Giáo trình Mạch điện tử - Trường Cao đẳng nghề Số 20
97 trang 171 0 0 -
Tiểu luận: Tìm hiểu công nghệ OFDMA trong hệ thống LTE
19 trang 160 0 0 -
88 trang 107 0 0
-
Đồ án: Vẽ và thiết kế mạch in bằng Orcad
32 trang 103 0 0 -
Đồ án môn học: Thiết kế mạch chuyển nhị phân 4 Bit sang mã Gray và dư 3 sử dụng công tắc điều khiển
29 trang 96 0 0 -
Đồ án Thiết kế mạch điện tử - Chuyên đề: Thiết kế mạch nguồn 12V - 3A
25 trang 94 1 0 -
Giáo trình Lý thuyết mạch tín hiệu - Tập 1: Phần 1 - PGS.TS. Đỗ Huy Giác, TS. Nguyễn Văn Tách
122 trang 93 0 0 -
72 trang 88 0 0
-
4 trang 87 0 0