juego naves reporte proyecto final(vhdl)

7
SEP DGEST SNEST INSTITUTO TECNOLÓGICO DE MATAMOROS DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Proyecto: “juego naves” Diseño Digital con VHDL Equipo: Alumno(s): Núm. de control: Mario Arturo Cruz Colunga 11260077 Miguel Angel Fierros Peña 11260081 Hermenegildo Martínez de la Cruz 11260095 Jorge Alejandro Reyes Torres 11260108

Upload: miguel-angel-pena

Post on 20-Jun-2015

605 views

Category:

Education


5 download

DESCRIPTION

PROYECTO REALIZADO CON EN Kit basys2 EN LA CLASE DE VHDL UNIDAD 4

TRANSCRIPT

Page 1: Juego naves reporte proyecto final(VHDL)

SEP DGEST SNEST

INSTITUTO TECNOLÓGICO DE MATAMOROS

DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Proyecto: “juego naves”

Diseño Digital con VHDL

Equipo:

Alumno(s): Núm. de control:

Mario Arturo Cruz Colunga 11260077

Miguel Angel Fierros Peña 11260081

Hermenegildo Martínez de la Cruz 11260095

Jorge Alejandro Reyes Torres 11260108

H. MATAMOROS, TAM.

Page 2: Juego naves reporte proyecto final(VHDL)

Objetivo:

Realizar un juego con los display de 7 segmentos simulando naves que deben esquivar obstáculo que llegan a él en forma aleatoria.

Introducción:

Realizar un juego empleando los 4 display que proporciona el basys2 en el que se mostrar una sucesión de líneas las cuales deben ser esquivadas por el jugador, representando la posición del jugador en el display de lado contrario de donde empiezan las secuencias de líneas.

Material:

Kit basys2

Computadora

Page 3: Juego naves reporte proyecto final(VHDL)

Desarrollo:

Creación de archivo bde usado como top.

clk sevenSegment(6:0)

rst an0

d1(6:0) an1

d2(6:0) an2

d3(6:0) an3

dpos(6:0)

U1 dispdatclkpo pcen

down pdown

up pup

U2

\posicion jugador\

d2d3

clk

rst

an0an1an2

an3

sevenSegment(6:0)

mclk clkout

reset

U3clkpo

I O

I O

I O

bus42(6)

bus42(3)

bus42(0)

reset d3(0:6)

endj d2(0:6)

statelevel d1(0:6)

clkj d0(0:6)

entvar(0:1) solvar

U7

juego

VCCVCCVCCVCC

bus42(1)bus42(2)

bus42(4)bus42(5)

pos(0:6) endpart

pup

pcen

pdown

reset

U8

checkpo

clkpo vel(0:4)

start

statelev

reset

U9

selv

start

mclk clkout

reset

vel(4:0)

U10

clkj

mclk finlevel

start savar(0:1)

reset

poclk

sendvar

U11 contlevel

En el bde top se realizan alguna conexiones como lo son inversores y conexiones para colocar en un ‘1’ a las salidas de display de posición del juagor ya que no se ocupan.

Page 4: Juego naves reporte proyecto final(VHDL)

Descripción de las funciones de cada entidad.

mclk clkout

reset

U12

clkpo

Es un divisor de reloj encargado de proporcionar un reloj para detectar los pulsos generados por los push button del basys2 y solo detectar un cambio. Debido al uso de 2 entradas para controlar 3 posiciones.

clkpo pcen

down pdown

up pup

U12

\posicion jugador\

Se encarga de enviar la señal de encendido de uno de los segmentos del display, se enciende el segmento de acuerdo a la posición que se seleccione con los push button

clk an0

entrada an1

an2

an3

U1

\controlador de anodos\

clk clkOut

rst

U2

clkdiv

an0 sevenOut(6:0)

an1

an2

an3

sevenOne(6:0)

sevenTen(6:0)

sevenOne2(6:0)

sevenTen2(6:0)

U9

sevenSelect

GND

sevenSegment(6:0)

an0

an1

an2

an3

clkrst

dpos(6:0)d3(6:0)d2(6:0)d1(6:0)

clk sevenSegment(6:0)

rst an0

d1(6:0) an1

d2(6:0) an2

d3(6:0) an3

dpos(6:0)

U12

dispdat

Esta entidad esta forma por otras entidades para ahorrar espacio en el bde top.

Se encarga de enviar los datos en sus entradas a su correspondiente salida en uno de los 4.

Page 5: Juego naves reporte proyecto final(VHDL)

pos(0:6) endpart

pup

pcen

pdown

reset

U12

checkpo

Proporciona la decisión de cuando se pierde la partida, comparando la posición del juagor con el estado en que se encontraba la línea en el display de obstáculos.

reset d3(0:6)

endj d2(0:6)

statelevel d1(0:6)

clkj d0(0:6)

entvar(0:1) solvar

U12

juego

Esta entidad es la más importante pues que envía los datos a mostrar en los display de obstáculos, la cual contiene una memoria con las diferentes posiciones en que puede llegar a estar el obstáculo, la entidad decide que dato enviar de acuerdo a una variable de entrada. Y de si se encuentra inicia la partida mediante la entrada statelevel.

mclk finlevel

start savar(0:1)

reset

poclk

sendvar

U12

contlevel

Registra el inicio y fin de una partida enviando un 1 por finlevel si acabo un nivel o cero si se encuentra jugando.

Al recibir una señal a través de sendvar envía un numero por savar la cual ocupa entidad juego para selecciona un dato.

Page 6: Juego naves reporte proyecto final(VHDL)

mclk clkout

reset

vel(4:0)

U12

clkj

Es un divisor de reloj controlado por una variable, proporciona el sincronismo a entidad juego para que cambie la velocidad de desplazamiento de un display a otro la línea de obstáculo.

clkpo vel(0:4)

start

statelev

reset

U13

selv

Envía la variable que controla la velocidad de salida de la entidad clkj, esta variable cambia a cada transición de statelev.