Practicas Dsd Con Basis
-
Upload
omar-sanchez -
Category
Documents
-
view
243 -
download
0
description
Transcript of Practicas Dsd Con Basis
-
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
-
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