Está en la página 1de 30

MANUAL.

Practica 1 Diseo de sistemas digitales


(telecomunicaciones) con KIT basys2 Xilinx FCHE-MAIC 26/10/11

Objetivo1: conocer cmo funciona la tarjeta


Objetivo2: Comprender como se construyen sistemas digitales con el KIT basys2 y software xilinx
Objetivo3: activar el reloj

INTRODUCCION. Cmo funciona la tarjeta basys2


Es una tarjeta FPGA que permite disear miles de compuertas, solo programando hardware
mediante VHDL.

Que tiene?

Cada elemento, ya sea switchs, leds y push botom(o pulsadores), se les asigna un pin para que se
enlace. La asignacin de pines de acuerdo al elemento, se observa a continuacin.

Experimento 1.
Al final se espera: Que el alumno aprenda a utilizar el software y hardware para un ejemplo
sencillo.
Objetivo: Programar una compuerta AND, las dos entradas estarn asignadas a dos push botom
(para el push botom 0 le corresponde el pin G12 , y el push botom 1 le corresponde el pin C11),
ambos utilizaremos y la salida la conectaremos a un led, se escoge el LD0 con pin M5.

Tenemos que tener instalado Xilinx, y Diligent Adept.

(Todos los programas Xilinx ise 8.2i, despus submen: Project navigator)
Debe aparecer as, sino en men File selecciona Close Projet

1) Crear un nuevo proyecto

2) Le llamamos ejemplo 1, y next.

3) Configurar la tarjeta basys2, de esta manera. Next.

4) Seleccionamos NEW SOURCE

5)

Seleccionamos de la izquierda la opcin VHDL Module y nombramos el archivo:


ejemplo1, luego NEXT.

6) Como es una AND la que vamos a realizar, las entradas le llamamos A y B y la salida C

7) Estos valores se insertan a continuacin, tambin se debe seleccionar si es entrada (in) o


salida (out), despus NEXT

8) Despus finish, next, next, finish. Y te queda esta pantalla.

9) De esta pantalla seleccionamos la pestaa: ejemplo1.vhd

10) Aparece el cdigo a continuacin y comentarios con lneas de color verde.

11) Entonces solo trabajaremos en esta parte del cdigo. Quitemos los comentarios que estn
de color verde. (los comentarios se crean con dos guiones). Debe quedar as.

12) En entity se declaran los puertos de entrada y salida, esta entidad se le pone un nombre
aqu se le llama: ejemplo1.
13) En Architecture se coloca el comportamiento de nuestro circuito, dadas las entradas y
salidas de la entidad. El comportamiento de nuestro proyecto es una and.
Asi es que se coloca entre begin y End, lo siguiente:
C<=Aand B;
Para asignar se utiliza
and

<=

es una palabra reservada

Al final de cada comando se escribe punto y coma.

observemoslo :

14) Chequemos sintaxis, dentro de sources (izquierda en medio), debe estar seleccionado
synthesize, y en process(abajo izquierda) dentro del men synthesize esta check
syntax doble click.

Guardamos

Y tenemos en el recuadrado de abajo que salen varios avisos que se est compilando, y si
no est equivocado saldr exitosamente successfully

Si estuviese equivocado checa con cuidado el cdigo, letras maysculas deben ir en


mayscula, punto y coma al final. Y vuelve a checar la sintaxis.
Ya sabiendo que est bien escrito el programa procedemos con asignar pines; en process
se escoge men , user constraint. Adentro tenemos assign Package Pins y aparece
caja de dialogo donde se escribirn los valores de los pines. (Una caja de dialogo
intermedia para crear UCF, se debe decir yes)

Los nombres de los pines los dijimos al inicio que se sacaron de la tarjeta o de la tabla de
asignacin de pines dada. Habamos quedado entrada A el pin C11 en la entrada B
el pin g1 y en el led C de pin m5.

Ahora se guarda y cierra, estamos otra vez en la ventana anterior y ahora lo que se hace es
darle DOBLE click a tres cosas 1) sinthesize 2) Implement Design y 3) generate
programming File, en los iconos de

En la tercera opcin te muestra esto, solo cirralo.

