CHƯƠNG 1: TỔNG QUAN VỀ VERILOG 1.1. Các thuật ngữ trong Verilog • Khoảng trắng: khoảng cách giữa các từ, chứa các kí tự khoảng trắng • chú thích: Ghi chú lại chức năng hoặc bước thực hiện • Định danh: Tên của biến, tên module hay các khối, hàm, tên trường hợp • Từ khóa: Chữ thường, dùng để định nghĩa cấu trúc ngôn ngữ 1.2. Cấu trúc chương trình dùng ngôn ngữ Verilog module tenmodule(tenbienIO); Khai báo Port Khai báo Kiểu đường dây Khai báo Các parameter Mô tả mạch thiết kế(Câu lệnh) endmodule Khai báo module: module tenmodule(tenbienIO); Trong đó tenmodule do người lập trình đặt, tên biến IO lần lượt là các port inout mà chương trình sử dụng Phép gán liên tục – assign • Đặt bên ngoài khối always hoặc initial assign tên biến = biểu thức; • Khai báo wire : wire: đường dây dẫn trong một mạch điện và được dùng để kết nối các cổng hay các module wire msb:lsb tên biến wire; • Khai báo reg : • reg: reg (register) là đối tượng dữ liệu mà nó chứa có giá trị từ một thủ tục gán kế tiếp. Reg chỉ được dùng trong hàm và khối thủ tục. reg msb:lsb tên biến reg; CHƯƠNG 2: TOÁN TỬ VERILOG 2.1. Biểu diễn số trong Verilog 2.1.1. Biểu diễn giá trị logic trong Verilog Biểu diễn giá trị logic: Verilog HDL có 4 giá trị logic LOGIC Mô tả 0 Mức 0, điều kiện sai 1 Mức 1, điều kiện đúng X or x Mức tùy định Z or z Trạng thái tổng trở cao 2.1.2. Cách biểu diễn số: Số có cơ số: số nguyên được khai báo dùng những cơ số nhất định (hệ 2, 8, 10, 16) integer_name = size base value; Trong đó: • integer_name: tên của số nguyên cần dùng • size: số bit nhị phân (biểu diễn số nguyên) • base: cơ số (theo đó: b – binary; o – octal; d – decimal; h hexadecimal) • value: giá trị thiết lập Ví dụ: 2.2 Toán tử trong Verilog 2.2.1.Toán tử số học: • + :cộng theo bit • :trừ theo bit • : nhân • :chia • % : chia lấy dư Lưu ý: Nếu bất kì bit nào của một toán hạng trong toán tử số học là x hay z thì kết quả là x. 2.2.2. Toán tử quan hệ: So sánh 2 toán hạng và trả về giá trị 0 hoặc 1 (truefalse). • > (lớn hơn ) • < ( nhỏ hơn ) • >= (lớn hơn hoặc bằng ) •