THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD 5.1 Mục tiêu Sinh viên sẽ thực hiện các mạch số liên quan đến LED 7 đoạn như mạch hiển thị số BCD có 2 chữ số lên LED 7 đoạn hoặc mạch so sách hai số có
Trang 1Bài 5 THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD
Page | 40
Bài 5 THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD
5.1 Mục tiêu
Sinh viên sẽ thực hiện các mạch số liên quan đến LED 7 đoạn như mạch hiển thị
số BCD có 2 chữ số lên LED 7 đoạn hoặc mạch so sách hai số có hiển thị lên LED 7 đoạn Sinh viên dựa vào thiết kế mạch giải mã LED 7 đoạn ở lab 5, tiếp đó đóng gói mạch giải mã này thành symbol để sử dụng có các mạch tiếp theo Trong Lab này, ta sẽ
sử dụng switch trên Kit DE2 như là ngõ vào của mạch và sử dụng LED 7 đoạn và LED đơn như là ngõ ra của mạch Để làm tốt Lab 6, sinh viên cần phải nắm trước ở nhà về cách thiết kế, biên dịch và mô phỏng một mạch điện đơn giản trên Quartus II
5.2 Nội dung chuẩn bị
Trình bày công thức và hoạt động của mạch Comparator và Mux 2-1
5.3 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
5.3.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:
Trang 2Bài 5 THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD
Page | 41
Trong đó:
Mạch dồn kênh MUX2-1 (21MUX) 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 Input 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
Trang 3Bài 5 THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD
Page | 42
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
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
5.4 Hướng dẫn thực hành
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 mạch logic đã thiết kế bên trên
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
5.5 Bài tập ôn tập
Thiết kế mạch so sánh hai số A, B
Hướng dẫn làm bài
1 Tạo một project Quartus mới, đặt tên: E /lab6/lab6_MSSV_part2
2 Thiết kế một mạch so sánh 2 số như sau:
Đầu tiên ta thiết kế một mạch so sách 1 bit với A, B là 2 bit đầu vào cần so sánh, G là 1 bit đầu vào cho phép so sánh Khi G =1 thì tiến hành so sánh, nếu A lớn hơn B thì đầu ra AlonB = 1, khi A bằng B thì đầu ra AbangB =1,
Trang 4Bài 5 THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD
Page | 43
các trường hợp còn lại thì đầu ra AlonB = AbangB = 0 Khi G = 0 thì 2 đầu
ra AlonB = AbangB =0
Mạch so sánh 2 số 4 bit được thực hiện theo biểu thức logic sau:
(A=B) tương đương (A3=B3) (A2=B2) (A1=B1) (A0=B0)
(A>B) tương đương (A3>B3) + (A3=B3) (A2>B2) + (A3=B3) (A2=B2) (A1>B1) + (A3=B3) (A2=B2) (A1=B1) (A0>B0)
Ta thấy khi: AbangB = AlonB = 0 khi A < B Từ đó để thêm output AbeB thi ta cần thêm cổng NOR nhận AbangB và AlonB làm đầu vào và cho thêm
1 đầu ra AbeB
Dùng mạch giải mã 7-đoạn ở phần 1 để hiển thị 2 số A và B lên LED-7-đoạn và hiển thị kết quả so sánh tương ứng với các led đơn trong phần gán pin
3 Mô phỏng mạch trên wareform
4 Gán pin cho mạch trên
SW[13:10] => A[3:0]
SW[17:14] => B[3:0]
HEX[1] hiện thị giá trị của số A
HEX[2] hiện thị giá trị của số B
AlonB là LEDR0
AbangB là LEDR2
AbeB là LEDR4
5 Biên dịch để phân tích, tổng hợp và tạo ra file sof
6 Nạp file thực thi lên FPGA, kiểm tra hoạt động của mạch