Tóm tắt bài giảng Thiết kế hệ thống số (Verilog) - Phần 2 - Nguyễn Trọng Hải

I. Đặt giá trị:
Verilog bao gồm 4 giá trị cơ bản. Hầu hết các dạng dữ liệu Verilog chứa các
giá trị sau:
0: mức logic 0, hoặc điều kiện sai.
1: mức logic 1, hoặc điều kiện đúng.
X: mức logic tuỳ định
Z: trạng thái tổng trở cao.
X và Z dùng có giới hạn trong tổng hợp (synthesis) 
pdf 6 trang thamphan 29/12/2022 900
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 2 - 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:

  • pdftom_tat_bai_giang_thiet_ke_he_thong_so_verilog_phan_2_nguyen.pdf

Nội dung text: Tóm tắt bài giảng Thiết kế hệ thống số (Verilog) - Phần 2 - Nguyễn Trọng Hải

  1. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog Chương IV CÁC DẠNG DỮ LIỆU I. Đặt giá trị: Verilog bao gồm 4 giá trị cơ bản. Hầu hết các dạng dữ liệu Verilog chứa các giá trị sau: 0: mức logic 0, hoặc điều kiện sai. 1: mức logic 1, hoặc điều kiện đúng. X: mức logic tuỳ định Z: trạng thái tổng trở cao. X và Z dùng có giới hạn trong tổng hợp (synthesis) II. Wire: Mô tả vật liệu đườ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. Giá trị của Wire có thể đọc, nhưng không được gán trong hàm (function) hoặc khối (block). Wire không lưu trữ giá trị của nó nhưng vẫn phải được thực thi bởi 1 lệnh gán kế tiếp hay bởi sự kết nối Wire với ngõ ra của 1 cổng hoặc 1 module. Những dạng đặc biệt khác của Wire: Wand(wired_and): giá trị phụ thuộc vào mức logic And toàn bộ bộ điều khiển kết nối đến Wire. Wor (wired_or): giá trị phụ thuộc vào mức logic Or toàn bộ bộ điều khiển kết nối đến Wire. Tri(three_state): tất cả bộ điều khiển kết nối đến 1 tri phải ở trạng thái tổng trở cao. 1. Cú pháp: Wire [msb:lsb] tên biến wire. Wand [msb:lsb] tên biến wand. Wor [msb:lsb] tên biến wor. Tri [msb:lsb] tên biến tri. 2. Ví dụ: GV: Nguyễn Trọng Hải Trang 6
  2. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog V. Integer (Số nguyên): Integer là một biến đa năng. Trong tổng hợp chúng được dùng chủ yếu cho vòng lặp, tham số, và hằng số. Chúng hoàn toàn là reg. Tuy nhiêu chúng chứa dữ liệu bằng những số có dấu, trong khi đó khai báo dạng reg chứa chung bằng số không dấu. Nếu chúng chứa những số mà không định nghĩa thời gian biên dịch thì kích thước mặc định là 32 bit. Nếu chúng chứa hằng, sự tổng hợp điều chỉnh các số có kích thước nhỏ nhất cần thiết cho sự biên dịch. 1. Cú pháp: Integer tên biến nguyên; tên hằng nguyên ; 2. Ví dụ: Integer a; // số nguyên đơn giản 32bit. Assign b= 63; // mặc định là một biến 7 bit. VI. Supply 0, Supply1: Xác định chổ đường dẫn lên mức logic 0 ( đất), logic 1( nguồn) theo thứ tự định sẵn. VII. Time: Time là một lượng 64 bit mà được sử dụng cùng với $time, hệ thống thao tác chứa lượng thời gian mô phỏng. Time không được hỗ trợ tổng hợp và vì thế chỉ được dùng trong mục đích mô phỏng. 1. Cú pháp: Time biến time; 2. Ví dụ: Time c; c = $time; // c = thời gian mô phỏng dòng điện. VIII. Parameter (Tham số): Một Parameter xác định 1 hằng số mà được đặt khi bạn cho ví dụ cụ thể là một module. Các này cho phép ta có thể sửa chữa. 1. Cú pháp: Parameter par_1= gái trị, par_2= gái trị, ; Parameter [giới hạn] par_3 = giá trị; 2. Ví dụ: GV: Nguyễn Trọng Hải Trang 8
  3. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog ChươngV TOÁN TỬ I. Toán tử số học: Những toán tử này thực hiện các phép tính số học. Dấu ’+’ và ’-’ có thể được sử dụng một trong hai toán tử đơn (-z) hoặc kép (x - y). 1. Toán tử: +, -, *, /, %. 2. Ví dụ: parameter n = 4; Reg[3:0] a, c, f, g, count; f= a +c; g= c –n; count = (count +1) % 16; // có thể đếm từ 0 đến 15. II. Toán tử quan hệ: Toán tử quan hệ so sánh hai toán hạng và trả về một đơn bit là 0 hoặc 1. Những toán tử này tổng hợp vào dụng cụ so sánh. Biến Wire và Reg là những biến dương. Vì thế, (-3b001) = (3b111) và (-3b001) > ( 3b110) nhưng nếu là số nguyên thì -1 , >=, = =, !=. 2. Ví dụ: If (x= =y) e =1; Else e= 0; // so sánh hai vector a, b reg [3:0] a, b; if (a[3] = =b [3]) a[2:0] >b[2:0]; else b[3]; GV: Nguyễn Trọng Hải Trang 10