Điều khiển động cơ thuận nghịch

Một phần của tài liệu Giáo trình vi mạch số lập trình (nghề điện tử công nghiệp) (Trang 121 - 125)

Các cổng and/or có nhiều ngõ vào và một ngõ ra. Tên đầu tiên trong danh sách các port kết nối với cổng là một ngõ ra, và các tên còn lại là các ngõ vào. Các cổng and/or cơ bản trong verilog là and, or, xor, nand, nor và xnor. Kí hiệu của các cổng and/or hai ngõ vào và một ngõ ra như hình 6.5.

Hình 6.5 – Ký hiệu các loại cổng and/or

Người thiết kế dễ dàng thêm các ngõ vào khi thực hiện các cổng tương ứng. Ta có thể không cần chỉ rõ tên thể hiện của các cổng, điều này cho phép thực hiện vài trăm cổng mà không cần đặt tên.

Ví dụ:

wire OUT, IN1, IN2; // các cổng cơ bản

and a1(OUT, IN1, IN2); nand na1(OUT, IN1, IN2); or or1(OUT, IN1, IN2);

nor nor1(OUT, IN1, IN2); xor x1(OUT, IN1, IN2); xnor nx1(OUT, IN1, IN2);

// có nhiều hơn 2 ngõ, đây là cổng nand 3 ngõ vào nand na1_3inp(OUT, IN1, IN2, IN3); // cổng không cần tên

and (OUT, IN1, IN2);

Bảng 6.5 – Bảng sự thật các cổng

Loại cổng Bufif/Notif:

Cổng bufif/notif có một ngõ vào và có một hoặc nhiều ngõ ra. Các cổng cơ bản được cung cấp bởi verilog là bufif và notif, ngõ vào là in và ngõ ra là out. Các loại cổng bufif/notif được thể hiện trong verilog là bufif1, notif1, bufif0 và notif0.

Hình 6.6 – Ký hiệu các loại cổng bufif và notif

Các loại cổng này chỉ truyền tín hiệu khi có tín hiệu điều khiển, và sẽ ở trạng thái tổng trở cao khi không có tín hiệu điều khiển.

Ví dụ:

//cổng bufif.

bufif1 b1 (out, in, ctrl); bufif0 b0 (out, in, ctrl); //cổng notif

notif1 n1 (out, in, ctrl); notif0 n0 (out, in, ctrl);

Các ví d:

v Bộ dồn kênh 4-1 (4-1 multiplexer):

Sơ đồ cổng logic

Mô tả trực quan các cổng trong verilog:

// bộ dồn kênh 4-1, với các ngõ in/out như trong sơ đồ cổng module mux4_to_1 (out, i0, i1, i2, i3, s1, s0);

// khai báo các in/out output out;

input i0, i1, i2, i3; input s1, s0;

// Khai báo các dây nối bên trong wire s1n, s0n;

wire y0, y1, y2, y3; // hiện thực các cổng

//Tạo các tín hiệu s1n và s0 not (s1n, s1); not (s0n, s0); // Các cổng and 3 ngõ vào

and (y0, i0, s1n, s0n); and (y1, i1, s1n, s0); and (y2, i2, s1, s0n); and (y3, i3, s1, s0); // Cổng or 4 ngõ vào.

or (out, y0, y1, y2, y3); endmodule

v Bộ cộng 1 bit:

Sơ đồ cổng logic

Mô tả trong verilog:

// Khai báo bộ cộng 1 bit

module fulladd (sum, c_out, a, b, c_in); // Khai báo các cổng IO

output sum, c_out; input a, b, c_in; // Các dây nối bên trong

wire s1, c1, c2; // Hiện thực các cổng logic

and (c1, a, b); xor (sum, s1, c_in); and (c2, s1, c_in); xor (c_out, c2, c1); endmodule

Một phần của tài liệu Giáo trình vi mạch số lập trình (nghề điện tử công nghiệp) (Trang 121 - 125)

Tải bản đầy đủ (PDF)

(125 trang)