Thực hànhMô phỏng chức năng của các cổng luận lý: AND, OR, NOT, XOR, XNOR, NAND, NOR:- Xây dựng mô hình các cổng qua ứng dụng Logisim.- Lần lượt thay đổi giá trị của input và ghi chép kế
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO BÀI THỰC HÀNH
TỔ CHỨC VÀ CẤU TRÚC MÁY TÍNH II
Sinh viên: Nguyễn Việt Nguyên
MSSV: 23521054 Giảng viên hướng dẫn Nguyễn Thành Nhân:
BÀI THỰC HÀNH #1:
Mô phỏng chức năng các cổng luận lý
Mô phỏng các thiết bị lưu trữ
Trang 2I Bài tập thực hành
1 Thực hành
Mô phỏng chức năng của các cổng luận lý: AND, OR, NOT, XOR, XNOR, NAND, NOR:
- Xây dựng mô hình các cổng qua ứng dụng Logisim
- Lần lượt thay đổi giá trị của input và ghi chép kết quả của output
- Lập ra các bảng chân trị từ kết quả ghi chép được
- Rút ra nhận xét về tính chất của các cổng
Mô phỏng các thiết bị lưu trữ: D latch, D flipflop, Thanh ghi:
- Xây dựng mô hình của D latch và D flipflop qua ứng dụng Logisim
- Lần lượt thay đổi giá trị của input và ghi chép kết quả của output
- Rút ra tính chất của các thiết bị lưu trữ
2 Thực hiện qua ứng dụng Logisim
2.1 Mô phỏng chức năng của các cổng luận lý: AND,
OR, NOT, XOR, XNOR, NAND, NOR
a Mô hình cổng AND
Trang 3Lần lượt thay đổi giá trị input để quan sát trạng thái của output
*Trường hợp 1: *Trường hợp 2:
*Trường hợp 3:
Bảng chân trị:
Nhận xét:
Với cổng AND có hai đầu vào, chỉ khi cả hai đầu vào đều là
1 thì kết quả mới là 1
b Mô hình cổng OR
Input Input Output
Trang 4Lần lượt thay đổi giá trị input để quan sát trạng thái của output
*Trường hợp 1: *Trường hợp 2:
*Trường hợp 3:
Bảng chân trị:
Nhận xét:
Input Input Output
Trang 5Với cổng OR có hai đầu vào, chỉ cần 1 trong hai đầu vào là
1 thì kết quả sẽ là 1
c Mô hình cổng NOT
Lần lượt thay đổi giá trị input để quan sát trạng thái của output
*Trường hợp 1: *Trường hợp 2:
Nhận xét:
Với cổng NOT, kết quả trả về sau khi đi qua cổng luôn bị đảo ngược
d Mô hình cổng XOR
Lần lượt thay đổi giá trị input để quan sát trạng thái của output
Trang 6*Trường hợp 1: *Trường hợp 2:
*Trường hợp 3:
Bảng chân trị:
Nhận xét:
Với cổng XOR có hai đầu vào, khi hai đầu vào đều giống nhau thì kết quả sẽ trả về 0, khác nhau sẽ trả về 1
e Mô hình cổng XNOR(NOT – XOR)
Input Input Output
Trang 7Lần lượt thay đổi giá trị input để quan sát trạng thái của output
*Trường hợp 1: *Trường hợp 2:
*Trường hợp 3:
Bảng chân trị :
Nhận xét:
Với cổng XNOR có hai đầu vào, tính chất cổng trái ngược với cổng NOR Nghĩa là, hai đầu vào giống nhau thì kết quả sẽ là
1, khác nhau kết quả se là 0
f Mô hình cổng NAND(NOT – AND)
Input Input Output
Trang 8Lần lượt thay đổi giá trị input để quan sát trạng thái của output
*Trường hợp 1: *Trường hợp 2:
*Trường hợp 3:
Bảng chân trị:
Input Input Output
Nhận xét:
Trang 9Với cổng NAND có hai đầu vào, tính chất của cổng trái ngược với cổng AND Nghĩa là, chỉ khi cả hai đầu vào đều bằng 1 thì kết quả mới xuất hiện 0
g Mô hình cổng NOR(NOT – OR)
Lần lượt thay đổi giá trị input để quan sát trạng thái của output
*Trường hợp 1: Trường hợp 2:
*Trường hợp 3:
Bảng chân trị :
Input Input Output
Trang 10Nhận xét:
Với cổng NAND có hai đầu vào, tính chất cổng trái ngược với cổng OR Nghĩa là, chỉ cần 1 trong hai đầu là 1 thì kết quả sẽ
là 0
2 Mô phỏng các thiết bị lưu trữ: D latch, D flipflop, Thanh ghi
a Mô hình D latch(D flipflop trigger: Level)
Lần lượt thay đổi clock và input và quan sát trạng thái của output
*Bước 1 : Clock off và lần lượt thay đổi input
Giải thích:
Trang 11Vì lúc này clock đang tắt nên D latch luôn lưu trữ trạng thái ban đầu là 0 và sẽ không thay đổi mặc cho input có thay đổi Ở
ví dụ trên, trạng thái ban đầu là 0 và vẫn sẽ luôn là 0 Điều này cũng tương tự nếu thay đổi trạng thái ban đầu là 1
*Bước 2 : Clock on và lần lượt thay đổi input
Giải thích:
Khi bật Clock, D latch lúc này bắt đầu lưu trữ giá trị đầu vào Ta có thể thấy giá trị lưu trữ thay đổi lần lượt là 0 và sau đó
là 1 phụ thuộc vào giá trị đầu vào của nó
*Bước 3 : Lặp lại bước 1
Trang 12Giải thích:
Khi tắt Clock, D latch lại quay về trạng thái như ở Bước 1, tức là chỉ lưu giá trị 1 dù cho input có thay đổi
b.Mô hình D flipflop(D flipflop trigger: Edge)
Các thử nghiệm và kết quả tương tự như D latch
c.Mô hình thanh ghi đơn giản gồm 3 D flipflop nối tiếp
Cấu tạo:
Gồm 3 D flipflop nối tiếp nhau, 1 clock, 3 input và 3 output
Thử nghiệm:
Trang 13*Bước 1: *Bước 2:
*Bước 3: *Bước 4:
Giải thích:
Ở bước 2, khi truyền input mà chưa bật clock, thanh ghi sẽ không hoạt động(unable) vì thế giá trị của output sẽ không thay đổi
Ở bước 3, khi đã bật clock thì output sẽ thay đổi theo giá trị đầu vào input
Ở bước 4, sau khi tắt clock và thay đổi giá trị thì output vẫn được giữ nguyên như ở bước 3, do đó chúng ta đã lưu trữ thành công
3 Bài tập làm thêm
3.1 Mô phỏng mạch tổ hợp
Trang 14Cấu tạo mạch:
Mạch tổ hợp này gồm hai cổng AND và OR có hai đầu vào Trong đó, kết quả của cổng AND là một đầu vào của cổng OR Lần lượt thay đổi giá trị đầu vào và quan sát kết quả Vì ta
đã hiểu rõ cổng AND nên ta sẽ gán cho AND xuất ra hai kết quả
1 và 0 để thu gọn trường hợp thử nghiệm
*Trường hợp 1: *Trường hợp 2:
*Trường hợp 3: *Trường hợp 4:
Nhận xét:
Trang 15Ta có thể thấy rằng, kết quả đầu ra của mạch tổ hợp trên phụ thuộc vào kết quả của cổng AND và đầu vào còn lại của cổng OR Nếu kết quả của cổng AND đúng hoặc đầu vào còn lại của cổng OR đúng thì kết quả luôn bằng 1, chỉ khi cả hai đều bằng 0 thì kết quả mới bằng 0
3.2 Mô phỏng mạch tuần tự
Cấu tạo mạch:
Mạch gồm 1 thanh ghi 4 bit cùng 4 input, 4 output và 1 Clock
Thử nghiệm:
*Bước 1: *Bước 2:
Trang 16*Bước 3: *Bước 4:
Nhận xét:
Khi tắt Clock, thanh ghi không nhận giá trị mới Khi bật Clock và thay đổi đầu vào thì lúc này giá trị đầu vào được thanh ghi lưu trữ lại Khi tắt Clock, thanh ghi lại trở lại trạng thái không nhận giá trị mới, và lúc này nó đã lưu lại giá trị lúc bật Clock