Thiết kế mạch số dùng HDL

30 641 0
Thiết kế mạch số dùng HDL

Đ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

sdsadfdaf

2009 dce Thiếtkế mạch số dùng HDL Chương 5 Thiếtkế luậnlýbằng mô hình hành vi Computer Engineering 2009 2 Thiếtkế Vi mạch số dùng HDL Nội dung chính 1. Mô hình hành vi 2. Mô hình hành vi dựatrênphương trình boole 3. Mô hình hành vi vòng 4. Mô hình hành vi cho các khốicơ bản 5. Giảithuậtlặpvàlưu đồ máy trạng thái chomôhìnhhànhvi Computer Engineering 2009 3 Thiếtkế Vi mạch số dùng HDL Nội dung chính 1. Mô hình hành vi 2. Mô hình hành vi dựatrênphương trình boole 3. Mô hình hành vi vòng 4. Mô hình hành vi cho các khốicơ bản 5. Giảithuậtlặpvàlưu đồ máy trạng thái chomôhìnhhànhvi Computer Engineering 2009 4 Thiếtkế Vi mạch số dùng HDL Mô hình hành vi • Khái quát mô hình hành vi •Kiểudữ liệu cho mô hình hành vi • Các phép toán cho mô hình hành vi Computer Engineering 2009 5 Thiếtkế Vi mạch số dùng HDL Mô hình hành vi – đặc điểm •Thiếtkế các vi mạch lớn •Môtả chứcnăng (what) và cách xây dựng (how) phầncứng • Không quan tâm đếntrễ truyềnlan(được quan tâm trong giai đoạntổng hợp) •Cácbướcthiếtkế  Nhanh chóng đưa ra nguyên mẫu (prototype)  Kiểmtrachứcnăng  Dùng công cụ tổng hợptối ưuvàánhxạ công nghệ Computer Engineering 2009 6 Thiếtkế Vi mạch số dùng HDL Kiểudữ liệu cho mô hình hành vi •Biến trong Verilog biểudiễnmột tín hiệudạng nhị phân củamạch •Tấtcả các biến trong Verilog được định nghĩa kiểutrướckhisử dụng  net  register • Net hoạt động như dây nốivậtlý  wire • Register hoạt động giống như biến trong các ngôn ngữ lập trình cấpcao  reg  integer •Kíchthướcmặc định củakiểudữ liệu reg và wire là 1 bit Computer Engineering 2009 7 Thiếtkế Vi mạch số dùng HDL Các toán tử trong Verilog Toán tử Tên Nhóm [ ] Chọn () Ngoặc ! ~ Phủđịnh (đảo) Phủđịnh (not) Logical Bit-wise & | ~& ~| ^ ~^ or ^~ Thu giảmAND Thu giảmOR Thu giảmNAND Thu giảmNOR Thu giảmXOR Thu giảmXNOR Thu giảm + – Dấudương (mộtngôi) Dấuâm(một ngôi) Số học {} Nối Nối {{}} Nhân bản Nhân bản * / % + – nhân chia Chia lấydư Cộng (hai ngôi) Trừ (hai ngôi) Số học Toán tử Tên Nhóm << >> Dịch trái Dịch phải Dịch > >= < <= Lớnhơn Lớnhơnhay bằng Nhỏ hơn Nhỏ hơnhay bằng Quan hệ == != Bằng (logic) Không bằng (logic) So sánh bằng === !== Bằng (case) Không bằng (case) & bit-wise AND Bit-wise ^ ^~ or ~^ bit-wise XOR bit-wise XNOR | bit-wise OR && logical AND Logic || logical OR ?: Điềukiện Điềukiện Computer Engineering 2009 8 Thiếtkế Vi mạch số dùng HDL Toán tử số học (+, -, *, /, %) •Bấtkỳ bit nào trong toán hạng là x hoặc z thì kếtquả là x •Kíchthướckếtquả  Phép nhân thì kích thướckếtquả bằng tổng kích thước 2 toán hạng  Các phép toán khác bằng chiều dài lớnnhấtcủa toán hạng •Biểudiễndấu ƒ A B C – B = 4’b0101 (5) A = 4’b0010 (2) C = 4’b1101 (13) integer intA, intB; intA = -12; intB = -’d12; Computer Engineering 2009 9 Thiếtkế Vi mạch số dùng HDL Toán tử quan hệ (<, >, <=, >=) ƒ A B True/False (1/0) ƒ A = 52 B = 8’hx5 x < A = 3’b001 B = 3’b011 True (1) > A = 3’b001 B = 5’b01011 False (0) A = 5’b00001 Computer Engineering 2009 10 Thiếtkế Vi mạch số dùng HDL Toán tử bằng (==, ===, !=, !===) •Bằng luậnlý(== và !=)  Giá trị x và z tương tự như toán tử quan hệ  Kếtquả có thể là x • Case (=== và !==)  So sánh từng bit  x === x, z === z, x !== z  Kếtquả luôn xác định (0 hoặc1) •Nếukíchthước 2 toán hạng không bằng nhau thì các bit 0 sẽđược thêm vào những bit trọng số cao của toán hạng có kích thướcnhỏ Data = 4’b11x0; Addr = 4’b11x0; Data == Addr //x Data === Addr //1 Computer Engineering 2009 11 Thiếtkế Vi mạch số dùng HDL Toán tử luận lý (||, &&, !) • Toán hạng là vector khác 0 được xem như 1 •Nếubấtkỳ bit nào của toán hạng có giá trị x hay z thì toán hạng được xem như x ABus = 4’b0110; BBus = 4’b0100; ABus || BBus // 1 ABus && BBus // 1 !ABus // giống như !BBus // 0 Computer Engineering 2009 12 Thiếtkế Vi mạch số dùng HDL Toán tử Bit-wise (&, |, ~, ^, ^~) ^~ (xnor) 0 1 x z 0 1 0 x x 1 0 1 x x x x x x x z x x x x ^ (xor) 0 1 x z 0 0 1 x x 1 1 0 x x x x x x x z x x x x | (or) 0 1 x z 0 0 1 x x 1 1 1 1 1 x x 1 x x z x 1 x x & (and) 0 1 x z 0 0 0 0 0 1 0 1 x x x 0 x x x z 0 x x x ~ (not) 0 1 x z 1 0 x x Computer Engineering 2009 13 Thiếtkế Vi mạch số dùng HDL Toán tử thu giảm f 0/1/x x f x z f x ~& (thu giảm nand): ~&b n-1 b n-1 …b 0 0 & 0 1 11 1 & 1 & (thu giảm and): &b n-1 b n-1 …b 0 & ~ 0/1 | (thu giảmor):|b n-1 b n-1 …b 0 1 | 1 0 00 0 | 0 ^ (thu giảmxor):^b n-1 b n-1 …b 0 If count(b i = 1) mod 2 == 0, kếtquả 0 Ngượclạikếtquả 1 ~^/^~ (thu giảm xnor): ~^b n-1 b n-1 …b 0 ~| (thu giảm nor): ~|b n-1 b n-1 …b 0 | ~ 0/1 Computer Engineering 2009 14 Thiếtkế Vi mạch số dùng HDL Toán tử dịch (<<, >>) A << B, A >> B •Dịch toán hạng bên trái số lầnbiểudiễnbởi toán hạng bên phải  Dịch trái  Dịch phải reg [0:7] Qreg; Qreg = 4’b0111; Qreg >> 2 // is 8’b0000_0001 wire [0:3] DecoderOut = 4’d1 << Address[0:1]; b0 . 0 . 0 b1 b0b1 b2bn-1bn bn-2bn-1 b0 . b1 . b1 b2b3 b2bn-1bn bn0 0 x f z zz z f z zz Computer Engineering 2009 15 Thiếtkế Vi mạch số dùng HDL Toán tửđiềukiện •Nếu Cond_expr có chứa bấtkỳ bit nào là x hoặc z thì kếtquả là phép toán bit-wise trên Expr1 và Expr2 như sau  0 ♣ 0 => 0  1 ♣ 1 => 1  Trường hợpkháclàx • Toán tửđiềukiệncóthể đượclồng nhau vô tận Cond_expr ? Expr1 : Expr2 wire[15:0]bus_a = drive_a ? data : 16’bz; /* drive_a = 1 thì data được gán vào bus_a drive_a = 0 thì bus_a ở tổng trở cao drive_a = x thì bus_a là x */ Cond_expr? Expr2 Expr1 yes no Computer Engineering 2009 16 Thiếtkế Vi mạch số dùng HDL Toán tử kếtnối/nhân bản •Kếtnối {expr1, expr2,… , exprN}  Những hằng số không biếtkíchthước không thể thựchiệnkết nối •Nhânbản {rep_number {expr1, expr2,… , exprN}} wire [7:0] Dbus; wire [11:0] Abus; assign Dbus[7:4] = {Dbus[0], Dbus[1], Dbus[2], Dbus[3]}; assign Dbus = {Dbus[3:0], Dbus[7:4]}; {Dbus, 5} // not allowed Abus = {3{4’b1011}}; // 12’b1011_1011_1011 {3{1’b1}} // 111 {3{Ack}} // {Ack, Ack, Ack} Computer Engineering 2009 17 Thiếtkế Vi mạch số dùng HDL Nội dung chính 1. Mô hình hành vi 2. Mô hình hành vi dựatrênphương trình boole 3. Mô hình hành vi vòng 4. Mô hình hành vi cho các khốicơ bản 5. Giảithuậtlặpvàlưu đồ máy trạng thái chomôhìnhhànhvi Computer Engineering 2009 18 Thiếtkế Vi mạch số dùng HDL Mô hình hành vi dựatrênphương trình boole • Phép gán liên tục •Thờigiantrễ truyền lan và phép gán liên tục • Latch và mạch tích cựcmứctrong Verilog Computer Engineering 2009 19 Thiếtkế Vi mạch số dùng HDL Phép gán liên tục • Phép gán liên tục  assign variable = boolean_expression  wire wire_name = boolean_expression  Boolean_expression được tính lạikhibấtkỳ tín hiệunàotrongnóthay đổi •Một module có thể có nhiều phát biểu gán liên tục đượcthựcthi đồng thời input x_in1, x_in2; output y_out; assign y_out = ~(x_in & x_in2); input x_in1, x_in2; output y_out; wire y_out = ~(x_in & x_in2); circuit Schematic Structure model Truth table User-Define Primitive Boolean Expressionl Continuous Assignments Logic description Verilog Description Computer Engineering 2009 20 Thiếtkế Vi mạch số dùng HDL Ví dụ - Mux_2_32 Mux_2_32 select data0 data1 mux_out

