1. Trang chủ
  2. » Kỹ Năng Mềm

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

30 642 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 864,25 KB

Nội dung

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 (Trang 1)
1. Mô hình hành vi - Thiết kế mạch số dùng HDL
1. Mô hình hành vi (Trang 1)
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 (Trang 3)
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 (Trang 3)
1. Mô hình hành vi - Thiết kế mạch số dùng HDL
1. Mô hình hành vi (Trang 9)
1. Mô hình hành vi - Thiết kế mạch số dùng HDL
1. Mô hình hành vi (Trang 12)
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 (Trang 12)
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 (Trang 15)
• 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- (Trang 15)
Mô hình Dataflow/RTL (1) - Thiết kế mạch số dùng HDL
h ình Dataflow/RTL (1) (Trang 16)
• 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ả (Trang 16)
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 (Trang 17)
hơn mô hình dòng - Thiết kế mạch số dùng HDL
h ơn mô hình dòng (Trang 17)
1. Mô hình hành vi - Thiết kế mạch số dùng HDL
1. Mô hình hành vi (Trang 18)
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 (Trang 18)
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 (Trang 19)
Computer Engineering 2009 - Thiết kế mạch số dùng HDL
omputer Engineering 2009 (Trang 19)
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 (Trang 22)
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 (Trang 22)
mô hình - Thiết kế mạch số dùng HDL
m ô hình (Trang 24)
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 (Trang 24)
Computer Engineering 2009 - Thiết kế mạch số dùng HDL
omputer Engineering 2009 (Trang 28)
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) (Trang 28)
Computer Engineering 2009 - Thiết kế mạch số dùng HDL
omputer Engineering 2009 (Trang 29)
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) (Trang 29)

TỪ KHÓA LIÊN QUAN

w