1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

THIẾT kế bộ NHÂN 4BITS DÙNG VERILOG ( có code )

29 3,2K 14

Đ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 29
Dung lượng 1,05 MB

Nội dung

có sơ đồ nguyên lý, sơ đồ khối và lưu đồ giải thuật và code đầy đủ cho mạch THIẾT kế bộ NHÂN 4BITS DÙNG VERILOG ...............................................................................................................................................................

ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG ĐỒ ÁN ĐỀ TÀI : THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG MỤC LỤC CHƯƠNG I: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI THIẾT KẾ BỘ NHÂN BIT Giới thiệu đề tài nguyên lý thiết kế Chip 1.1 Giới thiệu đề tài đồ án ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Trong việc tính toán máy tính, phép tính thường sử dụng phép tính cộng ,trừ, nhân, chia Trong báo cáo ta tìm hiểu phân tích phép nhân số bit từ thiết kế mạch nhân bit Nhân hai số nhị phân tương tự thập phân,tuy nhiên hệ nhị phân hai số nên việc nhân tương đối đơn giản 1.2 Nguyên lý thiết kế Chip Nguyên lý thiết kế chip ICs số thường dựa trình “Basic platform development flow” Hình 1.1: Tổng quan nguyên lý thiết kế Chip Khi thực thiết kế ta cần phân tích, xác định đặc tính kỹ thuật IC số cách tìm hiểu xu hướng thị trường, yêu cầu khách hàng Từ đưa đặc trưng (spec) hệ thống, thông số kỹ thuật: hoạt động hệ thống (performance), tiêu hao lượng (power dissipation), độ tin cậy, giá cả… Trong trình thiết kế ta cần quan tâm: – Tối ưu hóa hệ thống: rút gọn phần dư, mô tả không cần thiết – Cần phân tích để tránh tình huống, yếu tố làm thay đổi hệ thống Ví dụ: cấu trúc khối, phân tầng thiết kế, chiều dài dây nối, … làm thay đổi tần số hoạt động tối đa, công suất tiêu tán chip… Về mặt kỹ thuật ta cần quan tâm đến spec, thông số kỹ thuật khác: tần số hoạt động, kích thước, công nghệ chế tạo ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Các hệ thống lớn thường xây dựng lên cách kế thừa hệ thống nhỏ sẵn Kết hợp phát triển hệ thống nhỏ để hệ thống lớn Tập hợp hệ thống nhỏ lưu giữ thư viện Đây trình hình thành thư viện thiết kế (các library cell) Ngoài library cell, cần thêm thư viện công nghệ, luật, quy tắc thiết kế,… Sơ đồ khối mạch thiết kế Hình 2.1 Sơ đồ khối nhân bits CHƯƠNG II: TÌM HIỂU NGÔN NGỮ VERILOG/ VHDL Một số khái niệm Verilog Verilog HDL ngôn ngữ mô tả phần cứng đa mục đích dễ học dễ sử dụng cấu trúc đơn giản tương tự ngôn ngữ lập trình C Đối với người thiết kế kinh nghiệm lập trình với ngôn ngữ C thấy dễ dàng học Verilog Verilog cho phép người thiết kế mô tả thiết kế nhiều cấp độ: mô tả hành vi, mô tả luồng liệu, mô tả mức cổng, ghi kết hợp mức Do người thiết kế cần học ngôn ngữ cho nhiều loại thiết kế khác Hầu hết công cụ tổng hợp hỗ trợ ngôn ngữ Verilog Do đó, Verilog ngày trở nên phổ biến lựa chọn nhà thiết kế Tất nhà sản xuất cung cấp thư viện VerilogHDL để tổng hợp cho thiết kế Nên việc sử dụng Verilog cho phép lựa chọn nhà sản xuất Phương pháp thiết kế Để dễ cho việc thiết kế người ta thường chia nhỏ công việc để giải ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Sau chia nhỏ công việc cho thiết kế người ta thực thiết kế theo phương pháp từ xuống (top-down) từ lên (bottom-up) Top-down phương pháp thiết kế thực thiết kế khối top trước thiết kế khối chính, cuối thiết kế khối cell (leaf cell) Top-down design đòi hỏi người thiết kế cẩn thận tuân thủ chặt nguyên tắc thiết kế Các module gọi chưa thiết kế Hình 2.1 Mô tả phương pháp thiết kế Top-down Bottom-up phương pháp thiết kế mà ta xây dựng khối nhỏ trước Sau khối thiết kế lớn xây dựng từ khối thiết kế nhỏ Từng bước xây dựng lên khối cao xây dựng lên top module Hình 2.2 Mô tả việc thiết kế Bottom-up Các mức mô tả Logic ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Trong Verilog ta nhiều cấp độ mô tả: Mô tả mức trạng thái (hành vi) Mô tả mức luồng liệu Mô tả mức cổng Mô tả mức Switch Verilog cho phép người thiết kế kết hợp bốn mức mô tả module Trong Verilog khối mô tả gọi module Trong module ta gọi thể module thấp Verilog HDL : Là ngôn ngữ để thiết kế hệ thống CPU.Các khối (module) chức HLD thực song song, tùy vào người lập trình Cấu trúc viết chương trình module 4.1 Cấu trúc 1) Module Verilog đưa khái niệm module Module khối xây dựng Verilog Một module thành phần tập hợp khối thiết kế nhỏ Một module phải diễn tả, thể giao tiếp bên nội dung bên khối Nội dung mô tả mức cấu trúc, luồng liệu hay mô tả hành vi Hình 3.1: Ví dụ module đơn giản Trên module nhỏ mô tả gồm phép tính logic đơn giản ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.2: Cấu trúc module Thông thường ta cấu trúc module bao gồm phần sau: -Khai báo, định nghĩa module -Khai báo port xuất, nhập tín hiệu bên module -Mô tả chức module -Kết thúc module Phân tích ví dụ Trong module port xuất nhập phải khai báo từ khóa: “input”, “output” Các tín hiệu bên module khai báo dạng “Register” “Net” Các “Register” dùng cho tín hiệu khả tự lưu trữ liệu ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Các “Net” Verilog diễn tả kết nối vật lý phần cứng Nó dùng để nối module hay cổng lại với nhau, thân tự lưu trữ giá trị Một “wire” dùng chỗ module, gán bởi: • Ngõ module, cổng • Gán với phép gán liên tục • Các phép gán liên tục khai báo lệnh “assign” Tất phép gán liên tục thực đồng thời 4.2 Các qui ước Verilog hỗ trợ cho người thiết kế mô tả hệ thống nhiều cấp độ khác Mức mô tả hành vi: Là cấp độ mô tả trừu tượng cao Module thực điều kiện mong muốn thiết kế mặt logic Mà không quan tâm đến việc thực mặt phần cứng Do cấp độ thiết kế Verilog giống với ngôn ngữ C Mức mô tả luồng liệu: Ở mức người thiết kế phải rõ luồng liệu Người thiết kế phải hiểu luồng liệu ghi, hiểu liệu xử lý thiết kế Mức mô tả mức cổng: Module thể giới hạn mức cổng kết nối cổng Mức mô tả Switch: Là mức mô tả cấp thấp mà Verilog cung cấp Module thực dựa vào điều khoảng switch, storage nodes, kết nối chúng 4.3 Các phép tính Là phần dùng để mô tả phép toán Verilog, trước sâu vào phép toán ta cần nắm sơ toán hạng -Toán hạng Toán hạng là: Con số; net (bit phần bit lựa chọn); reg (bit phần bit chọn) Giá trị trả gọi function -Toán tử Các toán tử hỗ trợ Verilog miêu tả bảng sau -Các phép toán số học : + ; - ; -Các phép toán quan hệ (so sánh): < ; > ; =; == ; != -Các phép toán logic : ! && || -Toán tử rút gọn : & | ^ * ; / ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG -Kết hợp với toán tử not : ~& ~| ~^ Toán tử dịch – Dịch trái: > Toán tử điều kiện: Conditional_expression ? true_expression: false_expression CHƯƠNG III: TÌM HIỂU NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ NHÂN BIT Sơ đồ giải thuật ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Nguyên lý hoạt động 2.1 Nguyên lý hoạt động cộng (Full adder) -Khối cộng full adder khối tổ hợp thực chức cộng giá trị ngõ vào tính đến cờ nhớ ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.5 Các cổng logic Full adder bit -Khối cộng full-adder bit bảng thật sau A B Cin Cout S 0 0 0 1 0 1 1 0 1 1 1 1 1 1 -Dùng bìa Karnaugh rút gọn ngõ S Cout 10 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG output S,Cout; //////////////// assign S= A^B^Cin; assign Cout= (A&B)|(A&Cin)|(B&Cin); endmodule Hình 3.9 Viết code Full adder 1bit phần mềm quartus II 15 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.10 Bộ Full adder bit Vậy ta thiết kế xong khối FA,kế đến ta thiết kế cổng AND kết nối mạch 2)Thiết kế cổng AND kết nối thành phần mạch Đầu tiên ta tạo project mang tên NHAN4BIT.Lưu ý tạo project ta phải thêm vào project FA thiết kế lúc đầu để viết chương trình ta dử dụng.Sau chọn xong nhấn OK 16 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.11 Setup Khởi tạo project xong ta lại chọn file verilog để thiết kế Kế tiếp soạn thảo code chạy chương trình Sau dịch thành công ta mạch sau: module NHAN4BIT(A,B,P); input (3:0)A,B; output (7:0)P; wire X0,X1,X2,X3,Y0,Y1,Y2,Y3,Z0,Z1,Z2,Z3,T0,T1,T2,T3,Cout0,Cout1,Cout2,Cout3, Cout4,Cout5,Cout6,Cout7,Cout8,Cout9,Cout10; wire (7:1)S; ////////// assign X0= A[0]&B[0]; assign P0= X0; assign X1= A[1]&B[0]; assign X2= A[2]&B[0]; assign X3= A[3]&B[0]; assign Y0= A[0]&B[1]; assign Y1= A[1]&B[1]; assign Y2= A[2]&B[1]; assign Y3= A[3]&B[1]; assign Z0= A[0]&B[2]; assign Z1= A[1]&B[2]; 17 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG assign Z2= A[2]&B[2]; assign Z3= A[3]&B[2]; assign T0= A[0]&B[3]; assign T1= A[1]&B[3]; assign T2= A[2]&B[3]; assign T3= A[3]&B[3]; //////////FA(A,B,Cin,S,Cout) FA A0(X1,Y0,1'b0,P[1],Cout0); FA A1(X2,Y1,Cout0,S1,Cout1); FA A2(X3,Y2,Cout1,S2,Cout2); FA A3(1'b0,Y3,Cout2,S3,Cout3); FA A4(S1,Z0,1'b0,P[2],Cout4); FA A5(S2,Z1,Cout4,S5,Cout5); FA A6(S3,Z2,Cout5,S6,Cout6); FA A7(Cout3,Z3,Cout6,S7,Cout7); FA A8(S5,T0,1'b0,P[3],Cout8); FA A9(S6,T1,Cout8,P[4],Cout9); FA A10(S7,T2,Cout9,P[5],Cout10); FA A11(Cout7,T3,Cout10,P[6],P[7]); Endmodule 18 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.12 Viết code Bộ nhân bits phần mềm quartus II 19 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG CHƯƠNG V: MÔ PHỎNG MẠCH Khi biên dịch thành công ta đưa vào dạng sóng biến nhập vào thông số cần thiết Hình 3.13 Thiết lập thời gian 20 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.14 Thiết lập dạng Unsigned Decimal để dễ dàng xét kết Trong hình 3.15 ta chọn Radix Binary số nhị phân 21 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.15 Thiết lập dạng Binary 22 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.16 Mô tính toán dạng số nhị phân Xong ta bắt đầu lưu lại theo trình tự sau simulation theo hình vẽ: Hình 3.17 Save file waveform để tiến hành chạy mô 23 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.18 Tiến hành chọn Generate Functional Simulation Netlist Hình 3.19 Chọn Start Simulation để chạy kết 24 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Đáp số biến hay kết kiểm tra sóng hình sau: Hình 3.20 Kết phép toán mô Quartus II 25 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.21 Kết mạch mô Quartus II KẾT LUẬN -Ta hoàn thành xong nhân bit Kết đầu vào đầu theo yêu cầu cần thiết kế -Mạch nhân bit phần phép tính nhiều phép tính khác Ta thiết kế thêm khác cộng trừ chia.v.v Tập hợp mạch ta ALU dùng CPU tính toán -Quartus II phần mềm dùng để mô phần cứng tiện lợi dùng hai ngôn ngữ để thiết kế Verilog VHDL.Nắm rõ cách sử dụng phần mềm cộng với ngôn ngữ lập trình ta thiết kế mạch theo yêu cầu người dùng 4.1.1 Ưu điểm -Bộ nhân bit cấu tạo đợn giản,dễ thực -Code mạch đơn giản khác như: nhân,bộ cộng xuất led,bộ cộng cải tiến 16 bit, -Có thể cộng nhiều bit, giúp ích cho trình tính toán 4.1.2 Nhược điểm -Chỉ thực chức cộng -Cộng nhiều bit cho kết lớn,khó kiểm soát 4.2 Ứng dụng phát triển -Ứng dụng: dùng để tạo chip, vi mạch, chức cộng -Hướng phát triển: phát triển lên thành nhân nhiều bit bit dấu,tích hợp vừa thực chức nhân số dương số âm 26 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG TÀI LIỆU THAM KHẢO [1] Tài liệu thiết kế vi mạch trung tâm nghiên cứu đào tạo thiết kế vi mạch ICDREC [2]Đoàn Minh Vững.Thiết kế hệ thống số.Tp.HCM,NXB ĐHQG,2005 [3]Đinh Sỹ Hiền.Thiết kế hệ thống VLSI.TPHCM,NXB ĐHQG,2005 [4]Giáo trình Kỹ thuật số - Nguyễn Đình Phú, Nguyễn Trường Duy Và trang web hướng dẫn cách sử dụng phần mềm quartus II www.google.com http://123doc.org/ http://codientu.org/ 27 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG NHẬN XÉT CỦA GIÁO VIÊN - 28 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG - 56.74% 29 ... Cout= (A&B)|(A&Cin)|(B&Cin); endmodule Hình 3.9 Viết code Full adder 1bit phần mềm quartus II 15 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.10 Bộ Full adder bit Vậy ta thiết kế xong... xuống (top-down) từ lên (bottom-up) Top-down phương pháp thiết kế thực thiết kế khối top trước thiết kế khối chính, cuối thiết kế khối cell (leaf cell) Top-down design đòi hỏi người thiết kế cẩn... A11(Cout7,T3,Cout10,P[6],P[7 ]); Endmodule 18 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG Hình 3.12 Viết code Bộ nhân bits phần mềm quartus II 19 ĐỒ ÁN 2: THIẾT KẾ BỘ NHÂN 4BITS DÙNG VERILOG CHƯƠNG V: MÔ PHỎNG MẠCH Khi

Ngày đăng: 11/03/2017, 20:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w