Ngày đăng: 27/11/2013, 16:53

Hình ảnh liên quan

mô hình hành vi - Thiết kế mạch số dùng HDL

m.

ô hình hành vi Xem tại trang 1 của tài liệu.
1. Mô hình hành vi - Thiết kế mạch số dùng HDL

1..

Mô hình hành vi Xem tại trang 1 của tài liệu.
Mô hình hành vi – đặc điểm - Thiết kế mạch số dùng HDL

h.

ình hành vi – đặc điểm Xem tại trang 3 của tài liệu.
Kiểu dữ liệu cho mô hình hành vi - Thiết kế mạch số dùng HDL

i.

ểu dữ liệu cho mô hình hành vi Xem tại trang 3 của tài liệu.
1. Mô hình hành vi - Thiết kế mạch số dùng HDL

1..

Mô hình hành vi Xem tại trang 9 của tài liệu.
1. Mô hình hành vi - Thiết kế mạch số dùng HDL

1..

Mô hình hành vi Xem tại trang 12 của tài liệu.
2. Mô hình hành vi dựa trên phương trình boole - Thiết kế mạch số dùng HDL

2..

Mô hình hành vi dựa trên phương trình boole Xem tại trang 12 của tài liệu.
So sánh giữa các loại mô hình hành vi - Thiết kế mạch số dùng HDL

