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 ...............................................................................................................................................................

Trang 1

1. Giới thiệu đề tài và nguyên lý thiết kế Chip

1.1 Giới thiệu đề tài đồ án 2

Trang 2

Trong việc tính toán trong máy tính, những phép tính cơ bản thường sử dụng đó là các phép tính cộng ,trừ, nhân, chia Trong bài báo cáo này ta tìm hiểu và phân tích

về phép nhân 2 số 4 bit từ đó thiết kế mạch nhân 4 bit

Nhân hai số nhị phân cũng tương tự như trong thập phân,tuy nhiên vì hệ nhị phân chỉ có hai số 0 và 1 nên việc nhân cũng 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ên quá trình “Basic platform development flow”

Hình 1.1: Tổng quan về nguyên lý thiết kế Chip Khi thực hiện một thiết kế ta cần phân tích, xác định các đặc tính kỹ thuật của IC số bằng cách tìm hiểu xu hướng thị trường, các yêu cầu của khách hàng Từ đó đưa ra các đặc trưng (spec) của hệ thống, các thông số kỹ thuật: hoạt động của hệ thống (performance), tiêu hao năng lượng (power dissipation), độ tin cậy, giá cả…

Trong quá trình thiết kế ta cần quan tâm:

– Tối ưu hóa hệ thống: rút gọn các phần dư, mô tả không cần thiết

– Cần phân tích để tránh các tình huống, yếu tố có thể làm thay đổi hệ thống

Ví dụ: cấu trúc các khối, phân tầng thiết kế, chiều dài dây nối, … có thể làm thay đổi tần số hoạt động tối đa, công suất tiêu tán của chip…

Về mặt kỹ thuật ta cần quan tâm đến spec, và các thông số kỹ thuật khác: tần số hoạt động, kích thước, công nghệ chế tạo

Trang 3

Các hệ thống lớn thường được xây dựng lên bằng cách kế thừa các hệ thống nhỏ có sẵn Kết hợp và phát triển các hệ thống nhỏ để có được hệ thống lớn Tập hợp các

hệ thống nhỏ này được lưu giữ trong thư viện Đây chính là quá trình hình thành các thư viện thiết kế (các library cell)

Ngoài các library cell, còn cần có thêm các thư viện công nghệ, các luật, quy tắc thiết kế,…

2. Sơ đồ khối mạch thiết kế

Hình 2.1 Sơ đồ khối bộ nhân 4 bits

CHƯƠNG II: TÌM HIỂU NGÔN NGỮ VERILOG/ VHDL

1. Một số khái niệm về Verilog

Verilog HDL là một ngôn ngữ mô tả phần cứng đa mục đích dễ học và dễ sử dụng

Nó có 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ế đã có kinh nghiệm trong lập trình với ngôn ngữ C sẽ thấy dễ dàng khi học về 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 dữ liệu, mô tả mức cổng, thanh ghi hoặc kết hợp giữa các mức này Do đó người thiết kế chỉ cần học một ngôn ngữ duy nhất cho nhiều loại thiết kế khác nhau.Hầu hết các công cụ tổng hợp đều hỗ trợ ngôn ngữ Verilog Do đó, Verilog ngày càng trở nên phổ biến và là lựa chọn của các nhà thiết kế

Tất cả các nhà sản xuất đều 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 chúng ta lựa chọn nhà sản xuất

2. 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 ra để giải quyết

Trang 4

Sau khi chia nhỏ công việc cho thiết kế người ta có thể thực hiện thiết kế theo 2 phương pháp từ trên xuống (top-down) hoặc từ dưới lên (bottom-up).

Top-down là phương pháp thiết kế thực hiện thiết kế các khối top trước rồi mới thiết

kế các khối chính, cuối cùng mới thiết kế các khối cell lá (leaf cell) Top-down design đòi hỏi người thiết kế rất cẩn thận và tuân thủ chặt các nguyên tắc trong thiết

kế Các module con được gọi khi chưa được thiết kế

Hình 2.1 Mô tả phương pháp thiết kế Top-down

Bottom-up là phương pháp thiết kế mà trong đó ta sẽ xây dựng các khối nhỏ trước Sau đó các khối thiết kế lớn sẽ được xây dựng từ các khối thiết kế nhỏ này Từng bước xây dựng lên các khối cao hơn cho đến khi xây dựng lên được top module

Hình 2.2 Mô tả về việc thiết kế Bottom-up

Trang 5

Trong Verilog ta có nhiều cấp độ mô tả:

