juego naves reporte proyecto final(vhdl)
DESCRIPTION
PROYECTO REALIZADO CON EN Kit basys2 EN LA CLASE DE VHDL UNIDAD 4TRANSCRIPT
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.
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
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.
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.
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.
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.