Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 4
lượt xem 65
download
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
Bình luận(0) Đăng nhập để gửi bình luận!
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ví dụ máy trạng thái FPGA Class 30/05/2013 11
- KẾT THÚC BÀI 4 FPGA Class 30/05/2013 12
CÓ THỂ BẠN MUỐN DOWNLOAD
-
HƯỚNG DẪN SỬ DỤNG MÁY THỦY BÌNH SỐ SPRINTER 150M
12 p | 691 | 86
-
Hướng dẫn sử dụng phần mềm ADS Civil
19 p | 1214 | 80
-
Giáo trình THIẾT KẾ BÀI GIẢNG ĐIỆN TỬ - Chương 5
4 p | 255 | 68
-
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 1
19 p | 335 | 66
-
Hướng dẫn sử dụng KCW2005-chuơng 6
8 p | 185 | 63
-
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 3
22 p | 223 | 63
-
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 5
17 p | 374 | 60
-
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 2
15 p | 292 | 50
-
Hướng dẫn cho người mới bắt đầu tìm hiểu rung động của máy
16 p | 160 | 34
-
Bài giảng Thiết kế yếu tố hình học đường ô tô: Chương 3 - TS. Lê Văn Bách
31 p | 246 | 24
-
Quy trình tính toán và hướng dẫn sử dụng phần mềm lựa chọn chi tiết máy tiêu chuẩn MITCalc
78 p | 167 | 21
-
Thiết kế cầu bê tông theo tiêu chuẩn Châu Âu (EUROCODE) và tiêu chuẩn Đức (DIN) -Các tác động lên cầu và trạng thái giới hạn sử dụng-
7 p | 181 | 15
-
Hướng dẫn sử dụng phần mềm CMF METFLOOR – Thiết kế sàn deck (Sàn composite)
23 p | 77 | 11
-
Thiết kế thành phố an toàn hơn
104 p | 76 | 8
-
Hướng dẫn bảo quản Ván sàn tre
5 p | 79 | 6
-
Giáo trình hướng dẫn phân tích nguyên lý chung của hệ thống báo giờ tự động thông qua tần số xung clock p1
9 p | 84 | 6
-
Email liên hệ: hoangquang.dientu@gmail.com Nhận thực hiện hoặc hướng dẫn thiết kế sử dụng ngôn ngữ Verilog HDL trên FPGA – KIT DE1 – DE2. Chi tiết xin liên hệ email. Địa chỉ: Tp. Hồ Chí Minh Đối tượng: Sinh viên và các bạn có nhu cầu về thiết kế số Phương
4 p | 88 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn