Thực hành: Thiết kế Luận lý Số (CE118)
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
--------------------------------
BÀI BÁO CÁO
LAB 3: THIẾT KẾ ALU
Giảng viên: Nguyễn Thanh Sang
Lớp: CE118.G11.1
Nhóm 7
Tên : Nguyễn Đại
MSSV: 13520176
Nguyễn Xuân Đạt
MSSV: 13520185
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 1
Thực hành: Thiết kế Luận lý Số (CE118)
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 2
Thực hành: Thiết kế Luận lý Số (CE118)
LAB 3: THIẾT KẾ ALU
1.1 Mục tiêu
Trong bài lab này sinh viên sẽ tham khảo thiết kế một ALU 8-bit trên phần mềm mô phỏng
LogiSim.
Sinh viên sẽ thiết kế một ALU 4-bit trên phần mềm LogiSim. Sau đó, thiết kế và kiểm
chứng hoạt động của ALU này trên KIT DE2.
1.2 Nội dung thực hành
Thiết kế bộ ALU 4-bit có sơ đồ khối và các chức năng như bên dưới
Chú ý: Lệnh Add (cộng) và Subtract (trừ) được thực hiện trên 2 số có dấu 4-bit A và B. Kết quả
sẽ được biểu diễn trong số có dấu 4-bit (R). Cờ báo add_sub_overflow sẽ được bật lên 1 khi
mạch phát hiện có overflow xảy ra.
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 3
Thực hành: Thiết kế Luận lý Số (CE118)
Hỏi: tầm biểu diễn của 2 toán hạng A, B và kết quả Add và Subtract ở trên?
1.3 Sinh viên chuẩn bị
1. Download phần mềm LogiSim: />2. Xem trước clip để chuẩn bị các thao tác:
/>3. Tài liệu tham khảo, hướng dẫn sử dụng LogiSim:
/>4. Vẽ mạch thiết kế ALU 4-bit trong phần 1.2 và mô phỏng trên phần mềm LogiSim
Tạo mạch ALU 1-bit
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 4
Thực hành: Thiết kế Luận lý Số (CE118)
Tạo khối mạch Alu 1 bit
Tạo mạch ALU 4-bit
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 5
Thực hành: Thiết kế Luận lý Số (CE118)
5. Vẽ mạch thực hiện ALU 4-bit trong phần 1.2 trên phần mềm Quartus II
Tạo mạch cộng
A
XOR
INPUT
VCC
S
OUTPUT
inst1
B
INPUT
VCC
Cin
INPUT
VCC
XOR
inst
AND2
inst3
AND2
OR3
inst4
inst5
OUTPUT
Cout
AND2
inst2
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 6
Thực hành: Thiết kế Luận lý Số (CE118)
Tạo mạch trừ
A
INPUT
VCC
B
INPUT
VCC
Cin
INPUT
VCC
XOR
XOR
inst
OUTPUT
D
OUTPUT
Cout
inst1
AND2
NOT
inst6
inst3
OR2
AND2
inst4
NOT
inst5
inst2
Tạo mạch ALU 1 bit
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 7
Thực hành: Thiết kế Luận lý Số (CE118)
Tạo mạch ALU 4 bit
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 8
Thực hành: Thiết kế Luận lý Số (CE118)
1.4 Hướng dẫn thực hanh
1. Tạo một project mới, đặt tên:
E/CE118_lab/lab3_MSSV
2. Thực thi thiết kế ALU 4-bit với các chức năng trong phần 1.2 và mô phỏng trên phần mềm
LogiSim
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 9
Thực hành: Thiết kế Luận lý Số (CE118)
Ta thực hiện phép tính +7 + (+2) = +9 ( 0111+ 0010=1001 ) phép cộng 2 số 3bit và 1bit dấu
có hiện tượng tràn số học nên cổng overflow có giá trị 1
Ta thực hiện phép tính (-7) + (+2) = (-5) ( 1001 + 0010 = 1011) cổng overflow sáng do lệnh
sub bị tràn ( -7) – (+2) = (-9) (1001 – 0011 = 10111 )
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 10
Thực hành: Thiết kế Luận lý Số (CE118)
Lệnh Complement A(0111) = 1000
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 11
Thực hành: Thiết kế Luận lý Số (CE118)
Lệnh AND A(0111) and B(0010) = 0010
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 12
Thực hành: Thiết kế Luận lý Số (CE118)
Lệnh XOR A(0111) xor B(0010) = 0101
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 13
Thực hành: Thiết kế Luận lý Số (CE118)
Lệnh OR A(0111) or B(0010) = 0111
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 14
Thực hành: Thiết kế Luận lý Số (CE118)
Lệnh Decrement A(0111) – (1) = 0110
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 15
Thực hành: Thiết kế Luận lý Số (CE118)
Lệnh Increment A(0111) + (1) = 1000
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 16
Thực hành: Thiết kế Luận lý Số (CE118)
3. Thiết kế và kiểm chứng hoạt động của ALU 4-bit trên phần mềm Quartus II và thực thi trên
KIT DE2.
Mô phỏng wareforms theo các TH sau cho thấy mạch chạy đúng theo đề bài.
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 17
Thực hành: Thiết kế Luận lý Số (CE118)
TH1: op 000 complement A (0000) ta thấy đèn sang ở LED[3:0]-> mạch đúng
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 18
Thực hành: Thiết kế Luận lý Số (CE118)
TH2:op 001 AND A(0111) and B(0010) = 0010 -> mạch đúng
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 19
Thực hành: Thiết kế Luận lý Số (CE118)
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 20
Thực hành: Thiết kế Luận lý Số (CE118)
TH3: op 010 XOR A(0111) xor B(0010) = 0101 -> kit hiển thị đúng
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 21
Thực hành: Thiết kế Luận lý Số (CE118)
TH4:op 011 OR A(0111) or B(0010) = 0111-> mạch đúng
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 22
Thực hành: Thiết kế Luận lý Số (CE118)
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 23
Thực hành: Thiết kế Luận lý Số (CE118)
TH5:op 100 Decrement A(0111) – (1) =0110
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 24
Thực hành: Thiết kế Luận lý Số (CE118)
TH6:op 101 ADD A(0111) + B(0010) = 1001
ThS. Nguyễn Thanh Sang-Hà Lê Hoài Trung
Page 25