o.

sánh giữa các loại mô hình hành vi Xem tại trang 15 của tài liệu.
• Mô hình gán liên tục (Continuous- - Thiết kế mạch số dùng HDL

h.

ình gán liên tục (Continuous- Xem tại trang 15 của tài liệu.
Mô hình Dataflow/RTL (1) - Thiết kế mạch số dùng HDL

h.

ình Dataflow/RTL (1) Xem tại trang 16 của tài liệu.
• Mô hình dòng dữ liệu của mạch tổ hợp mô tả - Thiết kế mạch số dùng HDL

h.

ình dòng dữ liệu của mạch tổ hợp mô tả Xem tại trang 16 của tài liệu.
Mô hình dựa trên thuật toán - Thiết kế mạch số dùng HDL

h.

ình dựa trên thuật toán Xem tại trang 17 của tài liệu.
hơn mô hình dòng - Thiết kế mạch số dùng HDL

h.

ơn mô hình dòng Xem tại trang 17 của tài liệu.
1. Mô hình hành vi - Thiết kế mạch số dùng HDL

1..

Mô hình hành vi Xem tại trang 18 của tài liệu.
Mô phỏng trong mô hình hành vi - Thiết kế mạch số dùng HDL

ph.

ỏng trong mô hình hành vi Xem tại trang 18 của tài liệu.
Mô hình hành vi cho các khối cơ bản - Thiết kế mạch số dùng HDL

h.

ình hành vi cho các khối cơ bản Xem tại trang 19 của tài liệu.
Computer Engineering 2009 - Thiết kế mạch số dùng HDL

omputer.

Engineering 2009 Xem tại trang 19 của tài liệu.
Mô hình dòng dữ liệu của thanh ghi dịch hồi - Thiết kế mạch số dùng HDL

h.

ình dòng dữ liệu của thanh ghi dịch hồi Xem tại trang 22 của tài liệu.
Mô hình dòng dữ liệu của thanh ghi dịch hồi - Thiết kế mạch số dùng HDL

h.

ình dòng dữ liệu của thanh ghi dịch hồi Xem tại trang 22 của tài liệu.
mô hình - Thiết kế mạch số dùng HDL

m.

ô hình Xem tại trang 24 của tài liệu.
Mô hình hóa máy số bằng các giải thuật lặp - Thiết kế mạch số dùng HDL

h.

ình hóa máy số bằng các giải thuật lặp Xem tại trang 24 của tài liệu.
Computer Engineering 2009 - Thiết kế mạch số dùng HDL

omputer.

Engineering 2009 Xem tại trang 28 của tài liệu.
Mô hình hành vi cho bộ đếm (1) - Thiết kế mạch số dùng HDL

h.

ình hành vi cho bộ đếm (1) Xem tại trang 28 của tài liệu.
Computer Engineering 2009 - Thiết kế mạch số dùng HDL

omputer.

Engineering 2009 Xem tại trang 29 của tài liệu.
Mô hình hành vi cho bộ đếm (2) - Thiết kế mạch số dùng HDL

h.

ình hành vi cho bộ đếm (2) Xem tại trang 29 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan