snake final report

Upload: emily-wang

Post on 15-Jul-2015

870 views

Category:

Documents


0 download

TRANSCRIPT

TRNG I HC BCH KHOA H NI VIN IN T VIN THNG PHNG TH NGHIM H THNG NHNG V VI MCH KH TRNH

Xy dng snake game trn nn tng phn cng DE1 t Altera

BO COH Ni, thng 09 nm 2011

Snake GameGroup3 K53

Thng tin ti

Tn vit tt Ni dung ti Ngy bt u Hng dn ti Nhm tc gi

SGOFP

M s (ID)

10/07/2011

Ngy kt thc

13/08/2011

Phan nh Long Trn Hu Th Nguyn Duy Phng

Thng tin lin h

Phan nh Long Email: [email protected] in thoi:0973785654

a ch Web

NA

Thng tin ti liu Tiu ti liu Ngy bo co Ngy np Bo co cui cng v snake game trn DE1 17/09/2011 16/09/2011 Tn ti liu Snake_final_report.doc x

URL

NA

Bng ni dung1 2 Li cm n.................................................................................................................6 Tng quan ti.........................................................................................................6 2.1 2.2 Mc tiu................................................................................................................6 Nn tng c bn....................................................................................................6

Snake game Group3K53

Page 2

2.3

Yu cu h thng..................................................................................................6 Yu cu chc nng.........................................................................................6 Yu cu phi chc nng...................................................................................6

2.3.1 2.3.2 2.4 2.5 3

Cng vic c th...................................................................................................6 Kt qu t c...................................................................................................7

Gii thiu cng ngh s dng.....................................................................................7 3.1 Phn cng.............................................................................................................7 Kit DE1..........................................................................................................7

3.1.1 3.2

Phn mm Quartus II............................................................................................9 Quy trnh thit k FPGA vi Quartus II.........................................................9

3.2.1 4

S khi h thng..................................................................................................10 4.1 4.2 4.3 4.4 Bn phm............................................................................................................11 Mn hnh.............................................................................................................11 ROM...................................................................................................................11 Khi x l ( CU )................................................................................................11

5

PS2 Keyboard..........................................................................................................12 5.1 Khi nhn d liu PS2........................................................................................12 Giao tip vt l cng PS2.............................................................................12 Khi nhn d liu PS2.................................................................................13

5.1.1 5.1.2 5.2

Mch giao tip vi PS2 Keyboard......................................................................15 Tng quan v m ha bn phm...................................................................15 Mch giao tip PS2 keyboard.......................................................................16

5.2.1 5.2.2 6

VGA.........................................................................................................................19 6.1 hoa................................................................................................................19 Gii thiu.....................................................................................................19

6.1.1

Snake game Group3K53

Page 3

6.1.2 6.2

Cng VGA...................................................................................................19

B iu khin video............................................................................................19 Mach ng b VGA.....................................................................................20 Mach tao pixel..............................................................................................22

6.2.1 6.2.2 6.3

VGA text............................................................................................................24 Gii thiu.....................................................................................................24 Tao text........................................................................................................24 Font ROM....................................................................................................25 Mach tao text c ban....................................................................................26 Ti l cua Font...............................................................................................27

6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 7

Cc bc xy dng game.........................................................................................27 7.1 Xy dng mn hnh new game...........................................................................29 Layer nn.....................................................................................................31 Text layer.....................................................................................................32

7.1.1 7.1.2 7.2

Xy dng mn chi chnh...................................................................................33 Text..............................................................................................................35 Header..........................................................................................................37 Bc tng....................................................................................................37 Bng mi......................................................................................................38 Rn...............................................................................................................39

7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.4

Khi no kt thc tr chi?...................................................................................45 Xy dng phn kt thc tr chi.........................................................................45 Mn hnh tnh im......................................................................................45 Mn lu im v tn ngi chi..................................................................47

7.4.1 7.4.2 8

Kt lun....................................................................................................................49

Snake game Group3K53

Page 4

9

