Tóm tắt bài giảng VERILOG

42 1.9K 19
Tóm tắt bài giảng VERILOG

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tóm tắt bài giảng VERILOG

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ THÀNH PHỐ HỒ CHÍ MINH Ths NGUYỄN TRỌNG HẢI TÓM TẮT BÀI GIẢNG VERILOG LƯU HÀNH NỘI BỘ 07/2005 Tóm tắt giảng TK Hệ Thống Số Phần Verilog CHƯƠNG I TỔNG QUAN Verilog HDL hai ngôn ngữ mô phần cứng thông dụng nhất, dùng thiết kế IC, ngôn ngữ VHDL HDL cho phép mô thiết kế dễ dàng, sửa chữa lỗi, thực nghiệm cấu trúc khác Các thiết kế mô tả HDL kỹ thuật độc lập, dễ thiết kế, dễ tháo gỡ, thường dể đọc dạng biểu đồ, đặc biệt mạch điện lớn Verilog thường dùng để mô tả thiết kế bốn dạng: Thuật toán (một số lệnh giống ngôn ngữ C như: if, case, for,while…) Chuyển đổi ghi (kết nối biểu thức Boolean) Các cổng kết nối( cổng: OR, AND, NOT…) Chuyển mạch (BJT, MOSFET) Ngôn ngữ rõ cách thức kết nối, điều khiển vào/ra mô Cấu trúc chương trình dùng ngôn ngữ Verilog // Khai báo module Module tên chương trình (tên biến I/O); // tên chương trình trùng tên file.v Input [msb:lsb] bieán; Output [msb:lsb] bieán; Reg [msb:lsb] bieán reg; Wire [msb: lsb] biến wire; // Khai báo khối always, khối initial … lệnh … Endmodule GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Chương II CHỨC NĂNG CÁC TỪ VỰNG TRONG VERILOG Những tập tin văn nguồn Verilog bao gồm biểu thuộc tính từ vựng sau đây: I Khoảng trắng Khoảng trắng ngăn từ chứa khoảng cách, khoảng dài, dòng mớivà dạng đường dẫn Do đó, lệnh đưa nhiều dòng phức tạp mà đặc tính đặc biệt II Chú giải Những giải định hai cách: ( giống C/C++) Chú giải viết sau hai dấu gạch xiên (//) Được viết dòng Được viết /* */, viết nhiều dòng giải III Chữ số: Lưu trữ số định nghóa số bit, giá trị là: số nhị phân, bát phân, thập phân, thập lục phân Ví dụ: 3’b001, 5’d30 = 5’b11110, 16’h5ED4 = 16’d24276 = 16’b0101111011010100 IV Từ định danh: Từ định danh người dùng quy định cho biến số, tên hàm, tên môđun, tên khối tên trường hợp Từ định danh bắt đầu mẫu tự đường gạch ’_’ ( không bắt đầu số $ ) kể chữ số mẩu tự, số đường gạch dưới, từ định danh Verilog phân biệt dạng chữ V Cú pháp: Kí hiệu cho phép: ABDCE…abcdef…1234567890_$ Không cho phép: kí hiệu khác -, &, #, @ GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog VI Toán tử: Toán tử một, hai, ba kí tự dùng để thực toán hạng biến Các toán tử bao gồm >, +, &, != VII Từ khóaVerilog: Có từ mà phải có ý nghóa đặc biệt Verilog Ví dụ: assign, case, while, wire, reg, and, or, nand, vaø module Chúng không dùng từ định danh Từ khóa Verilog bao gồm dẫn chương trình biên dịch System Task (hệ thống soạn thảo) hàm GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Chương III CÁC CỔNG CƠ BẢN TRONG VERILOG Các cổng logic sở phận ngôn ngữ Verilog Có hai đặc tính rõ là: drive_strenght delay Drive_strenght sức bền cổng Độ bền ngõ kết nối chiều đến nguồn, kế tạo nên kết nối suốt trans dẫn, kết thúc tổng trở kéo lên xuống Drive_strenght thường không rõ, trường hợp độ bền mặc định strong1 strong0 Delay: delay không rõ, cổng trì hoãn truyền tải; có hai delay định, trước tiên miêu tả trì hoãn lên, thứ hai trì hoãn xuống Nếu có delay định, trì hoãn lên xuống Delay bỏ qua tổng hợp Phương pháp trì hoãn định trường hợp đặc biệt “Parameterized Modules” Các tham số cho cổng sở phải định nghóa trước delay I Các cổng bản: Các cổng có ngõ ra, có nhiều ngõ vào Trong cổng, cú pháp cụ thể biểu diễn bên dưới, từ khoá cổng: and, or, nand, nor Cú pháp: GATE (drive_strength)#(delays) Tên từ khóa cổng _tên (output, input_1, input_2, …, input_N); Delay: #( lên, xuống) #lên_và_xuống #( lên_và_xuống) Ví dụ: And c1 (o, a, b, c d); // có ngõ vào cổng And gọi c1 c2 (p, f, g); // ngõ vào cổng and gọi laø c2 Or #(4,3) ig ( o, b, c); // cổng Or gọi ig, rise time = 4, fall time = GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Xor #(5) xor1 (a, b, c); // sau đơn vị thời gian a = b xor c II Cổng buf, not: Các cổng thực thi đệm đảo theo theo thứ tự địmh sẳn Chúng có ngõ vào, hai hay nhiều ngõ Cú pháp cụ thể biểu diễn bên dưới, từ khoá buf, not Cú pháp: Tên từ khóa cổng _tên (output_1, output_2, …, output_N, input); Ví dụ: Not #(5) not_1( a,c); // sau đơn vị thời gian a = ñaûo c Buf c1 (o, p, q, r, in); // đệm ngõ ngõ c2 (p, f, g); GV: Nguyễn Trọng Hải Trang Tóm tắt 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 giá trị Hầu hết dạng liệu Verilog chứa giá trị sau: 0: mức logic 0, điều kiện sai 1: mức logic 1, điều kiện X: mức logic tuỳ định Z: trạng thái tổng trở cao X Z dùng có giới hạn tổng hợp (synthesis) II Wire: Mô tả vật liệu đường dây dẫn mạch điện dùng để kết nối cổng hay module Giá trị Wire đọc, không gán hàm (function) khối (block) Wire không lưu trữ giá trị phải thực thi lệnh gán hay kết nối Wire với ngõ cổng module Những dạng đặc biệt khác Wire: Wand(wired_and): giá trị phụ thuộc vào mức logic And toàn 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ộ điều khiển kết nối đến Wire Tri(three_state): tất điều khiển kết nối đến tri phải trạng thái tổng trở cao 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 Ví dụ: GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Wire c; Wand d; Assign d= a; Assign d= b;// giá trị d mức logic phép And a b Wire [9:0] A; // vectơ A có 10 wire III Reg: Reg (register) đối tượng liệu mà chứa giá trị từ thủ tục gán Chúng dùng hàm khối thủ tục Reg loại biến Verilog không thiết ghi tự nhiên Trong ghi nhiều bit, data lưu trữ chữ số không dấu kí hiệu đuôi mở rộng, thực mà người sử dụng có chủ y ùlà số bù hai Cú pháp: Reg [msb:lsb] tên biến reg Ví dụ: Reg a; // biến ghi đơn giản bit Reg [7:0] A; // vectơ bit; bank ghi Reg [5:0]b, c; // hai bieán ghi bit IV Input, Output, Inout: Những từ khoá biểu thị ngõ vào, ngõ ra, port hai chiều module task Một port ngõ cấu hình từ dạng: wire, reg, wand, wor, tri Mặc định wire Cú pháp: Input [msb:lsb] port ngõ vào Output [msb:lsb] port ngõ Inout [msb:lsb] port ngõ vào,ra hai chiều Ví dụ: Module sample (b, e, c, a); Input a; // ngõ vào mặc định kiểu wire Output b, e; // hai ngõ mặc định kiểu wire Output [1:0] c; /* ngõ hai bit, phải khai báotrong lệnh riêng*/ Reg [1:0] c; // ngõ c khai báo reg GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số V Phần Verilog Integer (Số nguyên): Integer biến đa Trong tổng hợp chúng dùng chủ yếu cho vòng lặp, tham số, số Chúng hoàn toàn reg Tuy nhiêu chúng chứa liệu số có dấu, khai báo dạng reg chứa chung số không dấu Nếu chúng chứa số mà không định nghóa thời gian biên dịch kích thước mặc định 32 bit Nếu chúng chứa hằng, tổng hợp điều chỉnh số có kích thước nhỏ cần thiết cho biên dịch Cú pháp: Integer tên biến nguyên; …tên nguyên…; Ví dụ: Integer a; // số nguyên đơn giản 32bit Assign b= 63; // mặc định biến bit VI Supply 0, Supply1: Xác định chổ đường dẫn lên mức logic ( đất), logic 1( nguồn) theo thứ tự định sẵn VII Time: Time lượng 64 bit mà sử dụng với $time, hệ thống thao tác chứa lượng thời gian mô Time không hỗ trợ tổng hợp dùng mục đích mô Cú pháp: Time biến time; Ví dụ: Time c; c = $time; // c = thời gian mô dòng điện VIII Parameter (Tham số): Một Parameter xác định số mà đặt bạn cho ví dụ cụ thể module Các cho phép ta sửa chữa Cú pháp: Parameter par_1= gái trị, par_2= gái trị, …; Parameter [giới hạn] par_3 = giá trị; Ví dụ: GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Parameter add = 2b’00, sub = 3b’111; Parameter n = 4; Parameter [3:0] par_2 = 4b’1010; … reg [n-1:0] harry;// moät ghi bít mà độ rộng đặt tham số n ôû treân always @(x) y = {{(add - sub) {x}}} if (x) begin state = par_2[1]; else state =par_2[2]; end GV: Nguyễn Trọng Hải Trang ... … Endmodule GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Chương II CHỨC NĂNG CÁC TỪ VỰNG TRONG VERILOG Những tập tin văn nguồn Verilog bao gồm biểu thuộc tính từ vựng... soạn thảo) hàm GV: Nguyễn Trọng Hải Trang Tóm tắt giảng TK Hệ Thống Số Phần Verilog Chương III CÁC CỔNG CƠ BẢN TRONG VERILOG Các cổng logic sở phận ngôn ngữ Verilog Có hai đặc tính rõ là: drive_strenght... f, g); GV: Nguyễn Trọng Hải Trang Tóm tắt 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 giá trị Hầu hết dạng liệu Verilog chứa giá trị sau: 0: mức

Ngày đăng: 10/10/2012, 11:04

Từ khóa liên quan

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan