Microblaze Vhdl Synthetized Processor Project

Páginas: 5 (1105 palabras) Publicado: 8 de enero de 2013
Escuela Técnica Superior de Ingenieria
Ingeneria Electrónica 13088 - Sistemas Digitales Avanzados

PROYECTO

juego PONG

7.6.2010 Pavel Vávra

Objetivo El objetivo del proyecto se basa en implementacion de juego PONG mediante el teclado ps2, la pantalla y mostrando el escore en el display de la placa.

W S I K ESC ESPACIO

movimiento ascendente porteria izquierda movimientodescendente porteria izquierda movimiento ascendente porteria derecha movimiento descendente porteria derecha salida del juego y reset play / pause

Pasos para conseguir el funcionamiento 1) Diseňar el HW del sistema diseňar todos IP necesarios con EDK crear una plataforma de MicroBlaze con perifericos necesarios implementar nuestros IP creados 2) Implementar nuestro sistema a FPGA asignar los pinesusados en *.ucf 3) Diseňar el SW del control del nuestro sistema diseňar el flujo del programa principal diseňar todas funciones necesarias depurar el sistema

El esquema de bloques de nuestro HW completo

IP cores necesarios, que debemos que crear son PS2 Control (ps2_kboard_buttons) y VGA Control (vga_pong_system) El diseňo de ps2_kboard_buttons El bloque ps2_kboard_buttons simula 6 butonesHW. Cada uno de los botones esta asignado a una tecla del teclado PS2. Los bloques necesarios para implementar esta funcionalidad son: sig_filter.vhd - filtra la salida de reloj de teclado

clk reset sig_in sig_filter sig_out

ps2_kbd.vhd
clk reset ps2_clk ps2_data

- ofrece las seňales scan_code y scan_code_rdy
8 PS2_KBD scan_code_ready

scan_code

pos_edge_detect.vhd
clk input

-detectod de flanco de subida

pos_edge_detect

output

button_pressed.vhdl

- bloque que mapea un seňal HW a estado de una tecla del teclado PS2
clk 8 BUTTON boton seleccionado

1 scan_code_ready break_detector

scan_code

El bloque completo de ps2_kboard_buttons Contiene el bloque kboard_ctrl.vhd y lo conecta mientras el bus PLB con MicroBlaze. kboard_ctrl.vhd - el bloque completo -mapea en total 6 seňales HW a 6 teclas de teclado PS2

res P1_up P1_down P2_up P2_down New_game Run_rause

Clk_50MHz PS2_KBOARD_BUTTONS ps2_clk ps2_data

El diseňo de vga_pong_system El bloque vga_pong_system contiene un controlador de VGA en resolución 640x480 y 60Hz, los tres objectos para mostrar (bola, portería1, portería2) y el multiplexador de los

colores para la pantalla VGA. Losbloques necesarios para implementar esta funcionalidad son: vga_controller_640_60.vhd - este bloque genera las seňales de syncronización vertical y horizontal, las coordenadas del punto actual que se esta mostrando en la pantalla y el seňal blank, cual indica, que el punto, que se esta mostrando actualmente está fuera de resolución 640x480
25 MHz CONTROLADOR VGA 60Hz Res. 640x480 hcount vcountHS VS blank

reset

rgb_mux.vhd

- seleccion cual objecto va a mostra en la pantalla

ball_RGB bar1_RGB R bar2_RGB BLACK_RGB G B

boll_on bar1_on bar2_on blank

ball.vhd

- su posicion próxima calcula la bola misma, proporciona de su seňal da activo, rgb y dos seňales, cuales indican, que un de los jugadores ha obtenido un punto
rst Clk_50MHz run x_count y_count bar1_y_t bar2_y_t RGBball_on P1_SCORED P2_SCORED

BOLL

bar.vhd

- bloque más simple, que ball, la posicion de la portería viene por seňales de input bar1_y_t y bar2_y_t y así este bloque solo genera los seňales de activo bar_on y rgb
rst Clk_50MHz x_count y_count bar1_y_t RGB bar_on BAR

El bloque completo de vga_pong_system Contiene el bloque vga_pong.vhd y lo conecta mientras el bus PLB con MicroBlaze.vga_pong.vhd
res run b1_y_t b2_y_t p1_scored p2_scored VGA_PONG_SYSTEM 3 vs hs rgb clk_50MHz

Crear una plataforma de MicroBlaze con perifericos necesarios Corespondiendo a esquema de bloques principal creamos un HW con perifericos necesarios y aňadimos nuestros IP cores creados (ps2_kboard_buttons, vga_pong_system) Los cambios necesarios en ficheros propios son: system.mhs - definicion de los...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Vhdl
  • Vhdl
  • Vhdl
  • VHDL
  • vhdl
  • Vhdl
  • vhdl
  • vhdl

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS