Bao Cao Game Fix
December 29, 2017 | Author: Seamap Vietnam | Category: N/A
Short Description
Download Bao Cao Game Fix...
Description
Final Report Bomberman Game on DE1 board
HA NOI UNIVERSITY OF SCIENCE AND TECHNOLOGY SHOOL OF ELECTRONIC AND TELECOMMUNICATION EMBEDDED SYSTEM AND RECONFIGURABLE COMPUTING LAB
VHDL TRAINING COURSE 2012 Project: BOMBERMAN ON FPGA Trainers: Ngoc A. Le Khanh V. Nguyen Hai N. Nguyen
Ha Noi, July 27, 2012 Group 1- K54 – ESRC LAB
Page 1
Final Report Bomberman Game on DE1 board
Mục Lục A.
LỜI NÓI ĐẦU. ...................................................................................................4
B.
NỘI DUNG. ........................................................................................................5
1.Tổng Quan Đề tài. ....................................................................................................5 1.1. Đề tài. ...............................................................................................................5 1.2. Yêu cầu của đề tài. ...........................................................................................5 1.2.1. Yêu cầu chức năng. ...................................................................................5 1.2.2. Yêu cầu phi chức năng. .............................................................................5 1.3. Mô tả trò chơi. ..................................................................................................6 1.3.1.Mô tả cách chơi. .........................................................................................6 1.3.2.Tính điểm. ..................................................................................................6 1.3.3.Kết thúc. .....................................................................................................7 1.4. Kế hoạch thực hiện và phân công công việc. ...................................................7 1.4.1. Kế hoạch thực hiện....................................................................................7 1.4.2. Phân công công việc..................................................................................8 2. Giới thiệu Công nghệ sử dụng. ...............................................................................8 2.1. Phần cứng. ........................................................................................................8 Kit DE1 ..........................................................................................................8 2.2. Phần mềm Quartus II 9.1. ..............................................................................10 2.3. Quy trình thiết kế FPGA với Quartus II.........................................................10 3. Sơ đồ khối của hệ thống. .......................................................................................11 3.1.Bàn phím .........................................................................................................12 Group 1- K54 – ESRC LAB
Page 2
Final Report Bomberman Game on DE1 board 3.2.Màn hình .........................................................................................................12 3.3.ROM ................................................................................................................12 3.4.Khối xử lý ( CU ) ............................................................................................12 4. Các bước xây dựng từng khối của GAME. ...........................................................12 4.1. PS2 Keyboard.................................................................................................12 4.1.1.Khối nhận dữ liệu PS2 .............................................................................12 4.1.2.Mạch giao tiếp với PS2 Keyboard. ..........................................................16 4.2. Khối VGA. .....................................................................................................19 4.2.1.Đồ h a ......................................................................................................19 4.2.2. ộ điều khiển video .................................................................................20 4.2.3. VGA text. ................................................................................................25 4.3. Khối di chuyển. ..............................................................................................28 4.4 Khối đặt bom. ..................................................................................................29 4.5. Khối hiện thị TEXT. .....................................................................................30 C.
KẾT LUẬN .......................................................................................................34 1.
Kết quả đạt được. .........................................................................................34
2.
Khó khăn......................................................................................................34
3.
Đề Xuất. .......................................................................................................34
Phụ lục .......................................................................................................................35 Tài liệu tham khảo .....................................................................................................36
Group 1- K54 – ESRC LAB
Page 3
Final Report Bomberman Game on DE1 board A. LỜI NÓI ĐẦU. VHDL là một ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ cao với nhiều ưu điểm vượt trội và được ứng dụng trong nhiều lĩnh vực mà quan tr ng nhất là trong các thiết bị logic có thể lập trình được như FPGA, PLD… Với việc vận dụng những kiến thức về VHDL qua các bài lab altera chúng em đã được làm trước đó kết hợp với các tài liệu tham khảo về lập trình VHDL nâng cao để ứng dụng làm game nhỏ là game bomberman. Em xin chân thành bày tỏ lòng biết ơn sâu sắc tới TS Phạm Ng c Nam, tới tất cả các anh và các bạn tại lab ESRC, đặc biệt anh Vũ Quang Tr ng, anh Vũ Hữu Tiệp đã tận tình hướng dẫn cho nhóm chúng em, tạo điều kiện cho b n em nghiên cứu, h c tập trong h c kỳ hè. Những lời nhắc nhở, nhận xét của các anh đã giúp cho em tiến bộ rất nhiều và có thể thực hiện nột dung thực tập một cách tốt nhất. Do khả năng còn hạn chế và số lượng cổng logic trên DE1 là có hạn nên trong quá trình làm Game có thể không tránh khỏi những thiếu sót và giản lược. Mong các anh và các bạn chỉ bảo và đóng góp thêm ý kiến để nhóm em có thể hoàn thiện Project này một cách tối ưu nhất.
Group 1- K54 – ESRC LAB
Page 4
Final Report Bomberman Game on DE1 board
B. NỘI DUNG. 1.Tổng Quan Đề tài. 1.1. Đề tài. Sau khi hoàn thành các bài lab thực hành trên Kit DE1 của Altera, chúng em tiếp tục phát triển kỹ năng thiết kế và vận dụng vào thực tế, đó là triển khai một hệ thống hoàn chỉnh trên Kit DE1 với đế tài: “Bomberman on FPGA”
1.2. Yêu cầu của đề tài. 1.2.1. Yêu cầu chức năng. - Thực hiện trên KIT DE1 của ALTERA - Màn hình hiển thị VGA 640x480 pixels - Bàn phím chuẩn PS/2 - Audio codec W871 (trên kit) - Ngôn ngữ VHDL sử dụng clock 50Mhz. 1.2.2. Yêu cầu phi chức năng. - Yêu cầu giao diện đơn giản, dễ chơi, di chuyển mượt. - Tiết kiệm được tài nguyên trên kit de1 tối đa.
Group 1- K54 – ESRC LAB
Page 5
Final Report Bomberman Game on DE1 board 1.3. Mô tả trò chơi. 1.3.1.Mô tả cách chơi. Bắt đầu mỗi ván đấu, người chơi 1 xuất hiện ở góc trên bên trái, người
-
chơi 2 xuất hiện ở góc dưới bên phải của các bản đồ có sẵn. Thời gian của ván đấu bắt đầu đếm ngược ( 200s ). Mỗi người chơi có 4 phím di chuyển: Player 1
Player 2
Mô tả
A
←
Di chuyển sang trái
S
↓
Di chuyển xuống dưới
D
→
Di chuyển sang phải
W
↑
Di chuyển lên trên
Space
0
Đặt bom
Hinh 1 Các phím được sử dụng chơi
-
an đầu mỗi người chơi chỉ có một mạng. Sau khi bom nổ trúng người chơi, trò chơi kết thúc .
-
Mỗi lần ấn phím mỗi người chỉ đặt được 1 quả và bom tự nổ sau khi đặt là 3s
-
Người chơi di chuyển với các bước đi là 1/4 ô đặt bom và không được đi qua bom, gạch và đá.
-
Gạch bị phá vỡ khi bom nổ 1 lần, đá không bị phá vỡ.
1.3.2.Tính điểm. -
20: Phá gạch
Group 1- K54 – ESRC LAB
Page 6
Final Report Bomberman Game on DE1 board an đầu mỗi người chơi không có điểm nào, số điểm của mỗi người sẽ được cập nhật trong mỗi ván và hiển thị lên màn hình. 1.3.3.Kết thúc. - Trò chơi kết thúc khi 1 người dính bom hoặc hết thời gian của 1 ván đấu (200s) - Khi hết giờ mà không ai bị bom nổ thì sẽ so điểm. Ai nhiều điểm hơn là thắng
1.4. Kế hoạch thực hiện và phân công công việc. 1.4.1. Kế hoạch thực hiện
Tồng thời gian thực hiện: 01 tháng (27/7/2012 - 28/8/2012) Báo cáo hàng tuần: sáng thứ 7 hàng tuần, trình bày các công việc hiện tại, thắc mắc cần giải đáp Báo cáo cuối cùng: Thứ 7, 1/9/2012, báo cáo hoàn chỉnh và kết thúc đề tài Tuần 0: 26/7/2012 - 28/7/2012 Hoàn thành spec của game, định hình sơ đồ khối cho cả hệ thống. Tuần 1: 29/7/2012 - 04/7/2012 Đ c tài liệu và viết khối điều khiển VGA, PS2 Xây dựng bản đồ cố định Bắt tín hiệu của nhiều phím Tuần 2: 05/8/2012 - 11/8/2012 Hiển thị, điều khiển nhân vật di chuyển và tránh đá trên bản đồ. Group 1- K54 – ESRC LAB
Page 7
Final Report Bomberman Game on DE1 board Tuần 3: 12/8/2012 - 18/8/2012 Đặt bom, bom nổ tạo ra lửa, phá gạch và giết được đối phương Xây dựng text cho các màn chơi Tuần 4: 19/8/2012 - 25/8/2012 Ghép và hoàn thiện code Test game, tìm lỗi phát sinh và sửa Tuần 5: 26/8/2012 - 1/9/2012 Viết báo cáo hoàn chỉnh và trình bày đề tài. 1.4.2. Phân công công việc Hoàn thiện spec và sơ đồ khối chung cho cả hệ thống
: Cả nhóm
Hiển thị VGA, hoàn thiện màn chơi chính, ghép code
: Khánh
Bắt phím, hiển thị text cho các màn chơi, ghép code
: Ngọc
Viết báo cáo cuối cùng
: Cả nhóm
2. Giới thiệu Công nghệ sử dụng. 2.1. Phần cứng. Kit DE1 DE1 ( Development and Education ) là một phiên bản thu nhỏ của Kit DE2. Nó rất phù hợ để h c điện tử số, kĩ thuật máy tính và FPGAs. Con chip Cyclon II 2C20 trên DE1 được thiết kế chyên để phục vụ cho mục đích giáo dục như trong các phòng lab của các trường đại h c, cao đẳng. Nó phù hợp để làm nhiều bài tập trong các môn h c như điện tử số, kĩ thuật máy tính .. thông qua các ví dụ đơn giản. Group 1- K54 – ESRC LAB
Page 8
Final Report Bomberman Game on DE1 board Thông số cơ bản của kit DE1: Bộ nhớ: -
8Mb SDRAM.
-
512Kb SRAM.
-
4Mb Flash.
Âm thanh. -
Hỗ trợ bộ codec 24 bit.
Công tắc và chỉ thị. -
10 công tắc chuyển và 4 nút bấm.
-
4 led 7 thanh.
-
10 LED đỏ và 8 LED xanh.
Các kết nối -
VGA, RS-232, và PS2.
-
2 cổng mở rộng 40 chân.
-
Khe cắm SD/MMC.
Nguồn -
Có thể nguồn từ cáp USB hoặc thông qua cáp nguồn riêng.
Hinh 2 Kit DE 1
Group 1- K54 – ESRC LAB
Page 9
Final Report Bomberman Game on DE1 board 2.2. Phần mềm Quartus II 9.1. Quartus II là công cụ chính được sử dụng trong quá trinh thực hiện đề tài. Được cung cấp và cập nhật thường xuyên bởi Altera. Đây là công cụ thiết kế tốt nhất cho các dòng chip FPGA của Altera bao gồm cả Cyclon II 2C20 có trên DE1. Là công cụ phân tích và tổng hợp thiết kế HDL, nó cho phép nhà phát triển thực hiện thiết kế của h , đồng thời cho phép phân tích thời gian, kiểm tra sơ đồ RTL, mô phỏng hệ thống và cấu hình sản phẩm một cách phù hợp nhất. 2.3. Quy trình thiết kế FPGA với Quartus II. Dưới đây là quy trình thiết kế FPGA với các phần mềm thiết kế FPGA nói chung và Quartus II nói riêng:
Hinh 3 Design Flow
Group 1- K54 – ESRC LAB
Page 10
Final Report Bomberman Game on DE1 board Nó bao gồm các bước cơ bản sau: Design Entry – Mạch sau đã thiết kế sẽ được mô tả bởi các ngôn ngữ mô tả phần cứng như VHDL hay Verilog, hoặc cũng có thể dùng sơ đồ Schematic. Synthesis – Công cụ tổ hợp sẽ tổ hợp mạch tạo ra một file netlist có chứa các phần tử logic và các kết nối giữa chúng. Function Simulation – Chức năng của mạch sau tổ hợp sẽ được kiểm định. Fitting – Công cụ máy tính sẽ đặt các phần tử logic được định nghĩa trong file netlist xuống các phần tử logic trong con chip FPGA thực tế. Đồng thời ch n ra các đường dây để kết nối chúng với nhau. Timming Analysis – Phân tích trễ truyền dẫn trên các đường dây khác nhau nhằm đưa ra các chỉ thị giúp cải thiện hiệu năng làm việc của mạch. Timming Simulation – Kiểm tra đồng thời cả về mặt chức năng lẫn thời gian của mạch. Programming and Configuration – Thực hiện mạch trên con chip vật lý bằng cách cấu hình các phần tử logic trên chip và thành lập các kết nối cần thiết.
3. Sơ đồ khối của hệ thống.
CU FONT
PS2
KEYBOARD
INTERFACE
ROM VGA
MONITOR
CONTROLER
Hinh 4 SƠ ĐỒ TỔNG QUAN
Group 1- K54 – ESRC LAB
Page 11
Final Report Bomberman Game on DE1 board 3.1.Bàn phím Bàn phím với chuẩn giao tiếp PS2. Giao tiếp với khối xử lý thông qua khối PS2 Interface. 3.2.Màn hình Màn hình được sử dụng là màn hình máy tính CRT hoặc LCD thông dụng được điều khiển thông qua khối VGA Controller. 3.3.ROM Được sử dụng để chứa font hiển thị trong game. Là distributed ROM - được trình biên dịch tổng hợp từ các phần tử logic có sẵn trong chip. 3.4.Khối xử lý ( CU ) Khối chịu trách nhiệm điều khiển toàn bộ hệ thống.
4. Các bước xây dựng từng khối của GAME. 4.1. PS2 Keyboard Để điều khiển được hướng di chuyển của con rắn, nhập mức level để bắt đầu chơi hay để lưu tên nếu người chơi đạt điểm số cao… chúng ta phải sử dụng một keyboard. Hiện nay trên thị trường có 2 loại keyboard là keyboard cổng usb và keyboard cổng ps2.Trong snake game do nhóm thực hiện thì ps2 keyboard được ch n để sử dụng .Chúng ta sẽ lần lượt tìm hiểu về loại keyboard này cũng như thiết kế các khối cần thiết để có thể nhận được dữ liệu gửi từ keyboard một cách chính xác. 4.1.1.Khối nhận dữ liệu PS2 - Giao tiếp vật lý cổng PS2: Hinh 5 Cổng PS2
Group 1- K54 – ESRC LAB
Page 12
Final Report Bomberman Game on DE1 board
Một cổng ps2 có bốn chân : chân data ps2d, chân clock ps2c và hai chân nguồn là VCC và ground trong đó chân nguồn VCC được cung cấp bởi host. Dữ liệu từ keyboard tới host được truyền qua chân data một cách nối tiếp theo chuẩn UART.Quá trình truyền dữ liệu bắt đầu với 1 bit start ,8 bit dữ liệu ,1 bit chẵn lẻ và 1 bit stop
Start Bit (1 bit)
Data Bits (8 bits)
Odd Parity Bit (1 bit)
Stop Bit (1 bit)
Hinh 6 Mô tả một khối dữ liệu
Clock của bàn phím thì được truyền qua chân ps2c có tần số trong khoảng từ 10Khz tới 16,7 Khz, Tín hiệu ps2d phải ổn định ít nhất là 5 us trước và sau sườn lên và xuống của tín hiệu ps2c. Ta có thể thấy được điều này qua hình mô tả vẽ :
Hinh 7 Vị trí các bit trong qua trình nhận dữ liệu .
Group 1- K54 – ESRC LAB
Page 13
Final Report Bomberman Game on DE1 board - Khối nhận dữ liệu PS2: Để có thể thu lại được dữ liệu thay vì phải thiết kế một bộ lấy mẫu ta sẽ dung một mạch dò sườn xuống của tín hiệu ps2c làm điểm tham khảo.Đầu vào của mạch bao gồm tín hiệu ps2d và ps2c nhận từ keyboard ,tín hiệu clock của host ,một tín hiệu reset của hệ thống và một tín hiệu cho phép nhận dữ liệu từ bàn phím. Đầu ra của mạch sẽ là 8 bit dữ liệu và một tín hiệu báo hiệu rx_done_tick.Tín hiệu này ở mức cao sau mỗi chu kì clock.
Ta có sơ đồ khối của mạch nhận : rx_en clk rst KEYBOARD
ps2d ps2c
dout (7 downto 0) ps2_rx rx_done_tick
Falling edge Filter & Falling Edge ps2c
clk
Hinh 8 Sơ đồ khối mạch nhận dữ liệu
Sơ đồ ASM của khối nhận dữ liệu:
Group 1- K54 – ESRC LAB
Page 14
Final Report Bomberman Game on DE1 board
Idle
F Rx_en=1 and Fail_edge=1 T b>1) n1)
F
n=0
n
View more...
Comments