Pages Menu
TwitterFacebook



BANNER2_ALT

Posted by on Feb 23, 2015 in Verilog | 0 comments

Introducción a Verilog

Introducción a Verilog

Introducción a Verilog

Descripción de Software

Introducción a Verilog es un lenguaje de descripción de hardware (HDL), es ideal para la programación sencilla de FPGA’s Altera, este lenguaje soporta el diseño, prueba e implementación de circuitos analógicos, digitales y de señal mixta a diferentes niveles de abstracción.

Los diseñadores de Verilog querían un lenguaje con una sintaxis similar a la del lenguaje de programación C, de tal manera que le resultara familiar a los ingenieros y así fuera rápidamente aceptada. El lenguaje tiene un preprocesador como C, y la mayoría de palabras reservadas de control, como “if”, “while”, “for” etc, son similares. El mecanismo de formateo en las rutinas de impresión y en los operadores del lenguaje (y su precedencia) son también similares.

A diferencia del lenguaje C, Verilog usa Begin/End en lugar de llaves para definir un bloque de código. Por otro lado la definición de constantes en Verilog requiere la longitud de bits con su base. Verilog no tiene estructuras, apuntadores o funciones recursivas. Finalmente el “concepto de tiempo”, muy importante en un HDL, no se encuentra en C.

Estructura Básica

En este tutorial se explicara las características de lenguaje Verilog y hacer funcionar un ejemplo sencillo con un FPGA.

Como vimos en el tutorial anterior se necesita crear un proyecto nuevo, antes de escribir nuestro programa en lenguaje Verilog HDL.

1

ALTERA, FPGA, Cyclone II, EP2C5T144C8

Este FPGA Altera lo puedes encontrar en nuestra pagina oficial https://hetpro-store.com/tarjetas-es/desarrollo/altera-es/tarjeta-fpga-altera-ep2c5t114c8n-con-blaster.html

Ejemplo S1L1

** Este ejemplo fue creado en el tutorial anterior para ver los pasos de inicialización seguir el siguiente enlace **

https://hetpro-store.com/TUTORIALES/como-instalar-quartus-ii-y-crear-un-proyecto-nuevo/

Esta practica consiste en hacer todas las compuertas lógicas básicas en programación Verilog y mostrarlas en físico con el FPGA utilizando Switches y LEDs.

A continuación escribiremos el siguiente programa:

module S1L1
 (
 input A,
 input B,

 output C,
 output D,
 output E,
 output F,
 output G,
 output H,
 );

 assign C = A | B;
 assign D = A & B;
 assign E = A ^ B;
 assign F = A ~^ B;
 assign G = A;
 assign H = !B;
endmodule

Características del Programa

  • Module: El modulo es una unidad de jerarquía, puede ser un módulo fundamental o puede ser una coleccion de elementos, “Tiene que tener el nombre del proyecto”.
  • Input/Output: Declaramos entradas y salidas del modulo dentro de paréntesis.
  • Assign: Describimos su funcionamiento (|=OR, &=AND, ^=XOR, ~^=XNOR, != Negación)

Para compilar el código solo damos click en “Start Compilation” o “Ctl+L”.

A

Compilar

Asignación de pines del FPGA

Si la compilación fue exitosa y la ventana de mensajes no arrojo ningún error se procederá a asignar los pines de entrada y salida de nuestro FPGA,

b

Asignación de Pines

c

Pines del FPGA

De acuerdo con la siguiente gráfica de Switches y LEDs se declaran los pines de acuerdo a su número, de la siguiente manera:

e

Switch

f

Led´s

d

Declaración de Pines

Una vez declarados los pines de entrada y salida, se tiene que compilar nuevamente para asegurar que se declararon correctamente, procedemos a cargar nuestro programa al FPGA por el puerto JTAG con el USB Blaster.

Daremos click en “Tools” y “Programmer”:

h

Programador

Nos arrojara una ventana donde eligiéremos nuestro programador “USB Blaster” Dando click en “Hardware Setup”:

i

Nota: Si no tiene instalado “USB Blaster” en su PC seguir los siguientes pasos, una vez instalado omitir.

Instalar Blaster

Para instalar el programado USB Blaster en su computador siga las siguientes instrucciones:

  • Conecte el USB blaster a su computador y en su FPGA, entre el puerto USB y el puerto JTAG Respectivamente.
  • Precione la tecla “Window” y la tecla Pause/Inter o Breack a la vez.

j

  • Dar click en “Administrador de Dispositivos” e instalar el Driver seleccionado en la ruta C:\altera\13.0sp1\quartus\drivers\usb-blaster en  “Dispositivo Desconocido”.

k

* Una vez instalado el USB Blaster lo seleccionamos en “Hardware Setup” y lo agregamos.

l

Damos click en Add File y agregamos el archivo .sof de nuestro programa como lo muestra la siguiente imagen.

.sof  SRAM ObjectFile.
– Modo de programación JTAG (JointTest ActionGroup).

m

n

Una vez cargado y verificando que el archivo .sof se haya cargado y que los pasos anteriores se producieron correctamente damos click en “START” para hacer la comunicación TDI y TDO (Entrada y Salida) y probamos físicamente nuestro programa.

Post a Reply

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *