Practica #2(MegaWizard)

for more visit: www.fpgalover.com

If you like my FREE FPGA tutorials, buy me a coffee, or a biscuit or whatever you like.

Written by: Holguer A Becerra

Requisitos:

    • Practica #1.

    • Diapositivas hasta el 4 de febrero.

Procedimiento:

    • Utilizando el System builder se crea una plantilla principal la cual utilizaremos para aprender a usar la herramienta Megawizard.

      • Ahora se abre la plantilla utilizando la versión de Quartus que tengamos.

    • Una vez abierta la plantilla procedemos a it al Menu Tools->Megawizard

      • Esperamos a que salga el ayudante Megawizard y seleccionamos "Create a new custom megafunction variation", se oprime siguiente y aparecerá una ventana donde se debe seleccionar "Verilog HDL" y seguido de esto el modulo hardware que se quiere usar en el proyecto, en este caso vamos a escoger primero un conversor de Int a Float, y una RAM de dos puertos.

      • Para el primer caso seleccionaremos la Megafunction de tipo arithmetic "ALTFP_CONVERT" y le damos el nombre de int2float, damos siguiente.

      • seguido de esto aparecerá una ventana de configuración, seleccionamos en "Operation mode" el tipo "An integer to a floating point" y el "Integer Data" se deja en 32 bits

      • se da siguiente y "Output floating point Settings" se deja en Single Precision (32 bits).

      • se da siguiente y en "Optional inputs" se deja sin seccionar, luego se da de nuevo siguiente, otra vez siguiente hasta llegar al "Summary" y se oprime en Finalizar.

      • Se oprime Yes para incluir el modulo a la plantilla de nuestro proyecto.

      • Ahora si se va a la carpeta del proyecto, se debe buscar el achivo "int2float_inst.v" el cual contiene la instanciación del modulo que se ha creado utilizando el Megawizard.

      • Se debe modificar el codigo de la plantilla para agregar el modulo creado y de esa manera poder probarlo.

      • Ahora genere el RTL de la descripción de HW para segurar que el código coincide con el hardware del diagrama.

      • Pruebe el circuiito utilizando la DE0-NANO y evalue:¿Qué hace el circuito?, ¿Lo hace de forma correcta?, ¿cual es la conversión del numer 5?8 a IEEE754 single precision?, el ¿El valor de la conversión coincide con el del modulo?

      • Utilice el Datasheet del modulo ALTFP_CONVERT para evaluar cuantos CLOCK_50 necesita para asegurar una conversión del numero.

    • Como se hizo al agregar el modulo ATLFP_CONVERT en los pasos anteriores se debe agregar un modulo Megawizard de tipo "Memory Compiler" RAM:2-PORT

      • llamela sdram_ejemplo.

      • ahora oprima en siguiente y configure el modulo RAM:2-PORT hasta que sea igual al que se muestra en la siguiente imagen:

      • Después de configurar la RAM, generala y agréguela al proyecto.

      • Compruebe que efectivamente la RAM guarda datos en una dirección especifica y lee datos de esa dirección especifica.

      • ¿Como barrería esa memoria?

      • ¿Para qué seria util usar este tipo de RAM?, ¿Que planetaria?

      • ¿Como calcularía el promedio de una señal entrante utilizando este modulo de RAM?

      • investigue ¿qué es un filtro promediador?.

    • Ahora es su turno de experimentar, ¿Para qué seria útil implementar la Megafunction NCO? ¿Para que seria útil implementar la Megafunction PLL?

    • ¿Por qué usar Megafunctions de Altera en vez de Descripción de Hardware convencional?

for more visit: www.fpgalover.com

If you like my FREE FPGA tutorials, buy me a coffee, or a biscuit or whatever you like.