Mô tả mức trạng thái (hành vi)

Mô tả mức luồng dữ liệu

4. Cấu trúc và các viết chương trình một module

Hình 3.1: Ví dụ về module đơn giản

Trên đây là một module nhỏ được mô tả gồm các phép tính logic đơn giản

Trang 6

Hình 3.2: Cấu trúc một module

Thông thường ta có cấu trúc của một module sẽ bao gồm các phần chính sau:

-Khai báo, định nghĩa module

-Khai báo port xuất, nhập và tín hiệu bên trong module

-Mô tả chức năng của module

Trang 7

1 Các “Net” trong Verilog diễn tả một kết nối vật lý trong phần cứng Nó có thể được dùng để nối các module hay cổng lại với nhau, nhưng bản thân nó không thể tự lưu trữ giá trị.

1 Một “wire” có thể được dùng bất cứ chỗ nào trong module, nó chỉ được gán bởi:

Verilog hỗ trợ cho người thiết kế mô tả hệ thống ở nhiều cấp độ khác nhau

Mức mô tả hành vi: Là cấp độ mô tả trừu tượng cao nhất Module được hiện thực trong các điều kiện mong muốn thiết kế về mặt logic Mà không quan tâm đến việc thực hiện về mặt phần cứng Do vậy ở cấp độ thiết kế này Verilog sẽ giống với ngôn ngữ C nhất

Mức mô tả luồng dữ liệu: Ở mức này người thiết kế phải chỉ rõ luồng dữ liệu Người thiết kế phải hiểu được luồng dữ liệu giữa các thanh ghi, hiểu được dữ liệu sẽ được xử lý như thế nào trong thiết kế

Mức mô tả mức cổng: Module được thể hiện giới hạn mức cổng và sự kết nối giữa các cổng

Mức mô tả Switch: Là mức mô tả cấp thấp nhất mà Verilog cung cấp Module được thực hiện dựa vào các điều khoảng của các switch, các storage nodes, và kết nối của chúng

-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 : & | ^

Trang 8

-Kết hợp với toán tử not : ~& ~| ~^

Toán tử dịch

– Dịch trái: <<

– Dịch phả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 4 BIT

1. Sơ đồ giải thuật

Trang 9

2 Nguyên lý hoạt động chính

2.1 Nguyên lý hoạt động của bộ cộng (Full adder)

-Khối cộng full adder là khối tổ hợp thực hiện chức năng cộng giá trị 2 ngõ vào có tính đến cờ nhớ

Trang 10

Hình 3.5 Các cổng logic trong bộ Full adder 1 bit

-Khối cộng full-adder một bit có bảng sự thật sau

Trang 11

Ci

n AB

Hàm Cout sau khi rút gọn: Cout=AB+ACin+Bcin

Biểu diễn dưới dạng cổng logic bằng ngôn ngữ verilog: Cout=A&B|A&Cin|B&Cin

Ci

n AB

Hàm S sau khi rút gọn:S=A⊕B⊕Cin

Biểu diễn dưới dạng cổng logic bằng ngôn ngữ verilog:S=A^B^Cin

Trang 12

2.2 Nguyên lý hoạt động của bộ nhân (AND)

Dùng thực hiện hàm AND hai hay nhiều biến

-Cổng AND có số ngõ vào tuỳ thuộc số biến và một ngõ ra.Ngõ ra của cổng là hàm AND của các biến ngõ vào

-Ký hiệu cổng AND 2 ngõ vào cho 2 biến (H3.3a)

Hình3.3

Nhận xét:

-Ngõ ra cổng AND chỉ ở mức cao khi tất cả ngã vào lên cao

-Khi có một ngõ vào bằng 0,ngõ ra sẽ bằng 0 bất chấp các ngõ vào còn lại

-Khi có một ngõ vào bằng 1,ngõ ra bằng AND của các ngõ vào còn lại

Vậy với cổng AND 2 ngã vào ta có thể dùng 1 ngã vào làm ngã kiểm soát (H 3.3b), khi ngã kiểm soát = 1, cổng mở cho phép tín hiệu logic ở ngã vào còn lại qua cổng

và khi ngã kiểm soát = 0, cổng đóng , ngã ra luôn bằng 0, bất chấp ngã vào còn lại.Với cổng AND có nhiều ngã vào hơn, khi có một ngã vào được đưa lên mức cao thì ngã ra bằng AND của các biến ở các ngã vào còn lại

Trang 13

CHƯƠNG IV: VIẾT CODE MÔ TẢ MẠCH DÙNG PHẦN MÊM QUARTUS II