Cc ti liu tham kho..............................................................................................49

Cc ti liu tham kho

Snake game Group3K53

Page 5

1 Li cm nChng ti xin by t s cm n ti nhng thnh vin trong ESRCLab nhit tnh hng dn, gip chng ti hon thnh ti ny.

2 Tng quan ti2.1 Mc tiu Thit k v hon thin snake game trn kit DE1. Giao tip tt vi chun VGA. Hon thin k nng lp trnh VHDL. Hiu r hn v kit DE1.

1.1 Nn tng c bn Kin thc c bn v FPGA. Bit lp trnh FPGA bng ngn ng VHDL. C k nng c ti liu ( c ting anh v ting vit). K nng tm kim ti liu trn mng.

1.1 Yu cu h thng1.1.1 Yu cu chc nng Tn s lm vic 50MHz. Mn hnh hin th 8 mu c bn. Tn s qut mn hnh ln hn 24 fps. Nhn phm t bn phm nhanh, kp thi, nt.

1.1.1 Yu cu phi chc nng Giao din n gin, d chi.

Snake game Group3K53

Page 6

1.1 Cng vic c th Giao tip gia Kit DE1 vi bn phm thng qua chun giao tip PS2. Xy dng phn cng x l game trn Kit DE1. Giao tip v hin th game ln mn hnh.

1.1 Kt qu t cHon thnh game. Giao tip tt vi bn phm, c kh nng g text t bn phm. Hin th game ln mn hnh vi khung hnh trn giy cao. Di chuyn ca rn mt m. X l tt vic rn n mi, tng chiu di

2 Gii thiu cng ngh s dng2.1 Phn cng2.1.1 Kit DE1DE1 ( Development and Education ) l mt phin bn thu nh ca Kit DE2. N rt ph h hc in t s, k thut my tnh v FPGAs. Con chip Cyclon II 2C20 trn DE1 c thit k chyn phc v cho mc ch gio dc nh trong cc phng lab ca cc trng i hc, cao ng. N ph hp lm nhiu bi tp trong cc mn hc nh in t s, k thut my tnh .. thng qua cc v d n gin. Thng s c bn ca kit DE1: B nh: 8Mb SDRAM. 512Kb SRAM. 4Mb Flash. m thanh. H tr b codec 24 bit. Cng tc v ch th. 10 cng tc chuyn v 4 nt bm. 4 led 7 thanh.

Snake game Group3K53

Page 7

10 LED v 8 LED xanh. Cc kt ni VGA, RS-232, v PS2. 2 cng m rng 40 chn. Khe cm SD/MMC. Ngun C th ngun t cp USB hoc thng qua cp ngun ring.

Hnh 3.1 Kit DE1

Snake game Group3K53

Page 8

1.1 Phn mm Quartus IIQuartus II l cng c chnh c s dng trong qu trinh thc hin ti. c cung cp v cp nht thng xuyn bi Altera. y l cng c thit k tt nht cho cc dng chip FPGA ca Altera bao gm c Cyclon II 2C20 c trn DE1. L cng c phn tch v tng hp thit k HDL, n cho php nh pht trin thc hin thit k ca h, ng thi cho php phn tch thi gian, kim tra s RTL, m phng h thng v cu hnh sn phm mt cch ph hp nht.

1.1.1 Quy trnh thit k FPGA vi Quartus IIDi y l quy trnh thit k FPGA vi cc phn mm thit k FPGA ni chung v Quartus II ni ring:

Snake game Group3K53

Page 9

Hnh 3.2 Design Flow

N bao gm cc bc c bn sau: Design Entry Mch sau thit k s c m t bi cc ngn ng m t phn cng nh VHDL hay Verilog, hoc cng c th dng s Schematic. Synthesis Cng c t hp s t hp mch to ra mt file netlist c cha cc phn t logic v cc kt ni gia chng. Function Simulation Chc nng ca mch sau t hp s c kim nh. Fitting Cng c my tnh s t cc phn t logic c nh ngha trong file netlist xung cc phn t logic trong con chip FPGA thc t. ng thi chn ra cc ng dy kt ni chng vi nhau. Timming Analysis Phn tch tr truyn dn trn cc ng dy khc nhau nhm a ra cc ch th gip ci thin hiu nng lm vic ca mch.

