Tóm tắt bài giảng Thiết kế hệ thống số Verilog - Phần 3 - Nguyễn Trọng Hải
I. Literals (dạng kí tự):
Là toán hạng có giá trị không đổi mà được dùng trong biểu thức Verilog. Có
hai dạng kí tự là:
Chuỗi: là một mảng có nhiều kí tự được đặt trong dấu ””.
Chữ số: là những số không đổi, nhị phân, bát phân, thập phân, hoặc số hex.
1. Cú pháp các chữ số:
n’F dddd…
Trong đó:
n : số nguyên miêu tả số bit.
F: một trong bốn định dạng sau: b( số nhị phân), o( số bát phân), d( số thập
phân), h( số hex).
Là toán hạng có giá trị không đổi mà được dùng trong biểu thức Verilog. Có
hai dạng kí tự là:
Chuỗi: là một mảng có nhiều kí tự được đặt trong dấu ””.
Chữ số: là những số không đổi, nhị phân, bát phân, thập phân, hoặc số hex.
1. Cú pháp các chữ số:
n’F dddd…
Trong đó:
n : số nguyên miêu tả số bit.
F: một trong bốn định dạng sau: b( số nhị phân), o( số bát phân), d( số thập
phân), h( số hex).
Bạn đang xem tài liệu "Tóm tắt bài giảng Thiết kế hệ thống số Verilog - Phần 3 - Nguyễn Trọng Hải", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- tom_tat_bai_giang_thiet_ke_he_thong_so_verilog_phan_3_nguyen.pdf
Nội dung text: Tóm tắt bài giảng Thiết kế hệ thống số Verilog - Phần 3 - Nguyễn Trọng Hải
- Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog Module chk_zero (a,z); Input [2:0] a; Output z; Assign z = ~| a; Endmodule VI. Toán tử ghép: Dịch toán tử đầu bằng chữ số của các bit được định nghĩa bởi toán tử thou hai. Vị trí còn trống sẽ được điền vào với những số 0 cho cả hai trường hợp dịch trái hoặc phải. 1. Toán tử: > (dịch phải). 2. Ví dụ: assign c = a<<2; c = a dịch trái 2 bit các chỗ trống được điền với những số 0. VII. Toán tử dịch: Ghép hai hoặc nhiều toán hạng thành một vectơ lớn. 1. Toán tử: {} (concatenation) 2. Ví dụ: Wire [1:0] a, b; Wire [2:0] x; Wire [3:0] y, Z; Assign x = {1’b0, a}; // x[2] = 0, x[1] = a[1], x[0] = a[0]. Assign y = {a, b}; // y[3]= a[1], y[2] = a[0], y[1] = b[1], y[0] = b[0]. VIII. Toán tử thứ bản: Tạo ra nhiều bản sao của một mục chọn. 1. Toán tử: {n{ mục chọn }} n nhóm thứ bản trong một mục chọn. 2. Ví dụ: Wire [1:0] a, b; Wire [3:0] x; GV: Nguyễn Trọng Hải Trang 12
- Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog Chương VI TOÁN HẠNG I. Literals (dạng kí tự): Là toán hạng có giá trị không đổi mà được dùng trong biểu thức Verilog. Có hai dạng kí tự là: Chuỗi: là một mảng có nhiều kí tự được đặt trong dấu ””. Chữ số: là những số không đổi, nhị phân, bát phân, thập phân, hoặc số hex. 1. Cú pháp các chữ số: n’F dddd Trong đó: n : số nguyên miêu tả số bit. F: một trong bốn định dạng sau: b( số nhị phân), o( số bát phân), d( số thập phân), h( số hex). 2. Ví dụ: “time is”// chuỗi kí tự. 267 // mặc định 32 bit số thập phân. 2’b01 // 2 bit nhị phân. 20’h B36E // 20 bit số hex. ‘o62 // 32 bit bát phân. II. Chọn 1 phần tử bit và chọn 1 phần các bit. Đây là sự lựa chọn một bít đơn hoặc một nhóm bit theo thứ tự, từ một wire, reg hoặc từ tham số đặt trong ngoạc [ ]. Chọn 1 phần tử bit và chọn 1 phần các bit có thể được dùng như là các toán hạng trong biểu thức bằng nhiều cách thức giống nhau mà các đối tượng dữ liệu gốc được dùng. 1. Cú pháp: Tên biến [ thứ tự bit]. Tên biến [ msb: lsb]. 2. Ví dụ: GV: Nguyễn Trọng Hải Trang 14
- Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog Chương VII MODULES I. Khai báo modules: Một module là bản thiết kế chủ yếu tồn tại trong Verilog. Dòng đầu tiên của khai báo module chỉ rõ danh sách tên và port (các đối số). Những dòng kế tiếp chỉ rõ dạng I/O (input, output, hoặc inout) và chiều rộng của mỗi port. Mặc định chiều rộng port là 1 bit. Sau đó, những biến port phải được khai báo wire, wand, , reg. Mặc định là wire. Những ngõ vào đặc trưng là wire khi dữ liệu được chốt bean ngoài module. Các ngõ ra là dạng reg nếu những tín hiệu của chúng được chứa trong khối always hoặc initial. 1. Cú pháp: Module tên module (danh sách port); Input [msb:lsb] danh sách port ngõ vào; Output [msb:lsb] danh sách port ngõ ra; Inout [ msb:lsb ] danh sách port vào_ ra; các lệnh endmodule 2. Ví dụ: Module add_sub(add, in1, in2, out); Wire, reg, và tham số: Input[7:0 ] in1, in2; Wire in1, in2; Output [7:0] out; Reg out; các lệnh khác Endmodule GV: Nguyễn Trọng Hải Trang 16