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 LogiS
Trang 1TRƯỜ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
Nguyễn Xuân Đạt MSSV: 13520185
Trang 2LAB 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
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?
Trang 31.3 Sinh viên chuẩn bị
1 Download phần mềm LogiSim: http://sourceforge.net/projects/circuit/
2 Xem trước clip để chuẩn bị các thao tác:
https://www.youtube.com/watch?v=dYZ - Hwbcnq4
3 Tài liệu tham khảo, hướng dẫn sử dụng LogiSim:
http://www.cburch.com/logisim/docs/2.7/en/html/guide/index.html
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
Tạo khối mạch Alu 1 bit
Trang 4Tạo mạch ALU 4-bit
5 Vẽ mạch thực hiện ALU 4-bit trong phần 1.2 trên phần mềm Quartus II
Trang 5Tạo mạch cộng
VCC
VCC
VCC
Cout
OUTPUT
S
OUTPUT
XOR
inst
XOR
inst1
AND2
inst2
AND2
inst3
AND2
inst4
OR3
inst5
Tạo mạch trừ
VCC
VCC
VCC
Cout
OUTPUT
D
OUTPUT XOR
inst
XOR
inst1
AND2
inst2
AND2
inst4
NOT
inst5
NOT
inst6
Tạo mạch ALU 1 bit
Trang 6VCC
VCC
VCC
Cout/Dec
OUTPUT
Result
OUTPUT
NOT
inst2
AND2
inst3
OR2
inst4
XOR
inst5
A B Cin
S Cout
sub
inst
A B Cin
S Cout
add
inst10
A B Cin
S Cout
sub
inst11
A B Cin
S Cout
add
inst12
MULTIPLEXER
C D1 D0
D5 D4
D2 D3
GN D7 D6
A B
Y WN 81mux
inst15
Cout Add
OUTPUT
Cout Sub
OUTPUT
Cout Inc
OUTPUT VCC
VCC
VCC
VCC
Tạo mạch ALU 4 bit
Trang 71.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
Trang 8Ta 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 )
Trang 9Lệnh Complement A(0111) = 1000
Lệnh AND A(0111) and B(0010) = 0010
Trang 10Lệnh XOR A(0111) xor B(0010) = 0101
Lệnh OR A(0111) or B(0010) = 0111
Trang 11Lệnh Decrement A(0111) – (1) = 0110
Lệnh Increment A(0111) + (1) = 1000
Trang 123 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
TH1: op 000 complement A (0000) ta thấy đèn sang ở LED[3:0]-> mạch đúng
Trang 13TH2:op 001 AND A(0111) and B(0010) = 0010 -> mạch đúng
Trang 14TH3: op 010 XOR A(0111) xor B(0010) = 0101 -> kit hiển thị đúng
Trang 15TH4:op 011 OR A(0111) or B(0010) = 0111-> mạch đúng
Trang 16TH5:op 100 Decrement A(0111) – (1) =0110
Trang 17TH6:op 101 ADD A(0111) + B(0010) = 1001
Trang 18TH7:op 110 SUB A(0111) – B(0010) = 0101
TH8:op 111 increment A(0111) + (1) = 1000
Trang 19ThS Nguy n Thanh Sang-Hà Lê Hoài Trung ễn Thanh Sang-Hà Lê Hoài Trung Page 19