Tất cả các thiết kế trong bài báo cáo này đều được viết dựa trên chương trình Quartus II- phần mềm vừa có thể mô phỏng dạng mạch ban đầu vừa có thể kiểm tra dạng sóng kết quả

Thiết kế mạch nhân được chia làm hai phần Đầu tiên là thiết kế khối FA sau đó đến các cổng AND sau đó kết nối tất cả lại với nhau theo lưu đồ là hoàn thành mạch nhân 4 bits

1)Khối FA

Trước tiên mở chương trình Quartus II và tạo project mang tên FA

Trang 14

Hình 3.6 Tạo file FA để lập trình thiết kế bộ Full adder 1 bit

Sau khi tạo xong project ta tiếp tục chọn File-New và chọn tạo file verilog để thiết kế

Trang 16

Hình 3.10 Bộ Full adder 1 bitVậy là ta đã thiết kế xong khối FA,kế đến ta sẽ thiết kế các cổng AND và kết nối mạch

2)Thiết kế cổng AND và kết nối các thành phần trong mạch

Đầu tiên ta tạo một project mới mang tên NHAN4BIT.Lưu ý khi tạo project ta phải thêm vào project FA đã thiết kế lúc đầu để khi viết chương trình ta có thể dử dụng.Sau khi chọn xong nhấn OK

Trang 17

Hình 3.11 SetupKhởi tạo project xong ta lại chọn file verilog để thiết kế như trên

Kế tiếp là soạn thảo code và chạy chương trình Sau khi dịch thành công ta có mạch sau:

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];

Trang 19

Hình 3.12 Viết code Bộ nhân 4 bits trên phần mềm quartus II

Trang 21

Hình 3.14Thiết lập dạng Unsigned Decimal để dễ dàng xét kết quả

Trong hình 3.15 ta chọn Radix là Binary số nhị phân

Trang 22

Hình 3.15 Thiết lập dạng Binary

Trang 23

Hình 3.16 Mô phỏng tính toán ở dạng số nhị phânXong ta bắt đầu lưu lại theo trình tự sau và simulation nó theo các hình vẽ:

Hình 3.17 Save file waveform để tiến hành chạy mô phỏng

Trang 24

Hình 3.18 Tiến hành chọn Generate Functional Simulation Netlist

Trang 25

Đáp số của các biến hay kết quả kiểm tra sóng ra như hình sau:

Hình 3.20 Kết quả của phép toán mô phỏng bằng Quartus II

Trang 26

Hình 3.21 Kết quả mạch mô phỏng trên Quartus II

KẾT LUẬN

-Ta đã hoàn thành xong bộ nhân 4 bit Kết quả đầu vào và đầu ra đúng theo như yêu cầu cần thiết kế

-Mạch nhân 4 bit chỉ là một phần của phép tính trong nhiều phép tính khác nhau Ta

có thể thiết kế thêm các bộ khác như cộng trừ chia.v.v Tập hợp các mạch này ta sẽ được bộ ALU dùng trong CPU khi tính toán

-Quartus II là phần mềm dùng để mô phỏng phần cứng rất tiện lợi có thể dùng hai ngôn ngữ để thiết kế là Verilog và VHDL.Nắm rõ cách sử dụng phần mềm này cộng với ngôn ngữ lập trình ta có thể thiết kế bất cứ mạch nào theo yêu cầu của người dùng

4.1.1 Ưu điểm

-Bộ nhân 4 bit có cấu tạo đợn giản,dễ thực hiện

-Code mạch đơn giản hơn các bộ khác như: bộ nhân,bộ cộng xuất led,bộ cộng cải tiến 16 bit,

-Có thể cộng được nhiều bit, giúp ích cho quá trình tính toán

4.1.2 Nhược điểm

-Chỉ thực hiện được chức năng cộng

-Cộng nhiều bit cho ra kết quả lớn,khó kiểm soát

4.2 Ứng dụng phát triển

-Ứng dụng: dùng để tạo ra các con chip, vi mạch, có chức năng cộng

-Hướng phát triển: có thể phát triển lên thành bộ nhân nhiều bit có cả bit dấu,tích hợp vừa thực hiện được chức năng nhân số dương và số âm

Trang 27

TÀI LIỆU THAM KHẢO

[1] Tài liệu thiết kế vi mạch của trung tâm nghiên cứu và đà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à các 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/

Trang 28

NHẬN XÉT CỦA GIÁO VIÊN

Trang 29

-

-56.74%

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