Snake game Group3K53

Page 10

Timming Simulation Kim tra ng thi c v mt chc nng ln thi gian ca mch. Programming and Configuration Thc hin mch trn con chip vt l bng cch cu hnh cc phn t logic trn chip v thnh lp cc kt ni cn thit.

1 S khi h thng

Font ROM

CUPS 2 Interface VGA Controller

Keyboard

Monitor

Hnh 4.1 S khi h thng

1.1 Bn phmBn phm vi chun giao tip PS2. Giao tip vi khi x l thng qua khi PS2 Interface.

1.2 Mn hnhMn hnh c s dng l mn hnh my tnh CRT hoc LCD thng dng c iu khin thng qua khi VGA Controller.

Snake game Group3K53

Page 11

1.3 ROMc s dng cha font hin th trong game. L distributed ROM - c trnh bin dch tng hp t cc phn t logic c sn trong chip.

1.4 Khi x l ( CU )Khi chu trch nhim iu khin ton b h thng.

2 PS2 Keyboard iu khin c hng di chuyn ca con rn, nhp mc level bt u chi hay lu tn nu ngi chi t im s cao chng ta phi s dng mt keyboard. Hin nay trn th trng c 2 loi keyboard l keyboard cng usb v keyboard cng ps2.Trong snake game do nhm thc hin th ps2 keyboard c chn s dng .Chng ta s ln lt tm hiu v loi keyboard ny cng nh thit k cc khi cn thit c th nhn c d liu gi t keyboard mt cch chnh xc.

2.1 Khi nhn d liu PS22.1.1 Giao tip vt l cng PS2Mt cng ps2 c bn chn : chn data ps2d, chn clock ps2c v hai chn ngun l VCC v ground trong chn ngun VCC c cung cp bi host. D liu t keyboard ti host c truyn qua chn data mt cch ni tip theo chun UART.Qu trnh truyn dHnh 5.1 Cng PS2

liu bt u vi 1 bit start ,8 bit d liu ,1 bit chn l v 1 bit stopData Bits (8 bits) Odd Parity Bit (1 bit) Stop Bit (1 bit)

Start Bit (1 bit)

Hnh 5.2 M t mt khi d liu

Snake game Group3K53

Page 12

Clock ca bn phm th c truyn qua chn ps2c c tn s trong khong t 10Khz ti 16,7 Khz, Tn hiu ps2d phi n nh t nht l 5 us trc v sau sn ln v xung ca tn hiu ps2c. Ta c th thy c iu ny qua hnh m t v :

Hnh 5.3

2.1.2 Khi nhn d liu PS2 c th thu li c d liu thay v phi thit k mt b ly mu ta s dung mt mch d sn xung ca tn hiu ps2c lm im tham kho.u vo ca mch bao gm tn hiu ps2d v ps2c nhn t keyboard ,tn hiu clock ca host ,mt tn hiu reset ca h thng v mt tn hiu cho php nhn d liu t bn phm. u ra ca mch s l 8 bit d liu v mt tn hiu bo hiu rx_done_tick.Tn hiu ny mc cao sau mi chu k clock. Ta c s khi ca mch nhn :rx_en clk rst KEYBOARD ps2d ps2c clk Filter & Falling Edge ps2c Falling edge ps2_rx rx_done _tick dout (7 downto 0)

Hnh 5.4 S khi mch nhn d liu

S ASM ca khi nhn d liu:

Snake game Group3K53

Page 13

Idle

F Rx _en= and 1 Fail_edge= 1 T b< ps2d (b> 1) = > n< 9 =

dps

F Fail_edge= 1

T

b< ps2d & (b> 1) = >

F

n= 0

n< n-1 =

T

Load rx_done_tick < 1 =

