1. Trang chủ
  2. » Giáo án - Bài giảng

Lecture 3 toan tu trong verilog

34 143 2

Đ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

Nội dung

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 ) • (lớn )  < ( nhỏ )  >= (lớn )  = x // < z // , = = = = y = 4’b1101 , z = 4’b1xxx 1 x 3.2 Toán tử Verilog Toán tử so sánh bằng: Gồm toán tử:  == Bằng logic  != Không logic Tương tự toán tử quan hệ  === (so sánh bit)  !== không (so sánh bit) Khi tốn hạng khơng chiều dài, tốn hạng ngắn thêm số vào vị trí bit có { nghĩa (MSB) 3.2 Toán tử Verilog Toán tử so sánh bằng: Ví dụ: // a = , b = // x = 4’b1010 , y = 4’b1010 // z = 4’b0xxz , m = 3’bxxz , n = 4’b0xxx a == b // x != y // x == z // x z === m // 1(thêm bit vào m) z === n // (so sánh bit) m !== n // 10 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ tả theo mơ hình luồng liệu: Là mức mô tả đường liệu Câu lệnh dùng assign, dùng để gán giá trị hay biểu thức đến biến kiểu wire assign tên biến = biểu thức; Các câu lệnh liên tiếp thực thi đồng thời Nền tảng mơ hình luồng liệu:  Biểu thức  Toán hạng  Tốn tử 20 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ tả theo mơ hình luồng liệu: Ví dụ: module decoder_2x4 (out, in0, in1); output [3:0] out; input in0, in1; // Data flow modeling uses logic operators assign assign assign assign out[0] out[1] out[2] out[3] = = = = ~in0 & ~in1 ; in0 & ~in1 ; ~in0 & in1 ; in0 & in1 ; endmodule 21 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ tả theo mơ hình luồng liệu: Ví dụ: module decoder_2x4 (out, in0, in1); output [3:0] out; input in0, in1; // Data flow modeling uses logic operators assign out[3:0] = {in0 & in1,~in0 & in1,in0 & ~in1, ~in0 & ~in1}; //hoặc assign out = {in0 & in1,~in0 & in1,in0 & ~in1, ~in0 & ~in1}; endmodule 22 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình hành vi: Hành vi thiết kế mô tả cách sử dụng cấu trúc thủ tục:  Câu lệnh always: câu lệnh thực lặp lại nhiều lần  Câu lệnh initial: câu lệnh thực thi lần (dùng cho mô phỏng) Chỉ có kiểu liệu ghi (reg) mới gán giá trị câu lệnh 23 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình hành vi: Ví dụ: module half_add (S, C, A, B); input A, B; output S, C; reg S, C; always @ (A or B) begin S = A ^B; C = A & B; end endmodule 24 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Mức cổng mức mô tả hệ thống dạng liên kết cổng logic kèm theo mơ tả định thời (timing) có Mức sử dụng thành phần mơ hình cổng logic, Flip-Flop cell sẵn có để ghép nối với tạo thành chức mong muốn Việc kết nối xác định cách sử dụng net 25 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Cú pháp: khai báo cổng định nghĩa sẵn Verilog Tên từ khóa cổng tên (output,input1,input2,…inputn); Từ khóa cổng có sẵn: and, or, not, nand, nor, xor, xnor… or U1 (out, in1, in2, in3); and U2 (y, x1, x2); x1 x2 y Ta sử dụng mơ hình cấu trúc để mô tả thiết kế cho mạch số như: multiplexer, decoder, encoder, adder, latch, flipflop, register, counter,… 26 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Ví dụ: module example (a,b,c,d,y); input a,b,c,d; Output y; wire w1, w2, w3; xor x1 (w1, b, c); and a1 (w2, a, w1); and a2 (w3, d, w1); or o1 (y, w2, w3); endmodule 27 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Ví dụ: MACH2 in1 in2 in3 in4 MACH1 A B C D F T1 A B in5 Y out1 C MACH3 in2 A in3 B in4 C Y T2 out2 in1 28 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Ví dụ:  MACH1: 𝑌 = 𝐶 A+CB - Viết mô tả luồng liệu (Data flow model)  MACH2: 𝐹 = 𝐵𝐷 + 𝐵 + 𝐶 + 𝐴𝐶𝐷 - (Data flow model)  MACH3: Mô tả cấu trúc A B E F Y C G 29 3.3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Ví dụ: 1/ Viết chương trình mơ tả mạch ghép kênh Mux 2-1 theo phương pháp mô tả cấu trúc 2/ Viết chương trình thiết kế Mux 4-1 từ Mux 2-1 30 3.4 Bài tập Mạch giải mã: Mơ tả mạch giải mã 2-4 có ngõ vào E cho phép tích cực mức (mơ dạng sóng) Mơ tả mạch giải mã 2-4 có ngõ vào E cho phép tích cực mức (mơ dạng sóng) Hãy viết chương trình mô tả mạch giải mã đường sang đường ngõ tích cực mức thấp, có thêm chân E cho phép giải mã mức Hãy viết chương trình mơ tả mạch giải mã đường sang đường ngõ tích cực mức cao, có thêm chân E cho phép giải mã mức 31 3.4 Bài tập Mạch mã hóa: Thiết kế mạch mã hoá đường sang đường với ngõ vào tích cực mức cao (mơ dạng sóng) Hãy viết chương trình mơ tả mạch mã hoá đường sang đường với ngõ vào tích cực mức thấp Hãy viết chương trình mơ tả mạch mã hoá đường sang đường với ngõ vào tích cực mức thấp, có thêm chân E cho phép mã hoá mức 32 3.4 Bài tập Mạch giải mã led đoạn: Thiết kế mạch giải mã led đoạn loại anode chung Thiết kế mạch giải mã led đoạn loại cathode chung Thiết kế giải mã BCD sang đoạn loại anode chung Thiết kế giải mã BCD sang đoạn loại cathode chung Mạch chuyển mã: Hãy viết chương trình mơ tả mạch chuyển mã từ nhị phân bit sang Gray bit Hãy viết chương trình mơ tả mạch chuyển mã từ Gray bit sang nhị phân bit 33 3.4 Bài tập Mạch ghép kênh: Hãy viết chương trình mơ tả mạch đa hợp ngõ vào, ngõ ra, select Hãy viết chương trình mô tả mạch đa hợp ngõ vào ngõ ra, select Mạch tách kênh: Thiết kế mạch giải đa hợp ngõ vào, ngõ ra, ngõ lựa chọn Hãy viết chương trình mơ tả mạch giải đa hợp ngõ vào ngõ ra, select Hãy viết chương trình mơ tả mạch giải đa hợp ngõ vào 16 ngõ ra, select 34 ... đề TỐN TỬ TRONG VERILOG Bộ mơn Điện tử máy tính 08/2018 Nội dung 3. 1 Biểu diễn số Verilog 3. 2 Toán tử Verilog 3. 3 Các mơ hình mơ tả mạch dùng Verilog HDL 3. 4 Bài tập 3. 1 Biểu diễn số Verilog Biểu... endmodule 27 3. 3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ hình cấu trúc: Ví dụ: MACH2 in1 in2 in3 in4 MACH1 A B C D F T1 A B in5 Y out1 C MACH3 in2 A in3 B in4 C Y T2 out2 in1 28 3. 3 Các mơ hình... {2’b10}, {2’b10}, {2’b10}}; = 8’b10101010; a = {3{ 4’b1011}}; // 12’b1011 1011 1011 {3{ 1’b1}} // 111 {3{ a}} // {a,a,a} 19 3. 3 Các mơ hình mơ tả mạch dùng Verilog HDL Mơ tả theo mơ hình luồng liệu:

Ngày đăng: 15/11/2020, 22:07

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

w