Está en la página 1de 3

Facultad Ingeniera Electrnica.

Proyecto Generador de Frecuencias con FPGA


Marcela Pazmio
marcelitapazcev@hotmail.com

Daniel Vsquez
dalejandrovasquezt@hotmail.com Universidad Politcnica Salesiana
Quito- Ecuador

RESUMEN: Estructura del cdigo en vhd, en el programa Xilinx para generar frecuencias de 1Hz, 100Hz, 1KHz,100KHz. Se utiliz el reloj externo de 50MHz de la FPGA Spartan 3E, el mismo que fue dividido obtener l seal deseada.
PALABRAS CLAVE: FPGA, Reloj externo de 50MHz, SPARTAN 3E , Test bench, VHD

1 OBJETIVOS
Realizar un generador de frecuencias, utilizando el reloj externo de la Spartan 3E. Implementar el Test bench para simular y verificar las salidas con las frecuencias requeridas.

Socket de oscilador de reloj auxiliar El zcalo de 8 pines proporcionado acepta osciladores de reloj que se ajusten a la huella DIP de 8 pines. Utilice este socket si la aplicacin de la FPGA requiere una frecuencia de 50 MHz. alternativamente, Digital Clock Manager (DCM de la FPGA) para generar o sintetizar otras frecuencias de el oscilador de 50 MHz a bordo. Conector de salida o entrada de reloj de SMA Para proporcionar un reloj desde una fuente externa, conecte la seal de reloj de entrada a la SMA conector. La FPGA tambin puede generar una salida de reloj asimtrica u otros alta velocidad la seal en el conector SMA del reloj para un dispositivo externo. Constantes del UCF Las fuentes de entrada de reloj requieren dos tipos de constantes
NET "CLK_50MHZ" LOC = "C9" | IOSTANDARD = LVCMOS33 ; NET "CLK_SMA" LOC = "A10" | IOSTANDARD = LVCMOS33 ;

2 MARCO TERICO

. Oscilador a bordo de 50 MHz. La Tarjeta incluye un oscilador de 50 MHz con un ciclo de trabajo de salida de 40 a 60. El oscilador es exacto 2500 Hz o 50 ppm.
1

NET "CLK_AUX" LOC = "B8" | IOSTANDARD = LVCMOS33 ;

Facultad Ingeniera Electrnica.

3 PROCEDIMIENTO
3.1 Se cre un nuevo proyecto, escogiendo las caractersticas de la FPGA, para este caso Spartan3E

end if; end if; end process; salida <= temporal; end Behavioral;

3.3 Despues de la creacin del archivo test bench, se procedi a modificarlo ingresando el siguiente cdigo:
ENTITY clk200Hz_tb IS END clk200Hz_tb; ARCHITECTURE behavior OF clk200Hz_tb IS COMPONENT clk200Hz PORT( entrada : IN std_logic; reset : IN std_logic; salida : OUT std_logic ); END COMPONENT; -- Entradas signal entrada : std_logic := '0'; signal reset : std_logic := '0'; -- Salidas signal salida : std_logic; constant entrada_t : time := 20 ns; BEGIN -- Instancia de la unidad bajo prueba. uut: clk200Hz PORT MAP ( entrada => entrada, reset => reset, salida => salida ); -- Definicin del reloj. entrada_process :process begin entrada <= '0'; wait for entrada_t / 2; entrada <= '1'; wait for entrada_t / 2;

3.2 Se procedi a escribir el cdigo vhd presentado a continuacin para dividir el oscilador en 4 partes:
entity clk200Hz is Port ( entrada: in STD_LOGIC; reset : in STD_LOGIC; salida : out STD_LOGIC ); end clk200Hz; architecture Behavioral of clk200Hz is signal temporal: STD_LOGIC; signal contador: integer range 0 to 124999 := 0; begin divisor_frecuencia: process (reset, entrada) begin if (reset = '1') then temporal <= '0'; contador <= 0; elsif rising_edge(entrada) then if (contador = 124999) then temporal <= NOT(temporal); contador <= 0; else contador <= contador+1;

Facultad Ingeniera Electrnica.

.
end process; -- Procesamiento de estmulos. estimulos: process begin reset <= '1'; -- Condiciones iniciales. wait for 100 ns; reset <= '0'; -- A trabajar! wait; end process; END;

5 CONCLUSIONES
El divisor de frecuencia compone una pequea entrada prctica al diseo de sistemas digitales con VHDL. La declaracin correcta de todas las variables, en especial la del reloj permiten al programa funcionar de a cuerdo a lo designado en el process.

6 RECOMENDACIONES
Es necesario realizar un buen clculo para dividir al reloj de 50MHz, caso contrario resultar una frecuencia diferente a la esperada.

7 REFERENCIAS
[1] Epson SG-8002JF Series Oscillator Data Sheet (50 MHz Oscillator) http://www.eea.epson.com/go/Prod_Admin/Catego ries/EEA/QD/Crystal_Oscillators/ prog_oscillators/go/Resources/TestC2/SG8002JF [2] http://www.programnation.com/divisorfrecuencia-vhdl/

3.4 Se compil y gener el archivo de simulacin