Hnh 5.5 ASM ca mch nhn

V c bn, mch hot ng nh sau: Trc tin trng thi ch, mch s kim tra sn xung ca tn hiu clock ca PS2 v nhn l start bit. Sau khi xc nh c start bit mch s nhn vo 10 bit tip theo bao gm 8 bit d liu, 1 bit chn l v 1 bit stop. Cui cng xut ra 8 bit d liu v chuyn v trng thi ch.

Snake game Group3K53

Page 14

1.1 Mch giao tip vi PS2 KeyboardTrong mc ny chng ta s i tm hiu v cch m ha bn phm ng thi thit k mt mch gii m cc lnh gi t bn phm ti Host.

1.1.1 Tng quan v m ha bn phmMt bn phm l ma trn cc phm.N c nhng mt con vi iu khin iu cc hot ng ca bn phm.C 3 ch hot ng ca cc phm c th xy ra l : Khi ta bm mt phm th make code ca phm c truyn i. Khi ta gi mt phm vi thi gian ln khong 0,5 s th make code s c truyn i mt cch lp li vi mt tc xc nh chu k 100 ms. Khi ta nh phm th break code ca phm s c truyn. Hnh v di y s cho ta thy make code ca cc phm ca keyboard :

Hnh 5.6 Keyboard

i vi cc phm thng th make code ca n c kch thc l 1 byte cn i vi cc phm m rng th kch thc l t 2 byte cho n 4 byte. PS2 keyboard s truyn tun t code ty theo hot ng ca phm. V d ta bm v nh phm A th u tin make code c gi vo sau l break code ca n : 1C F0 1C i vi phm m rng v d nt up : E0 75 F0 E0 75 Nu ta nhn mt phm lu sau nh ra th make code s c gi nhiu ln : 1C 1C 1C .. F0 1C

Snake game Group3K53

Page 15

Nu nhiu phm c bm cng mt lc th code gi i ln lt l make code v break code ca 2 phm.v d ta bm 2 phm Shift v A cng lc th coe gi i s l : 12 1C F0 1C F0 12

1.1.1 Mch giao tip PS2 keyboardMch giao tip PS2 keyboard lm nhim v lc ly thnh phn chnh trong scan code thu c sau cc hot ng bm v nh phm.ng thi to ra mt tn hiu bo hiu b iu khin c th nhn ra c u l phm m rng (thng thng phc v cho mc ch chuyn ng ca con rn ,chn level chi) u l phm thng (dng trong vic lu tn trong trng hp ngi chi t kt qu cao) C 2 cch thu li thnh phn chnh trong scan code t hot ng nhn nh phm l bt break code v bt make code.Trong snake game m nhm thc hin th nhm chn cch bt make code s chnh xc hn v cc lnh s c thc hin ngay lp tc ngay sau khi c nhp trnh c khong thi gian tr ch nh phm nu chng ta dng cch bt break code. S khi ca mch giao tip vi PS2 keyboard :Key_codedout done_tick got_tick w_data wr r_data rd

ps2c ps2d

ps2c ps2d

clk

PS2_rx

FSM to get make code

got_key

FIFO

Hnh 5.7

im ch trong mch ny l tn hiu got_key.Sau khi mch nhn d liu c gi t PS2 keyboard cho u ra l dout v mt tn hiu bo hiu l done_tick.tn hiu u ra ny s c a ti mt mch FSM xc nh thnh phn chnh ca code m ta cn thu li phc v cho cc mc ch ca chng ta.Tn hiu got_tick s tch cc cao khi mch FSM xc nh c thnh phn code cn c ,ng thi cho php ghi thnh phn code ny vo b FiFo ch cho Control Unit x l. S FSM bt make code :

Snake game Group3K53

Page 16

got_key =0 ext_key =1 done_tick =1

wait

done_tick =0

Checkkeygot_key=0 brk_key =1 brk_key =0

C lear flagbrk_flag =0 brk_flag=1

C heckflaggot_key =0 brk_flag=0

brk_flag=1

loop

