Tải bản đầy đủ (.pptx) (17 trang)

Thiết kế dice- game tương tự game xúc xắc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (420.51 KB, 17 trang )

BÁO CÁO BÀI TẬP LỚN THIẾT KẾ, TỔNG HỢP HỆ THỐNG SỐ

GVHD: TS.VÕ LÊ CƯỜNG

Nhóm 2
Đề tài:
Thiết kế dice-game tương tự game xúc xắc
Nội dung
Giới thiệu chung
1
2
3
Thực hiện đề tài
Phân công công việc
4
Kết luận
1. Giới thiệu chung
Mục đích:

Củng cố kiến thức được học trên lớp về lập trình bằng ngôn ngữ verilog.

Làm quen với các thiết kế phức tạp yêu cầu FSM ( Finite State Machine) nhiều trạng thái.

Học cách sử dụng các phần mềm mô phỏng và tổng hợp thiết kế HDL.
Yêu cầu:

Thiết kế dùng ngôn ngữ Verilog

Có tín hiệu reset đồng bộ

Xung clock đồng bộ điều khiển 2 xung khác nhau của 2 bộ counter đếm từ 1-6



Thiết kế theo sơ đồ máy trạng thái FSM

Mô phỏng thiết kế trên modelsim-altera và tổng hợp bằng phần mềm quartus
2. Phân công công việc
Đinh Duy Khánh
Chu Minh Họa
Phạm Thị Thanh
Nguyễn Thị Thảo
Đặng Trung Kiên
Code khối control FSM + tổng hợp mạch trên quatus
Code khối adder + test logic + slide báo cáo
Code khối compare + register
Code khối hiển thị trên led 7 thanh + slide báo cáo
Code khối clock divider và bộ counter 1-6
3. Thực hiện đề tài

2.1 Mô tả dice game
1. Sơ đồ khối tổng quát
2. Hoạt động

2.2 Thực hiện các khối
3.1 Mô tả dice-game
Sơ đồ khối:
• Gồm 1 bộ cộng Adder 3 bit
• 2 bộ đếm 3 bit chạy với 2 xung clock khác
nhau được điều khiển bởi xung clock đồng bộ

1 bộ so sánh 2 số 4 bit
• 1 thanh ghi lưu trữ giá trị trung gian khi tiếp

tục chơi mà chưa có kết quả thắng thua

1 bộ test logic kiểm tra tổng, đưa tín hiệu điều
khiển vào controller
• Máy điều khiển trạng thái FSM Control
3.1 Mô tả dice-game
Hoạt động :

Đầu vào của dice-game sẽ gồm 2 nút.1 là RESET và 1 là RB ( Roll botton ). Trong đó reset được dùng để tạo game mới.

Khi RB được ấn và dữ trong 1 khoảng thời gian nhất định. Trong khoảng thời gian ấn RB thì có 2 bộ đếm Counter chạy
song với 2 xung clock khác nhau và tổng được update liên tục từ giá trị của 2 bộ đếm Counter nhưng nó vẫn chưa được
hiển thị lên màn hình.

Khi nút RB ngừng ấn thì giá trị của 2 bộ đếm được hiển thị và game bắt đầu tính toán đưa ra kết quả tổng Sum0 ra màn
hình :

Nếu Sum0 = 7 hoặc 11 thì Win.

Nếu Sum0 = 2, 3, 12 thi Lose.
Hoạt động dice-game (tiếp):

Nếu Sum0 khác 2, 3, 7, 11, 12 thì lưu tổng vừa có Sum0 vào 1 thanh ghi Point.

Và yêu cần ấn tiếp RB để chơi cho đến khi có kết quả thắng thua.
( Point chỉ được ghi 1 lần đầu tiên duy nhất đầu tiên khi chưa thắng thua)
Nếu các lần thực hiện sau :

tổng Sum = Point thì Win


tổng Sum = 7 thì Lose.

Nếu không thì vẫn yêu cầu ấn tiếp RB để chơi cho đến khi kết quả thắng thua thì thôi.
3.2 Thực hiện các khối
Thuật toán khối clockdivider:
Sơ đồ chuyển trạng thái của counter1-6:
Thuật toán khối adder:
Thuật toán khối test logic:
Thuật toán khối compare:
Thuật toán khối register:
Sơ đồ trạng thái máy FSM:
4. Kết luận
Xin cảm ơn thầy và các bạn
đã lắng nghe!

×