Thiết kế mạch số dùng HDL-Thiết kế luận lý với Verilog potx

21 750 6
Thiết kế mạch số dùng HDL-Thiết kế luận lý với Verilog potx

Đ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

2008 dce Thiếtkế mạch số vớiHDL Chương 4: Thiếtkế luậnlývới Verilog Computer Engineering 2008 2 Advanced Digital Design with the Verilog HDL – cha p ter 4 Nội dung chính •Giớithiệuvề HDLs và verilog •Môhìnhcấutrúcchomạch luậnlýtổ hợp •Môphỏng luận lý, kiểmchứng thiếtkế và phương pháp luậnkiểmtra •Thờigiantrễ truyềnlan •Môhìnhbảng sự thậtchomạch luậnlýtổ hợpvàtuầntự với Verilog Computer Engineering 2008 3 Advanced Digital Design with the Verilog HDL – cha p ter 4 Nội dung chính • Giớithiệuvề HDLs và verilog •Môhìnhcấutrúcchomạch luậnlýtổ hợp •Môphỏng luận lý, kiểmchứng thiếtkế và phương pháp luậnkiểmtra •Thờigiantrễ truyềnlan •Môhìnhbảng sự thậtchomạch luậnlýtổ hợpvàtuầntự với Verilog Computer Engineering 2008 4 Advanced Digital Design with the Verilog HDL – cha p ter 4 Giớithiệu HDLs • HDLs (Hardware Description Languages)  Không là một ngôn ngữ lập trình  TựaC  Thêm những chứcnăng mô hình hóa, mô phỏng chứcnăng  Verilog vs. VHDL •Cácbướcthiếtkế bằng HDL  Mô tả mạch từ khóa  Biên dịch để kiểm tra cú pháp (syntax)  Mô phỏng để kiểmtrachứcnăng củamạch Computer Engineering 2008 5 Advanced Digital Design with the Verilog HDL – cha p ter 4 Đặctả bằng HDL Cấutrúc/hànhvi củamạch Mô phỏng Kiểmtra: thiếtkếđã đúng yêu cầuchưa? Chứcnăng: Hành vi I/O Mức thanh ghil (Kiếntrúcl) Mứcluậnlý(Cổng) Mức transistor (Điểntử) Timing: Waveform Behavior Tổng hợp Ánh xạđặctả thành các hiệnthực Phương pháp luậnthiếtkế HDL Computer Engineering 2008 6 Advanced Digital Design with the Verilog HDL – cha p ter 4 Mô hình cấutrúcvàmôhìnhhànhvi trong HDLs • Cấu trúc (Structural) chỉ ra cấu trúc phầncứng thậtsự củamạch  Mứctrừutượng thấp •Cáccổng cơ bản(vídụ and, or, not) •Cấutrúcphâncấp thông qua các module  Tương tự lậptrìnhhợpngữ • Hành vi (Behavioral) chỉ ra hoạt động củamạch trên các bits  Mứctrừutượng cao hơn •Biểudiễnbằng các biểuthức(vídụ out = (a & b) | c) • Không phảitấtcả các đặctả hành vi đềutổng hợp được  Không sử dụng: + - * / % > >= < <= >> << Computer Engineering 2008 7 Advanced Digital Design with the Verilog HDL – cha p ter 4 Những nguy hiểm trong thiếtkế Verilog •Chương trình tuầntự, bộ tổng hợpcóthể sẽ phải thêm nhiều chi tiếtphầncứng  Cầnmộtbộ priority encoder •Nếuchương trình song song, có thể có những trạng thái không xác định  Nhiềukhối “always”, khối nào thựcthitrước? •Tạoranhiềutrạng thái không dự dịnh trước if (x == 1) out = 0; if (y == 1) out = 1; // else out retains previous state? R-S latch! • Không tính trước đượcsố phầntử phầncứng  x = x + 1 có thể cầnRẤT NHIỀU phầntử phầncứng Computer Engineering 2008 8 Advanced Digital Design with the Verilog HDL – cha p ter 4 Lịch sử phát triển HDLs • ISP (circa 1977) – dự án nghiên cứu CMU (Carnegie Mellon University)  Mô phỏng nhưng không tổng hợp • Abel (circa 1983) – được phát triểnbởi Data-I/O  Mục tiêu dùng cho các thiếtbị luậnlýkhả lậptrình  Không tốtchomáytrạng thái • Verilog (circa 1985) – phát triểnbởi Gateway (now Cadence)  Đặctảđược đưaratừ 1985  Ban đầu được phát triển cho mô phỏng, tương tự C và Pascal  Hiệuquả và dễ viết  Berkeley phát triển công cụ tổng hợpvàothậpniên80  Được IEEE chuẩn hóa • Verilog standardized (Verilog-1995 standard) • Verilog-2001 standard • VHDL (circa 1987) - DoD sponsored standard  Dưa trên VHSIC phát triểnbởi DARPA  Tương tự như Ada (Nhấnmạnh vào tái sử dụng và bảotrì)  Ngữ nghĩamôphỏng rõ ràng  Rấttổng quát nhưng dài dòng  Được IEEE chuẩn hóa • VHDL standardized (’87 and ’93)  Cấu trúc nghiêm ngặt Computer Engineering 2008 9 Advanced Digital Design with the Verilog HDL – cha p ter 4 Verilog HDL •Veriloglàmột ngôn ngữ lớn  Có nhiều tính năng cho tổng hợpvàmôphỏng phầncứng  Có thể biểudiễnnhững đặctrưng mứcthấp • Transistor  Có thể hoạt động như ngôn ngữ lậptrình •Cấutrúclặp •Cấutrúcđiềukhiển…. • Các công cụ mô phỏng chấpnhận toàn bộ khái niệm của Verilog • Các công cụ tổng hợpchỉ chấpnhậnmộtphần các khái niệmcủaVerilog •Chỉ tập trung nghiên cứumộtphần  Sử dụng ở mộtmứcthíchhợp  Tập trung trên những cấutrúctổng hợp được  Tập trung tránh những cấu trúc gây lỗikhitổng hợp Computer Engineering 2008 10 Advanced Digital Design with the Verilog HDL – cha p ter 4 Nội dung chính •Giớithiệuvề HDLs và verilog • Mô hình cấutrúcchomạch luậnlýtổ hợp •Môphỏng luận lý, kiểmchứng thiếtkế và phương pháp luậnkiểmtra •Thờigiantrễ truyềnlan •Môhìnhbảng sự thậtchomạch luậnlýtổ hợpvàtuầntự với Verilog Computer Engineering 2008 11 Advanced Digital Design with the Verilog HDL – cha p ter 4 Mô hình mạch tổ hợp •MộtmôhìnhVerilogcủamộtmạch tóm tắtcác mô tả chứcnăng bằng góc nhìn cấu trúc hay hành vi trên những mối quan hệ ngõ vào-ngõ ra •Mộtmôhìnhcấutrúclàmộtcấu trúc kếtnối (netlist) chứa  Các cổng  Các khốichứcnăng •Một mô hình hành vi là  Các biểuthức Boolean đơngiản  Mô hình chuyển đổimức thanh ghi (Register Transfer Level – RTL)  Mộtgiảithuật Computer Engineering 2008 12 Advanced Digital Design with the Verilog HDL – cha p ter 4 Mô hình cấutrúcmạch tổ hợp •Thiếtkế cấutrúctương tự như tạoramộtsơđồ (schematic) • Schematic  Hình biểudiễncổng logic,  Ngõ vào ra,  Các đường kếtnốigiữa các cổng. • Môhìnhcấu trúc HDL  Danh sách các cổng cơ bảnvàkếtnốigiữa chúng  Các phát biểuchỉ ra ngõ vào-ra Computer Engineering 2008 13 Advanced Digital Design with the Verilog HDL – cha p ter 4 Verilog primitives • Primitives là các đốitượng cơ bảncóthểđượcsử dụng trong thiếtkế • 26 đốitượng chứcnăng được định nghĩatrước n-input n-output 3-states and buf nand not or bufif0 nor bufif1 xor notif0 xnor notif1 nand (y, a, b, c); keyword name output input kết thúc phát biểu nand N1(y, a, b, c); instance name (optional) Ngõralàphầntửđầutiêntrong danh sách các ngõ vào-ra Computer Engineering 2008 14 Advanced Digital Design with the Verilog HDL – cha p ter 4 Mô hình cấu trúc trong Verilog • Module  Tên module và đi theo sau là danh sách các ngõ vào-ra (port)  Danh sách đặctả loại port (input/output)  Danh sách các dây nối, các biếnsử dụng bên trong module (optional)  Danh sách các kếtnối giữacáccổng và các module khác bên trong  endmodule module module_name (port_list); //Declarations: reg, wire, parameter, input, output, inout, function, task, … //Statements: Initial statement Always statement Module instantiation Gate instantiation UDP instantiation Continuous assignment endmodule Computer Engineering 2008 15 Advanced Digital Design with the Verilog HDL – cha p ter 4 Ví dụ port modes Internal wires Instantiated primitives Module ports Computer Engineering 2008 Ví dụ khác Computer Engineering 2008 17 Advanced Digital Design with the Verilog HDL – cha p ter 4 Module ports •Giaotiếpvới“môitrường” bên ngoài •Kiểucủa port quyết định chiềutruyềndữ liệu  Mộtchiều (Unidirectional) • input • output  Hai chiều (Bidirectional) • inout •Kiểucủa module port phải được khai báo tường minh và không cần theo thứ tự xuất hiện trong port list Computer Engineering 2008 18 Advanced Digital Design with the Verilog HDL – cha p ter 4 Quy tắt trong Verilog • Phân biệtchữ hoa thường (Case sensitive) • Identifier: a-z, A-Z, 0-9, ‘_’ và ‘$’ • Tên biến không đượcbắt đầubằng ‘$’ hay ký số và có thể tối đa là 1024 ký tự •Một phát biểu đượckết thúc bằng ‘;’ • Chú thích  ‘//’ một dòng chú thích  /*…*/ chú thích nhiều dòng •Cóthể viết các phát biểutrênmột dòng hay nhiềudòng Computer Engineering 2008 Quy tắt trong Verilog Comments Lower case key words identifiers Computer Engineering 2008 20 Advanced Digital Design with the Verilog HDL – cha p ter 4 Thiếtkế từ trên xuống (top-down) •Hệ thống phứctạp được phân chia thành những đơnvị chứcnăng nhỏ hơn  Dễ thiếtkế  Dễ kiểmtra •Cácmodule lồng nhau trong Verilog hỗ trợ thiết kế từ trên xuống • Module tham khảo đến module khác đượcgọilà module “cha”, module được module khác tham khảo đếngọi là module “con” • Độ sâu của các module lồng nhau không giới hạn •Mỗi module con phải có tên duy nhất trong phạm vi module cha (trừ các primitives) [...]... về HDLs và verilog • Mô hình cấu trúc cho mạch luận tổ hợp • Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra • Thời gian trễ truyền lan • Mô hình bảng sự thật cho mạch luận tổ hợp và tuần tự với Verilog Advanced Digital Design with the Verilog HDL – chapter 4 40 Computer Engineering 2008 Bảng sự thật trong Verilog • • • • table Ngõ ra phải có kiểu vô hướng (scalar) Dùng kí hiệu... Engineering 2008 Advanced Digital Design with the Verilog HDL – chapter 4 35 Nội dung chính • Giới thiệu về HDLs và verilog • Mô hình cấu trúc cho mạch luận tổ hợp • Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra • Thời gian trễ truyền lan • Mô hình bảng sự thật cho mạch luận tổ hợp và tuần tự với Verilog Advanced Digital Design with the Verilog HDL – chapter 4 36 Computer Engineering... kiểm chứng thiết kế và phương pháp luận kiểm tra • Thời gian trễ truyền lan • Mô hình bảng sự thật cho mạch luận tổ hợp và tuần tự với Verilog Advanced Digital Design with the Verilog HDL – chapter 4 28 Computer Engineering 2008 Các giá trị luận trong Verilog a y • Verilog sử dụng 4 giá trị luận b 1 True 0 False x Không xác định z tổng trở cao a 0 b x z x 1 x z x z x z x x y z x s0 a a x x z... khác) • Kết nối giữa port hình thức và port thực tế Theo thứ tự trong danh sách các port tên_hình_thức(tên_thực_tế) • half_adder (.b(b), Cout(w2), a(a), sum(w1)); Computer Engineering 2008 Advanced Digital Design with the Verilog HDL – chapter 4 27 Nội dung chính • Giới thiệu về HDLs và verilog • Mô hình cấu trúc cho mạch luận tổ hợp • Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm... nối của các Add_rca_4 trong Add_rca_16 • Kiểm tra theo chiều ngược so với cây phân cấp thiết kế Advanced Digital Design with the Verilog HDL – chapter 4 30 Computer Engineering 2008 Mô phỏng luận • Xây dựng các testbench đưa vào mạch và hiển thị dạng sóng của kết quả • Bộ mô phỏng Kiểm tra mã nguồn Báo lỗi Mô phỏng hành vi của mạch thông qua các tín hiệu vào trong testbench Không có lỗi cú pháp ⇒... các tham số 33 Ví dụ Advanced Digital Design with the Verilog HDL – chapter 4 34 Computer Engineering 2008 Kích thước số • Chỉ ra số lượng bit dùng để lưu trữ số • ‘ 8’b1000_0001 3’d2987 16’h24ce 3’o7 • Những số không khai báo kích thước được hiểu ở dạng integer (thông thường 32 bits) • Mặc định các số ở dạng decimal • Không phân biệt hoa thường trong khai báo số • Dấu “_”... with the Verilog HDL – chapter 4 29 Phương pháp luận kiểm tra • Kiểm tra mạch thực hiện đúng chức năng Kiểm tra ngẫu nhiên phức tạp và không chính xác Cần lập kế hoạch kiểm tra tỉ mỉ • Kiểm tra mạch lớn Kiểm tra tất cả các trường hợp • Mạch cộng 16 bit cần kiểm tra 223 trường hợp • Kiểm tra phân cấp half_adder full_adder Add_rca_4 cần kiểm tra 29 trường hợp Chọn một số trường hợp để kiểm tra kết nối... sum[2:1] bit thứ 2 và 3 từ phải sang của sum • sum[4] giá trị x (không xác định) • Có thể gán, so sánh 2 vector với nhau Advanced Digital Design with the Verilog HDL – chapter 4 26 Computer Engineering 2008 Cấu trúc liên kết (connectivity) • Wire Thiết lập các liên kết giữa các đối tượng thiết kế Giá trị được quyết định trong quá trình mô phỏng bởi cái mà nó được nối vào • Kiểu wire Khai báo bằng từ khóa... trễ truyền • Ngõ vào thay đổi ngõ ra không thay đổi ngay lập tức • Các phần tử cơ bản của verilog có thời gian trễ là 0 • Các vi mạch thực tế được sản xuất dựa trên các thư viện chuẩn được định nghĩa trước • Người thiết kế chỉ quan tâm đến tính đúng đắn của mạch • Sử dụng các công cụ tổng hợp để hiện thực các thiết kế thỏa mãn các ràng buộc thời gian • ‘timescale / Chỉ... Design with the Verilog HDL – chapter 4 23 Cây phân cấp mạch cộng 16-bit ripple carry Add_rca_16 M1 M2 M3 M4 Add_rca_4 Add_rca_4 M1 M2 M3 M4 Add_full Add_full Add_full Add_full M1 M2 Add_half or xor Add_rca_4 Add_rca_4 M3 or Add_half or xor Cây phân cấp thiết kế mạch cộng 16 bit ripple carry Advanced Digital Design with the Verilog HDL – chapter 4 24 Computer Engineering 2008 Hiện thực mạch cộng 16-bit . 2008 dce Thiếtkế mạch số vớiHDL Chương 4: Thiếtkế luậnl với Verilog Computer Engineering 2008 2 Advanced Digital Design with the Verilog HDL – cha p ter. dung chính •Giớithiệuvề HDLs và verilog •Môhìnhcấutrúcchomạch luậnlýtổ hợp •Môphỏng luận lý, kiểmchứng thiếtkế và phương pháp luậnkiểmtra •Thờigiantrễ truyềnlan •Môhìnhbảng

Ngày đăng: 23/03/2014, 10:21

Từ khóa liên quan

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

Tài liệu liên quan