ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--- oOo ---
TIỂU LUẬN MÔN HỌC
CÔNG NGHỆ VI ĐIỆN TỬ VÀ
THIẾT KẾ VLSI
ĐỀ TÀI: THIẾT KẾ LAYOUT MẠCH FULL-ADDER
Người hướng dẫn : PGS TS. NGUYỄN VĂN CƯỜNG
Học viên thực hiện: NGUYỄN THỊ TUYẾT TRINH
Lớp
: KTĐT KHÓA K32
Đà Nẵng, 05/2016
PHẦN I: GIỚI THIỆU VỀ MẠCH FULL ADDER
Đà Nẵng, tháng 04/2015
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
Full-adder là phần tử cơ bản quan trọng trong các mạch thực hiện phép toán số học.
Phần tử cơ bản này thực hiện phép toán cộng các số nhị phân 1 bit (A và B) với giá trị
nhớ (Cin) để tạo ra giá trị tổng và nhớ ở đầu ra.
1. Đặc tả thiết kế:
- Thời gian trễ được truyền đi của tín hiệu Sum và Carry_out < 1.2 ns
- Bề mặt mạch < 1500
- Công suất động ( Vdd = 2,5V và f max = 20MHz) < 1 mW
2. Các bước thiết kế:
Bước 1: Mô tả Boole của mạch
Thiết kế bắt đầu bằng việc xem xét mô tả Boole của mạch cộng nhị phân. Gọi A
và B là hai biến đầu vào và Cin là carry_in bit. Bộ cộng nhị phân toàn phần là mạch tổ
hợp có 3 đầu vào và 2 đầu ra.
A
B
Cin
Sum (S)
Cout= Ccarry_out
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Hình 1: Mô tả Boole của mạch Full-adder
Biểu thức xác định Sum và Ccarry_out :
Sum = A ⊕ B ⊕ C = ABCin + A BCin + A BCin + ABCin
Cout = Ccarry_ out = AB + ACin + BCin
Bước 2: Sơ đồ mức cổng của mạch cộng nhị phân toàn phần
Sử dụng sơ đồ mức cổng của full-adder như trên hình 1, có thể vẽ được sơ đồ
nguyên lý của nó bằng phần mềm DSCH.
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 2
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
Hình 2: Sơ đồ nguyên lý của phần tử Full-adder (1bit).
Bước 3: Sơ đồ mức Transistor của mạch cộng toàn phần
Hình 3: Sơ đồ mức transistor.
PHẦN II. MÔ PHỎNG TRẠNG THÁI BỘ CỘNG NHỊ PHÂN TOÀN PHẦN
Kết quả mô phỏng hiền thị trên Led ngõ ra
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 3
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
+ Khi đầu vào A=0, B= 0, Cin= 0; đầu ra Carry_out = 0 ( led1 tắt), Sum_out = 0 (led
2 tắt).
+ Khi đầu vào A=0, B= 0, Cin= 1; đầu ra Carry_out = 0 ( led1 tắt), Sum_out = 1 (led
2 sáng tím).
+ Khi đầu vào A=0, B= 1, Cin= 1; đầu ra Carry_out = 1 ( led1 sáng xanh), Sum_out
= 0 (led 2 tắt).
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 4
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
+ Khi đầu vào A=1, B= 1, Cin= 1; đầu ra Carry_out = 1 ( led1 sáng xanh),
Sum_out = 1 (led 2 sáng tím).
PHẦN III. LAYOUT VÀ KẾT QUẢ MÔ PHỎNG SỬ DỤNG PHẦN MỀM MICROWIND 3.1
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 5
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
Thiết kế layout tự động bằng Microwind 3.1:
Khởi tạo file Verilog để thực hiện layout tự động bằng phần mềm Microwind 3.1
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 6
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
Hình 4: Sơ đồ layout tự động bằng Microwind 3.1
Giãn đồ thời gian mô phỏng dạng sóng vào/ ra của mạch full-adder auto, kết quả
được minh họa như hình 5:
Hình 5: Dạng sóng mô phỏng
Layout mạch full-adder được chạy tự động bằng phần mềm Microwind3.1. Mạch
logic được thiết kế hoạt động đúng theo yêu cầu. Do vậy ta sẽ thiết kế layout dựa trên sơ
đồ mạch logic này.
Bước 1: Chọn công nghệ thiết kế mạch
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 7
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
Theo yêu cầu kỹ thuật, add vào file rules của phần mềm mô phỏng
Bước 2: Bắt đầu vẽ layout
Trước khi vẽ mạch chi tiết gồm các NMOS và PMOS ta cần sử dụng Metal1 để tạo
nguồn (VDD+) và đất (VSS-)
Bước 3: Ta chọn các thông số cho NMOS và PMOS thích hợp với mạch cần thiết kế
Bước 4: Ứng dụng các tool move, cut, zoom, text… để vẽ và đặt tên cho mạch
Sau khi hoàn thành phần vẽ layout trên phần mềm MICROWIND 3.1 chúng ta được
kết quả như sau:
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 8
Bài tập môn học Công Nghệ Vi Điện Tử và Thiết Kế VLSI
Hình 6: Sơ đồ layout bằng tay bằng Microwind 3.1.
----- o O o -----
SVTH: Nguyễn Thị Tuyết Trinh_K32
Trang 9