BÁO CÁO BÀI TẬP LỚN : THIẾT KẾ TỔNG HỢP HỆ THỐNG SỐ
Đề tài : Thiết kế mạch đếm sản phẩm
GV hướng dẫn : TS.Nguyễn Hoàng Dũng
Nhóm SV thực hiện: 1.Bùi Xuân Quyết 20092165 dt09-k54
2.Nguyễn Thanh Tuấn 20093008 dt09-k54
3.Nguyễn Danh Dũng 20090532 dt09-k54
I.Yêu cầu thiết kế mạch.
Thiết kế mạch đếm hiển thị trên 2 led 7 thanh trên Kit DE1 sử dụng ngôn ngữ mô tả
phần cứng Verilog.
-Mạch có các nút bấm:
• “up” : nhấn “up” sản phẩm tăng 1 đơn vị.
• “down”: nhấn “down” sản phẩm giảm 1 đơn vị.
• ”reset”: nhấn “reset” sản phẩm trở về 0.
Các yêu cầu khác:
-Mạch về “0” nhấn “down” sẽ giữ nguyên trạng thái.
-Mạch về “99” nhấn “up” sẽ giữ nguyên trạng thái.
-Khi thực hiện thành công trên Kit DE1 chuyển đầu vào nút “up” bằng hệ thống thu-
phát hồng ngoại.
II.Sơ đồ khối.
Mạch được thực hiện trên Kit DE1 nên sơ đồ khối chỉ thể hiện các khối thiết kế bằng
Verilog.
Sơ đồ khối:
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 1
Chức năng các khối được thiết kế:
-Khối “chia tần” : Chia tần số từ 50MHz xuống tần số thấp khoảng 20Hz.
-Khối “led đơn vị” : đếm hàng đơn vị của mạch, cung cấp tín hiệu enable up(enable
down) cho led chục.
-Khối “led chục” : đếm hàng chục của mạch đếm.
-Khối giải mã : giải mã tín hiệu sang led 7 thanh để hiển thị trên Kit DE1.
III.Sơ đồ trạng thái.
Sơ đồ trạng thái khối led đơn vị
Trong đó:
Tín hiệu đầu vào:
• u-tín hiệu “up”
• d-tín hiệu “down”
• z-tín hiệu báo led chục ở trạng thái 0
• f-tín hiệu báo led chục ở trạng thái 9
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 2
Tín hiệu đầu ra:
• y-đầu ra được mã hóa để hiển thị led đơn vị
• e_d-đầu ra cho phép led chục nhảy trạng thái “down”
• e_u-đầu ra cho phép led chục nhảy trạng thái “up”
Sơ đồ trạng thái led chục
Trong đó :
Tín hiệu vào:
• u-tín hiệu “up”
• e_u: tín hiệu cho phép up
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 3
• d-tín hiệu “down”
• e_d-tín hiệu cho phép down
Tín hiệu đầu ra:
• y-đầu ra được mã hóa để hiển thị led chục
• z-đầu ra báo led chục ở trạng thái 0
• f-đầu ra báo led chục ở trạng thái 9
IV.Chức năng nguyên lí.
-Khối chia tần:
Chia tần số lấy từ Kit DE1 50MHz xuống tần số 20Hz-đây là tần số xung đồng bộ
“clk”
+,Thực hiện chia từ 50MHz xuống 2KHz bằng biến đếm tới 24999
+,Chia tần 2KHz xuống 20Hz bằng biến đếm tới 49
Tần số đầu ra khối chia tần được sử dụng cho khối led đơn vị và khối led chục
-Khối “led đơn vị”:
Đếm hàng đơn vị
+,tăng 1khi có tín hiệu up ở trạng thái thấp và xung sườn lên clk
+,giảm 1 khi có tín hiệu down ở trạng thái thấp và xung sườn lên của clk
+,khi ở trạng thái 0 ,có tín hiệu down ở trạng thái thấp,nếu có tín hiệu báo led chục ở
trạng thái 0 thì led đơn vị sẽ không nhảy trạng thái
+, khi ở trạng thái 9 ,có tín hiệu up ở trạng thái thấp,nếu có tín hiệu báo led chục ở
trạng thái 9 thì led đơn vị sẽ không nhảy trạng thái
-Khối “led chục”:
Đếm led chục:
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 4
+,tăng 1khi có tín hiệu up ở trạng thái thấp ,tín hiệu cho phép up ở trạng thái cao và
xung sườn lên clk
+,giảm 1 khi có tín hiệu down ở trạng thái thấp ,tín hiệu cho phép down ở trạng thái
cao và xung sườn lên của clk
+,khi ở trạng thái 0,trạng thái sẽ không nhảy khi gặp tín hiệu down
+,khi ở trạng thái 9,trạng thái sẽ không nhảy khi gặp tín hiệu up
-Khối giải mã:
Giải mã tín hiệu đầu ra y từ led đơn vị và led chục hiển thị trên led 7 thanh.
V.Kiểm tra và mô phỏng.
Thực hiện test mạch và mô phỏng bằng Modelsim.
Code file test cung cấp dữ liệu để chạy mạch : Trong mô phỏng kiểm tra khối chia
tần chỉ chia 8 , tần số xung clk được lấy là 500MHz để kết quả hiển thị dễ quan sát.
Bảng gán chân KIT DE1 với đầu vào “up” là nút ấn:
CLOCK_50 Input PIN_L1 2 B2_N1 PIN_L1
HEX0[6] Output PIN_E2 2 B2_N1 PIN_E2
HEX0[5] Output PIN_F1 2 B2_N1 PIN_F1
HEX0[4] Output PIN_F2 2 B2_N1 PIN_F2
HEX0[3] Output PIN_H1 2 B2_N1 PIN_H1
HEX0[2] Output PIN_H2 2 B2_N1 PIN_H2
HEX0[1] Output PIN_J1 2 B2_N1 PIN_J1
HEX0[0] Output PIN_J2 2 B2_N1 PIN_J2
HEX1[6] Output PIN_D1 2 B2_N0 PIN_D1
HEX1[5] Output PIN_D2 2 B2_N0 PIN_D2
HEX1[4] Output PIN_G3 2 B2_N0 PIN_G3
HEX1[3] Output PIN_H4 2 B2_N0 PIN_H4
HEX1[2] Output PIN_H5 2 B2_N0 PIN_H5
HEX1[1] Output PIN_H6 2 B2_N0 PIN_H6
HEX1[0] Output PIN_E1 2 B2_N1 PIN_E1
down Input PIN_T22 6 B6_N0 PIN_T22
rst Input PIN_R22 6 B6_N0 PIN_R22
up Input PIN_R21 6 B6_N0 PIN_R21
Hình ảnh quá trình mô phỏng
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 5
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 6
Gán chân KIT DE1 với đầu vào “up” được lấy từ khối hồng ngoại bên ngoài thông
qua chân GPIO : thay đầu vào “up” PIN_R21 bằng PIN_J22.
VI.Kết quả và đánh giá.
1.Kết quả.
-Mạch được hoàn thiện và kiểm tra thành công trên KIT DE1 với đầu vào “up” là nút
bấm.
-Phần khối hồng ngoại đang được tiến hành thực hiện và kiểm tra trên KIT DE1 : tại
thời điểm viết báo cáo chưa kiểm tra thành công.
2.Đánh giá.
-Ưu điểm : mạch thực hiện được yêu cầu đề bài yêu cầu.
-Nhược điểm : phần code thực hiện mạch dài cần tối thiểu code để đạt hiệu quả cao
hơn.
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 7
MỤC LỤC
I.Yêu cầu thiết kế mạch…………………………………………………………………1
II.Sơ đồ khối…………………………………………………………………………….1
III.Sơ đồ trạng thái…………………………………………………………………… 2
IV.Chức năng nguyên lí……………………………………………………………… 4
V.Kiểm tra và mô phỏng……………………………………………………………… 5
VI.Kết quả và đánh giá………………………………………………………………….7
Thi t k t ng h p h th ng sế ế ổ ợ ệ ố ố Page 8