Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
2,75 MB
Nội dung
Page. 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 KỸ THUẬT MÁY TÍNH Bài 5. THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD Page. 2 1.1 Nội dung thực hành Sử dụng mạch giải mã LED 7 đoạn và 1 số mạch Comparator, mạch A và mạch Mux2-1 để thực hiện mạch hiển thị số BCD có hai chữ số (từ 0 đến 15). Hiển thị số hàng chục lên HEX1 và hàng đơn vị lên HEX0 Page. 3 1.1.1 Thiết kế mạch hiển thị số BCD có 2 chữ số 1. Tạo một project Quartus mới, đặt tên: E/lab5/lab5_MSSV 2. Thiết kế một mạch theo yêu cầu đề bài. Chú ý việc thiết kế mạch hiển thị số BCD có hai chữ số được thực hiện như mạch sau: Trong đó: • Mạch dồn kênh MUX2-1 sẽ dựa vào đầu ra z của mạch Comparator để chọn kênh v3v2v1v0 hoặc m2m1m0. • Mạch Comparator để kiểm tra số lớn hơn 9: nếu số nhỏ hơn 9 thì mạch chọn sẽ chọn cổng số 0 tức là v3v2v1v0 sẽ được đưa ra HEX0 để hiển thị lên d0, và d1 sẽ hiển thị số 0. Nếu số lớn hơn 9 thì d1 sẽ hiển thị số 1, và d0 sẽ hiển thị số m2m1m0 từ Circuit A. • Mạch Circuit A hoạt động theo bảng sau: v4v2v1v0 m2m1m0 1010 (số 10) 000 (số 0 ở d0 và số 1 ở d1) 1011 (số 11) 001 Page. 4 1100 (số 12) 010 1101 (số 13) 011 1110 (số 14) 100 1111 (số 15) 101 3. Gán pin cho mạch trên 4. Biên dịch để phân tích, tổng hợp và tạo ra file .sof 5. Mô phỏng mạch trên wareform. 6. Nạp file thực thi lên FPGA. Kiểm tra hoạt động của mạch. Page. 5 1.2 Thực hành. 1. Tạo một project mới. 2. Thiết kế mạch Dựa vào mạch đã cho: Xét mạch Comparator ta thấy: • Mạch Comparator có 4 input là v0, v1, v2, v3 và output là z. • Mạch Comparator kiểm tra xem input đầu vào có lơn hơn 9 không, nếu lớn hơn thì trả về giá trị là 1 còn nhỏ hơn thì trả về giá trị là 0. Page. 6 Ta có bảng sự thật. AB CD 00 01 11 10 00 0 0 1 0 01 0 0 1 0 11 0 0 1 1 10 0 0 1 1 F(A,B,C,D) = AB + AC. Xét mạch Criscuit A: • Mạch Circuit hoạt động theo bảng sau: • v4v2v1v0 m2m1m0 1010 (số 10) 000 (số 0 ở d0 và số 1 ở d1) 1011 (số 11) 001 1100 (số 12) 010 1101 (số 13) 011 1110 (số 14) 100 1111 (số 15) 101 • Ta thấy mạch có input là v0, v1, v2 và output là m0, m1, m2. + Xét cổng m2: v2 v1 v0 m2 010 0 011 0 100 0 101 0 110 1 111 1 Ta có bảng sự thật: V2 V1V0 0 1 00 X 0 01 X 0 11 0 1 10 0 1 Page. 7 => M2 = v2v1 + Xét cổng m1: v2 v1 v0 m1 010 0 011 0 100 1 101 1 110 0 111 0 Ta có bảng sự thật: V2 V1V0 0 1 00 X 1 01 X 1 11 0 0 10 0 0 M1 = v2v1’ + Xét cổng m0: v2 v1 v0 m0 010 0 011 1 100 0 101 1 110 0 111 1 Ta có bảng sự thật: Page. 8 V2 V1V0 0 1 00 X 0 01 X 1 11 1 1 10 0 0 M0 = v0 Tiến hành tạo Symbol cho mạch Circuit A: • Vẽ mạch Circuit A • Kết quả biên dịch mạch trên: Page. 9 -Tạo Symbol mạch Circuit A Ta được Symbol của mạch Circuit A. Page. 10 [...]... có mạch hiển thị 2 số BCD là Page 14 Sau khi gán pin Kết quả biên dịch Page 15 Mô phỏng mạch trên Wareform Ta có mạch wareform như sau: Page 16 -Từ mạch wareform trên ta thấy mạch chạy đúng với sự thât: + VD: số 6 (0110) ta thấy ở phần Input là :SW[0] -> SW[3] là (0110) Page 17 Và ở HEX1 hiển thị số hàng chục là số 0 ứng với HEX1[0] -> HEX1[6] là (000001) Còn ở HEX0 hiển thị số hàng đơn vị là số. .. ra từ mạch Comperator được đưa tới HEX1 với đầu vào là 0000 để hiển thị số 0 (HEX1 hiển thị số hàng chục) • Tiếp đó đầu ra của mạch Comperator lại đi qua các mạch dồn kênh MUX2-1 vì đầu ra bằng 0 nên các cổng MUX2-1 sẽ chọn đầu ra là v3v2v1v0 để đưa tới HEX0 hiển thị số hang đơn vị Ta thấy ở TH số nhỏ hơn 9 thì mạch sẽ hiển thị được số 0 ở hàng chục và số chính nó ở hàng đơn vị TH2: đầu vào là số lớn... HEX1[6] là (010000) +VD : số 13 (1101) ta thấy ở phần Input là :SW[0] -> SW[3] là (1101) Và ở HEX1 hiển thị số hàng chục là số 1 ứng với HEX1[0] -> HEX1[6] là (100111) Còn ở HEX0 hiển thị số hàng đơn vị là số 6 ứng với HEX1[0] -> HEX1[6] là (0000110) • Giải thích nguyên lý hoạt động của mạch hiển thị 2 số BCD là: TH1: đầu vào là số nhỏ hơn 9: • Dữ liệu đầu vào sao khi qua mạch Comperator sẽ đưa ra... 9: • Dữ liệu đầu vào sao khi qua mạch Comperator sẽ đưa ra kết quả là 1 • Đầu ra từ mạch Comperator được đưa tới HEX1 với đầu vào là 0001 để hiển thị số 1 (HEX1 hiển thị số hàng chục) • Tiếp đó đầu ra đi qua mạch dồn kênh MUX2-1 và chọn đầu ra chình là đầu ra của mạch Circuit A mà mạch Circuit A có nhiên vụ chuyễn đổi dữ liệu của v0v1v2 sao cho phug hợp để đưa vào mạch hiển thị led HEX0 Như vậy thì...Tiếp theo ta tạo symbol cho mạch dồn kênh MUX2-1 • Vì Mạch dồn kênh MUX2-1 sẽ dựa vào đầu ra z của mạch Comparator để chọn kênh v3v2v1v0 hoặc m2m1m0 Cụ thể là nếu Z = 0 thì đầu ra sẽ là v3v2v1 còn Z = 1 thì đầu ra sẽ là m2m1m0 F = Zm + Z’v Ta có mạch là: Page 11 Kết quả biên dịch Tạo symbol: Symbol khi tạo xong: Page 12 -Tạo Symbol của... của mạch Circuit A mà mạch Circuit A có nhiên vụ chuyễn đổi dữ liệu của v0v1v2 sao cho phug hợp để đưa vào mạch hiển thị led HEX0 Như vậy thì đầu vào của HEX0 ở TH sẽ khác với trường hợp trên VD số 12 (1100)= >số 2 (0010) Page 18 . (số 15) 101 3. Gán pin cho mạch trên 4. Biên dịch để phân tích, tổng hợp và tạo ra file .sof 5. Mô phỏng mạch trên wareform. 6. Nạp file thực thi lên FPGA. Kiểm tra hoạt động của mạch. Page. 5 1.2. số (từ 0 đến 15) . Hiển thị số hàng chục lên HEX1 và hàng đơn vị lên HEX0 Page. 3 1.1.1 Thiết kế mạch hiển thị số BCD có 2 chữ số 1. Tạo một project Quartus mới, đặt tên: E/lab5/lab5_MSSV 2. Thiết. MÁY TÍNH Bài 5. THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD Page. 2 1.1 Nội dung thực hành Sử dụng mạch giải mã LED 7 đoạn và 1 số mạch Comparator, mạch A và mạch Mux2-1 để thực hiện mạch hiển thị