Giáo trình lập trình Verilog Tiếng Việt 6 ppt

6 644 31
Giáo trình lập trình Verilog Tiếng Việt 6 ppt

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 30 tồn tại bằng việc sử dụng ngoài những nhánh mặc đònh. Chú ý rằng chốt sẽ được tạo ra nếu một biến không được gán cho các điều kiện nhánh có thể tồn tại. Để hoàn thiện mã có thể đọc được, dùng lệnh case để tạo mẫu đa cộng lớn. III. Bộ cộng, trừ: Toán tử cộng trừ trong bộ cộng trừ mà có chiều rộng phụ thuộc vào chiều rộg của toán tử lớn hơn. IV. Bộ đệm 3 trạng thái: Bộ đệm ba trạng thái được suy ra nếu biến được gán theo điều kiện giá trò tổng trở cao Z dùng một trong các toán tử: if, case,… V. Các linh kiện khác: Hầu hết các cổng logic được suy ra từ việc dùng những toán hạng tương ứng của chúng. Như một sự lựa chọn một cổng hoặc một thành phần có thể được giải thích rõ ràng bằng ví dụ cụ thể và sử dụng các cổng cơ sở (and, or, nor, inv…) miễn là bằng ngôn ngữ Verilog. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 31 Chương XII MỘT SỐ VÍ DỤ I. Cấu trúc một chương trình dùng ngôn ngữ Verilog: // Khai báo module Module tên chương trình (tên biến I/O); // tên chương trình trùng tên file.v. Input [msb:lsb] biến; Output [msb:lsb] biến; Reg [msb:lsb] biến reg; Wire [msb: lsb] biến wire; // Khai báo khối always, hoặc khối initial. … các lệnh … Endmodule II. Một số ví dụ: Phần mền hỗ trợ: MAX+plusII 10.0 BASELINE 1. Ví dụ 1: a. Chương trình tính NOR các bit của biến vào module vdcong(in,out); input[3:0] in; output out; assign out= ~|in; endmodule Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 32 b. Mô phỏng 2. Ví dụ 2: a. Chương trình cộng hai biến bốn bit module adder (sum_out, carry_out, carry_in, ina, inb); output [3:0]sum_out; input [3:0]ina, inb; output carry_out; input carry_in; wire carry_out, carry_in; wire[3:0] sum_out, ina, inb; assign { carry_out, sum_out } = ina + inb + carry_in; Endmodule Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 33 b. Mô phỏng 3. Ví dụ 3: a. Chương trình giải mã 2 sang 4 module dec2to4 (w, en, y); input [1:0] w; input en; output[3:0] y; wire[1:0]w; reg[3:0]y; wire en; always @(w or en) begin if(en==1'b1) begin case(w) 2'b00: y<=4'b1000; 2'b01: y<=4'b0100; 2'b10: y<=4'b0010; default:y<=4'b0001; Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 34 endcase end else y<= 4'b0000; end endmodule b. Mô phỏng 4. Ví dụ 4: a. Bộ dồn kênh 2 sang 1 module mux12(w0, w1, s, y); input w0, w1; input s; output y; wire w0, w1, s; reg y; Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 35 always @(w0 or w1 or s) begin if(s==1) y = w0; else y = w1; end endmodule b. Mô phỏng 5. Ví dụ 5: a. Chương trình dồn kênh 4 sang 1 module mux14(w0, w1, w2, w3, s, y); input w0, w1, w2, w3; input[1:0] s; output y; wire w0, w1,w2,w3; reg y; . là bằng ngôn ngữ Verilog. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV: Nguyễn Trọng Hải Trang 31 Chương XII MỘT SỐ VÍ DỤ I. Cấu trúc một chương trình dùng ngôn ngữ Verilog: //. chương trình dùng ngôn ngữ Verilog: // Khai báo module Module tên chương trình (tên biến I/O); // tên chương trình trùng tên file.v. Input [msb:lsb] biến; Output [msb:lsb] biến; Reg. 1: a. Chương trình tính NOR các bit của biến vào module vdcong(in,out); input[3:0] in; output out; assign out= ~|in; endmodule Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog GV:

Ngày đăng: 10/07/2014, 20:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan