practicas dsd con basis

30
MANUAL. Practica 1 Diseño de sistemas digitales (telecomunicaciones) con KIT basys2 Xilinx FCHE-MAIC 26/10/11 Objetivo1: conocer cómo funciona la tarjeta Objetivo2: Comprender como se construyen sistemas digitales con el KIT basys2 y software xilinx Objetivo3: activar el reloj INTRODUCCION. Cómo funciona la tarjeta basys2 Es una tarjeta FPGA que permite diseñar miles de compuertas, solo programando hardware mediante VHDL.

Upload: omar-sanchez

Post on 11-Nov-2015

244 views

Category:

Documents


0 download

DESCRIPTION

Practicas Dsd Con Basis

TRANSCRIPT

  • 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