R ead keygot_key=1Hnh 5.8

FSM c thit k thu scan code thay v break code ca tt c cc phm c nhn k c cc phm m rng. u im l c th nhn c phm ngay khi phm c nhn xung nhng i li l mch s phc tp hn. FSM ny khi c c E0 s b qua code ny; Khi nhn c F0 th s b qua F0 v ng thi b qua on code nhn ngay tip sau n. Nh vy, FSM hon thnh nhim v nhn scan code. FSM thc hin cng vic trn nh sau: Ban u cho tn hiu got_key v brk_flag bng 0. Khi nhn c mt m t b thu, n s kim tra c phi l m m rng E0 hay khng, nu phi s b qua ( got_key nhn gi tr ny => ta thu dc scan code. E0 tip theo b qua. F0 tip theo b qua v set c brk_flag ln 1. Gi tr 75 cui cng, kim tra c brk_flag cho gi tr 1 => b qua ng thi xa c ny v 0.

1 VGA1.1 hoa1.1.1 Gii thiu VGA la vit tt cua video graphic array, la mt chun hoa c gii thiu trong cui nhng nm 1980 t phia IBM cung loai may tinh PS/2 .Trong cac phn sau, chung ta se thao lun v giao din co phn giai 640 x 480 vi 8 mau c ban cua man hinh CRT ( cathode ray tube). Di y la bang kt hp mau t 3 bit cua VGA: o(R) 0 0 0 0 1 1 1 1 Xanh (G) 0 0 1 1 0 0 1 1 Xanh dng (B) 0 1 0 1 0 1 0 1 Mau en Xanh dng Xanh Luc lam o o ti Vang Trng

Snake game Group3K53

Page 18

1.1.1 Cng VGA Cng VGA co 5 tin hiu tich cc bao gm cac tin hiu ng b theo phng ngang va phng doc, h_sync va v_sync va 3 tin hiu hinh anh cho 3 mau o, xanh, xanh dng. Hinh anh la mt tin hiu tng t, va b iu khin video s dung mt b chuyn i DAC chuyn i tin hiu s u ra thanh mc tng t mong mun. Nu mt tin hiu hinh anh N-bit thi tin hiu nay co th c chuyn thanh 2N mc tng t. Trong phn thao lun , chung ta dung tin hiu hinh anh mau 3 bit nn u ra chung ta se thu c 23=8 mau c ban nh c lit k trong bang trn.

1.1 B iu khin video Mt b iu khin hinh anh tao ra cac tin hiu ng b va cac pixel d liu u ra . S nh sau:External data/control rgb Pixel generation Pixel generation circuit circuit

pixel_x pixel_y video_on h_sync v_sync VGA_sync VGA_sync

VGA monitor

clock

S bao gm: Mach ng b, ki hiu la VGA_sync. Mach tao pixel Pixel generation circuit. Mach VGA_sync tao ra cac tin hiu ng b va tin hiu thi gian. Tin hiu h_sync va v_sync c ni vi cng VGA iu khin ch quet theo phng ngang va phng doc cua b iu khin. Pixel_x va pixel_y la u ra cua cac tin hiu c giai ma t b m bn trong. Hai tin hiu nay xac inh vi tri cua pixel hin tai. Mach VGA_sync cung tao ra tin hiu video_on xac inh khi nao thi kich hoat hay v hiu hoa tin hiu hin thi trn man hinh.

Hinh 6.1: S khi cua b iu khin VGA

Snake game Group3K53

Page 19

Mach pixel generation circuit tao ra 3 tin hiu hinh anh rgb. Mau thu c tng ng vi toa cua cac pixel hin tai va cac tin hiu d liu va iu khin t bn ngoai.

1.1.1 Mach ng b VGA Mach nay tao ra cac tin hiu ng b theo phng ngang h_sync va ng b theo phng doc v_sync. Trong o : h_sync: chi ra thi gian cn thit quet ht mt hang. v_sync: chi ra thi gian cn thit quet ht toan b man hinh. Trong phn thao lun cua chung ta dun man hinh co phn giai 640x480 vi tc pixel la 25Mhz, nghia la trong 1s man hinh x ly 25M pixel. Man hinh bao gm vung vin en xung quanh man hinh va vung nhin thy gia co hinh ch nht. Cac truc toa va chiu dng cua cac truc nh hinh ve di y:O x

border

Visible area

y h_video_on 0 h_sync

639 655 751 799

Left border

display Right retrace border Left border

Snake game Group3K53

Page 20

Hinh 6.2: S thi gian quet theo phng ngang1.1.1.1 Tin hiu ng b theo phng ngang S thi gian quet cua tin hiu ng b theo phng ngang nh hinh 2. Mt chu ki cua tin hiu h_sync c chia lam 4 vung: Vung hin thi: la vung ma cac pixel c hin thi trn man hinh. Vung quet ngc: la vung ma cac tia in t quay ngc lai v phia canh bn trai. Vung bin phai: la vung mau en bn phai, trong vung nay cac tin hinh anh bi v hiu hoa khng c hin thi. Vung bin trai: la vung mau en bn trai va ging nh vung bin bn phai, trong vung nay thi cac tin hiu hinh anh khng c hn thi. 1.1.1.1 Tin hiu ng b theo phng doc S thi gian quet cua tin hiu ng b theo phng doc nh sau:

v_video_on 0 v_sync

479 489 491 524

Top border

display Bottom retrace border Top border

Trong o:

Hinh 6.3: S thi gian cua tin hiu quet theo phng doc. Vung hin thi: la vung ma cac pixel c hin thi trn man hinh. Vung quet ngc: la vung ma cac tia in t quay ngc lai v phia canh bn trai. Vung bin trn: la vung mau en bn trn, trong vung nay cac tin hinh anh bi v hiu hoa khng c hin thi. Vung bin di: la vung mau en bn di va ging nh vung bin bn trn, trong vung nay thi cac tin hiu hinh anh khng c hn thi.

Snake game Group3K53

Page 21

1.1.1.1 Tc pixel Goi p la s pixel trong 1 hang ngang, l la s ng ngang trong 1 man hinh va s la s man hinh hin thi trong 1 s thi tc pixel bng p*l*s. Chu y: man hinh khng bi nhp nhay thi s phai ln hn hoc bng 24. Vi man hinh co phn giai 640x480 va s man hinh hin thi trong 1s la 60 hinh/s thi p = 800 pixel/line, l=525 line/screen, s=60 screen/second tc pixel bng 800x525x60 25M pixel/s.

1.1.1 Mach tao pixel Mach tao pixel tao ra tin hiu mau 3 bit rgb cho cng VGA. Tin hiu iu khin va d liu t bn ngoai chi ra ni dung cn hin thi trn man hinh, pixel_x va pixel_y chi ra toa hin tai cua pixel. Co 3 loai mach tao pixel: S kiu bit mapped . S kiu tile mapped . S kiu object mapped. Trong s kiu bit mapped, d liu hin thi trn man hinh c lu tr trong mt b nh. Mi pixel c lu tr trc tip trong b nh tao thanh t nh ( memory word )va tin hiu pixel_x, pixel_y tao ra ia chi cua nh. Mt mach x ly hoa lin tuc cp nht man hinh va ghi d liu vao nh. Mt mach thu lin tuc oc t b nh va truyn d liu ti tin hiu rgb. S bit mapped thng c dung tao mau. Nhc im khi s dung s nay la tn b nh. giam yu cu b nh, ngi ta dung s kiu tile mapped . Trong s kiu nay, chung ta nhom mt tp bit tao thanh 1 tile ( gach ) va coi mi tile nh 1 bit. S nay thng c dung tao text. Cui cung, s kiu object mapped thng c dung tao ra cac vt th. Trong cac bao toan, chung ta thng kt hp ca 3 cach trn tao ra mt man hinh hoan chinh. 1.1.1.1 S kiu object mapped . S khi :

Snake game Group3K53

Page 22

Data/control Video_on pixel_x pixel_y Object 1 Generation circuit Generation circuit

rgb mux

rgb

Object 2 Generation circuit Generation circuit

Object 3 Generation circuit Generation circuit

Hinh 6.4: khi khigm cac macobject cac vt th, mt b mux chon vt th hin S S bao cua mach h tao ra mapped.thi. Mach nay thc hin cac chc nng sau: Gi toa cua cac vt th va so sanh cac toa nay vi vi tri hin tai ma pixel_x va pixel_y cung cp. Nu vi tri hin tai cua vt th trong vung hin thi thi mach nay se chen thm tin hiu on cua vt th o. Chi ra tin hiu mau cua vt th. B mux kim tra cac tin hiu on va xac inh tin nao c truyn ti tin hiu u ra rgb. 1.1.1.1 S kiu bit mapped Trong kiu s nay, mi pixel tao thanh 1 nh nn nhc im cua phng phap nay la rt tn b nh. Cach tip cn nay khng yu cu thm mach chuyn cac tin hiu pixel_ x va pixel_y thanh ia chi nh nhng lang phi nhiu b nh. 1.1.1.2 S kiu tile mapped S kiu nay c dung tao text va se c thao lun trong phn 2.

Snake game Group3K53

Page 23

1.1 VGA text1.1.1 Gii thiu S kiu tile mapped c dung tao text va cac ki t . Mi tile c coi nh mt siu pixel . Phng phap xy dng cac ki t la coi chung nh cac tile va thit k mach tao pixel bng phng phap nay.

1.1.1 Tao text Khi ap dung phng phap nay, mi ki t c coi nh mt tile, gia tri cua mt tile biu din ma cua mt vi mu cu th. Chung ta s dung ma ASCII 7 bit cho cac ki t. Mu cua cac tile tao nn font ch cua tp cac ki t. Co nhiu loai font ch nhng trong phn thao lun cua chung ta dung font ch co kich thc 8x16( 8 ct va 16 hang ).

00000000 00000000 00010000 00111000 01101100 11000110 11000110 11111110 11000110 11000110 11000110 11000110 00000000 00000000 00000000 00000000

Hinh 6.5: Mu ki t va font cua ki t

Cac ki t bao gm phn s, cac ch cai hoa va ch cai thng, cac biu tng va nhiu ki t hoa c bit. i vi man hinh co phn giai 640 x480 , khi s dung cac tile co kich thc 8 x16 thi mi hang ngang cha va 80 tile va mi hang doc cha va u 30 tile. Khi o ta co th coi man hinh co phn giai la 80 x 30.

Snake game Group3K53

Page 24

1.1.1 Font ROM thc hin cac ki t ma ASCII, chung ta s dung font ROM . Gia s chung ta thc hin 128 ki t u cua bang ma ASCII thi kich thc cua ROM la 211 x 8. Trong o, 7 bit co trong s cao nht cua 11 bit ia chi c dung xac inh ki t, 4 bit co trong s nho nht c dung xac inh hang trong mt mu cua ki t. Hinh 5 la ia chi va ni dung ROM cua ki t A. Cach thc hin nh sau:constant ADDR_WIDTH: integer :=ll; constant DATA_WIDTH: integer:=8; signal addr_reg: std_logic_vector (ADDR_WIDTH -1 downto 0); type rom_type is array (0 to 2**ADDR_WIDTH-l) -- ROM definition constant RUM: rom_type := -- code x00 (blank space) 00000000, -- 0 00000000, -- 1 00000000, -- 2 00000000, -- 3 00000000, -- 4 00000000, -- 5 00000000, -- 6 00000000, -- 7 00000000, -- 8 00000000, -- 9 00000000, -- a 00000000, -- b 00000000, -- c 00000000, -- d 00000000, -- e 00000000, -- f ... begin -- addr register to infer block RAM

Snake game Group3K53

Page 25

process (clk) begin if (clkevent and clk = 1) then addr-reg end end data end if ; process;