Finalmente, si todo sali bien tendremos la pantalla siguiente.

Sino checa los numero de pines si coinciden a lo pedido.


Si todo sale bien, ya se genero un archivo .bit dentro del folder donde se ubica este
programa que hicimos.
Ahora vamos a descargarlo a la tarjeta basys2:
Requerimos el software de Adept de Diligent ya instalado, requerimos abrirlo.(todos los
programas, Diligent, Adept,se llama Adept ).
Si no est conectada la tarjeta ni prendida, te saldr as:

Tenemos dos opciones, para ambas, conectar la tarjeta al USB y adems el power (switch
de encendido que esta a la izquierda) de la tarjeta basys2, lo pones en ON.
Opcin 1 escoges connect: la opcin de basys2
Opcion2 Cierra la aplicacin, y se vuelve a abrir ya con todo conectado y prendido.
(Si estuviese conectado pero apagado solo se debe inicializar la cadena , dndole click al
botn: Initialize Chain)

Despus buscamos en el browser nuestro archivo BIT

Se escoge ejemplo1.bit

Se acepta esto cada vez que salga (dos veces)

Y ahora solo programar y probar la tarjeta. Si se descargo bien a la tarjeta se mostrara lo


siguiente. (Si fallo el programa, checa, esta prendida la tarjeta?
Checa los pines si se grabaron adecuadamente.)

Ya se descarg a la tarjeta exitosamente. Solo resta probar en la tarjeta moviendo los dos
switch dados y checar que con los dos switch en ON se prende el led especfico
nicamente.
En xilinx se escoge la opcin CERRAR PROYECTO: Close project.(NO close solo). En el
men FILE.
Siempre recuerda al terminar cerrar proyecto.
En la tajeta Basys2, despus de utilizarla solo apaga el switch de power.
FIN practica 1

Ejercicio: realiza una OR con entrada en el swith5 y switch 6 y que se prenda el led1.
Antes de empezar un proyecto nuevo checa que est cerrado algn proyecto, en men
FILE y submenu: Close project

Practica 2. Conectando el reloj a un LED.

En la basys2 se tiene un reloj interno de 50mhz, si lo conectamos directamente a un led, el


parpadeo de prender y apagar que produce el reloj en un tiempo determinado ser
imperceptible para los ojos. De manera que debemos realizar un divisor de frecuencias,
produciendo retardos de tiempo con un contador y al final conectarle el LED.
PARTE 1:
Primero se programara directamente y checaremos que el LED no se nota el parpadeo.
Entramos a Xilinx, vhdl modulo, como entrada ser clk y salida un LED.
A la entrada solo se activa el reloj interno con el pin B8.
A la salida para el LED escogeremos el LED7 con pin G1

YES

Resultado final: se prende solo el led 7 y se mantiene prendido todo el tiempo.


AL final, por favor apara el switch de la tarjeta.
Termina parte 1.

PARTE 2. Realizar el divisor de frecuencias.


Como entrada se tiene el reloj interno con pin b8, llamado CLK
Internamente tendremos un bloque donde ya se cre un retardo a propsito, al final de
ese retardo se le conectara el led.
A la salida del retardo se le conectara el LED7 con pin g1, Llamado LED.
En la parte interna se producir un retardo o delay, con un ciclo.
La variable que estar variando ser CLK, ya que a esta tenemos conectado el reloj
interno.
Si en el reloj se tiene una transicin de cero a 1, entonces solo se verificara si ya se llego a
un tiempo dado, si es as, entonces se realiza una cuenta, pero si no, se reinicializa el
conteo; sumndole un uno a la variable: cuenta. Entonces despus de lo que haya
pasado, solo se verifica si cuenta es menor que la mitad del reloj (25 mil), si es as, prende
Led, sino apaga Led.

Por otro lado se intenta con el cdigo siguiente que se mantenga prendido a la mitad del
tiempo y se apague la otra mitad.

Checa de respuesta que al pasar el programa a la tarjeta, se prendera y apagara


automaticamente el led designado.

F= 50 000 000 hz si queremos a 10hz frec. Sa.l/frec. Ent. =2x10 e-8 es la cuenta

También podría gustarte