Professional Documents
Culture Documents
DE AREQUIPA
ESCUELA PROFESIONAL DE INGENIERIA
Electrnica
CURSO:
Microelectrnica
DOCENTE:
ING. Ral yanyachi
Proyecto:
VISUALIZACION DE CARACTERES
PERSONALIZADOS EN UN MONITOR VGA
REALIZADO POR:
calcina huanca, yhan karlo
2008242
0
AREQUIPA PER
2015-b
INDICE
__________
3.-DIAGRAMA DE FLUJO
Archivo de alto
nivel
Font-test _top
Declaracin de
entradas y
salidas
Declaracin de los
programas de
instanciacion
SUBRUTINA DE
INSTANCIACION
Subrutina
Subrutina
Vga_sync_u
Font_gen-
Divisor de
frecuencia de 60Hz
para entrada del
monitor VGA
VGA 640X480
PARMETROS DE
Almacena los
caracteres en la
memoria ROM
Color de
caracteres
Base de datos
4.-PROGRAMAS EN ISE
4.1.-PROGRAMA DE ALTO NIVEL Font_tes_top
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
-------------------------------------------------------------------------------entity font_test_gen is
Port ( clk : in STD_LOGIC;
video_on : in STD_LOGIC;
pixel_x, pixel_y : STD_LOGIC_VECTOR (9 DOWNTO 0);
rgb_text : out STD_LOGIC_VECTOR (2 DOWNTO 0));
end font_test_gen;
-------------------------------------------------------------------------------architecture arch of font_test_gen is
end arch;
entity vga_sync is
Port ( clk, reset : in STD_LOGIC;
hsync, vsync : out STD_LOGIC;
video_on, p_tick : out STD_LOGIC;
pixel_x, pixel_y : out STD_LOGIC_VECTOR (9 downto 0));
end vga_sync;
begin
process (clk,reset)
begin
if reset='1' then
mod2_reg <= '0';
v_count_reg <= (others=>'0');
h_count_reg <= (others=>'0');
v_sync_reg <= '0';
h_sync_reg <= '0';
elsif (clk'event and clk='1') then
mod2_reg <= mod2_next;
v_count_reg <= v_count_next;
h_count_reg <= h_count_next;
v_sync_reg <= v_sync_next;
h_sync_reg <= h_sync_next;
end if;
end process;
-- generador de 25 MHz
mod2_next <= not mod2_reg;
-- 25 MHz pixel tick
pixel_tick <= '1' when mod2_reg='1' else '0';
-- fin del contador horizontal
h_end <= '1' when
h_count_reg=(HD+HF+HB+HR-1) else '0'; --799
-- seales de salida
hsync <= h_sync_reg;
vsync <= v_sync_reg;
pixel_x <= std_logic_vector(h_count_reg);
pixel_y <= std_logic_vector(v_count_reg);
p_tick <= pixel_tick;
end comporta;
4.4.-PROGRAMA FONT_UNTI-FROM-ROM
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
--------------------------------------------------------------------------------entity font_rom is
Port ( clk : in STD_LOGIC;
addr :JEH in STD_LOGIC_VECTOR (10 DOWNTO 0);
data : out STD_LOGIC_VECTOR (7 DOWNTO 0));
end font_rom;
--------------------------------------------------------------------------------architecture arch of font_rom is
-- ROM definition
constant ROM: rom_type:=( -- 2^11-by-8
-- code x45
"00000000", -- 0
"00000000", -- 1
"11111110", -- 2 *******
"01100110", -- 3 ** **
"01100010", -- 4 ** *
"01101000", -- 5 ** *
"01111000", -- 6 ****
"01101000", -- 7 ** *
"01100000", -- 8 **
"01100010", -- 9 ** *
"01100110", -- a ** **
"11111110", -- b *******
"00000000", -- c
"00000000", -- d
"00000000", -- e
"00000000", -- f
-- code x53
"00000000", -- 0
"00000000", -- 1
"01111100", -- 2 *****
"11000110", -- 3 ** **
"11000110", -- 4 ** **
"01100000", -- 5 **
"00111000", -- 6 ***
"00001100", -- 7
"00000110", -- 8
**
**
"11000110", -- 9 ** **
"11000110", -- a ** **
"01111100", -- b *****
"00000000", -- c
"00000000", -- d
"00000000", -- e
"00000000", -- f
-- code x43
"00000000", -- 0
"00000000", -- 1
"00111100", -- 2 ****
"01100110", -- 3 ** **
"11000010", -- 4 **
"11000000", -- 5 **
"11000000", -- 6 **
"11000000", -- 7 **
"11000000", -- 8 **
"11000010", -- 9 **
"01100110", -- a ** **
"00111100", -- b ****
"00000000", -- c
"00000000", -- d
"00000000", -- e
"00000000", -- f
ASIGNACION DE SALIDAS
# PlanAhead Generated physical constraints
5.-CONCLUSIONES
-Para el uso de subrutinas se hizo uso de components que el software Xilinx
proporciona.
- El tamao de la seal de la pantalla son 640x480 pixeles.
-Se utiliz el reloj interno del FPGA de 50Mhz y un divisor de frecuencia a 60Hz
para la entrada al puerto VGA.
6.-PRUEBAS
SPARTAN 3E
6.-BIBLIOGRAFIA
http://www.uhu.es/raul.jimenez/MICROELECTRONICA/prac1.pdf
http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf
https://www.pantechsolutions.net/cpld-fpga-boards/vga-interfacing-withspartan-3-primer
https://www.um.edu.mt/__data/assets/pdf_file/0008/66779/MNE_2202__Project.pdf