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

Khối always:
Là cấu trúc chín trong khuôn mẫu RTL (Register Transfer Level). Giống chỉ
định liên tục, đây là trạng thái tồn tại mà được thực thi liên tục trong khi mô
phỏng. Cái này cũng có nghĩa là tất cả các khối always trong một module thực
thi một cách liên tục. Khối always có thể được dùng trong chốt, flip flop hay
các kết nối logic. Nếu các lệnh của khối always nằm trong phạm vi khối
begin… end thì được thực thi liên tục, nếu nằm trong khối fort… join, chúng
được thực thi đồng thời (chỉ trong mô phỏng).
Khối always thực hiện bằng mức, cạnh lên hoặc cạnh xuống của một hay
nhiều tín hiệu (các tín hiệu cách nhau bởi từ khóa OR) 
pdf 6 trang thamphan 29/12/2022 2540
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 5 - 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:

  • pdfgiao_trinh_lap_trinh_verilog_tieng_viet_5_458.pdf

Nội dung text: Tóm tắt bài giảng Thiết kế hệ thống số Verilog - Phần 5 - 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 IX KHỐI ALWAYS VÀ KHỐI INITIAL I. Khối always: Là cấu trúc chín trong khuôn mẫu RTL (Register Transfer Level). Giống chỉ định liên tục, đây là trạng thái tồn tại mà được thực thi liên tục trong khi mô phỏng. Cái này cũng có nghĩa là tất cả các khối always trong một module thực thi một cách liên tục. Khối always có thể được dùng trong chốt, flip flop hay các kết nối logic. Nếu các lệnh của khối always nằm trong phạm vi khối begin end thì được thực thi liên tục, nếu nằm trong khối fort join, chúng được thực thi đồng thời (chỉ trong mô phỏng). Khối always thực hiện bằng mức, cạnh lên hoặc cạnh xuống của một hay nhiều tín hiệu (các tín hiệu cách nhau bởi từ khóa OR). Cú pháp: Always @(sự kiện 1 or sự kiện 2 or ) Begin các lệnh end Always @(sự kiện 1 or sự kiện 2 or ) Begin: tên khối các lệnh end II. Khối initial Giống như khối always nhưng khối initial chỉ thực thi một lần từ lúc bắt d8ầu của quá trình mô phỏng. Khối này thì tiêu biểu để biến khởi chạy và chỉ định dạng sóng tín hiệu trong lúc mô phỏng. GV: Nguyễn Trọng Hải Trang 24
  2. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog Chương X HÀM Hàm được khai báo trong phạm vi một module, và có thể được gọi từ những lệnh liên tục, khối always, hoặc những hàm khác. Trong lệnh chỉ định liên tục, cúng được chỉ định liên tục khi bất kì các hàm khai báo ngõ vào thay đổi. Trong chương trinh chúng được chỉ dịng tới khi cần gọi. Các hàm mô tả sự kết nối logic, và không tạo ra chốt. Do đó một lệnh if mà không else se mô phỏng , mặc dù nó có chốt dữ liệu nhưng mô phỏng thì không có. Đây là trường hợp dở của tổng hợp không có mô phỏng theo sau. Đây là khái niệm tốt để mã hóa hàm, vì vậy chúng sẽ không tạo ra chốt nếu mã hàm được dùng trong một chương trình. I. Khai báo hàm: Khai báo hàm là chỉ ra tên hàm, chiều rộng của hàm giá trị trả về, đối số hàm dữ liệu vào, các biến (reg) dùng trong hàm, và tham số cục bộ của hàm, số nguyên của hàm. 1. Cú pháp: Function [msb:lsb] tên hàm; Input [msb:lsb]biến vào; Reg [msb:lsb]biến reg; Parameter [msb:lsb] tham số; Integer [msb:lsb] số nguyên; các lệnh endfunction 2. Ví dụ Function [7:0] my_func; // hàm trả về giá trị 8 bit Input [7:0] i; Reg [4:0] temp; Integer n; GV: Nguyễn Trọng Hải Trang 26
  3. Tóm tắt bài giảng TK Hệ Thống Số Phần Verilog 8’b 10001001: begin add_func = 0; opr2 = instr[15:8]; end 8’b 10001010: begin add_func = 1; opr2 = 8’b 00000001; end default: begin add_func = 0; opr2 = 8’b00000001; end endcase decode_add = {add_func, opr2, opr1}; end endfunction always @(intruction) begin {func, opr2, opr1}= decode_add (intruction); if (func= =1) outp = opr1+ opr2; else outp = opr1 – opr2; end endmodule GV: Nguyễn Trọng Hải Trang 28