Está en la página 1de 27

Introducción a Verilog

Por:
Carlos A. Fajardo
cafajar@uis.edu.co

UIS - Sistemas Digitales Actualizado 29/03/2017


Verilog + FPGAs

carlos.fajardo@unad.edu.co
Lenguajes de Descripción de Hardware

• Netlist: conjunto de instrucciones que indican


el interconexionado entre los componentes de
un diseño (lista de conexiones).

• HDL: Estos lenguajes permitieron solucionar el


problema de describir un circuito NO por sus
conexiones (Netlist) sino más bien por su
funcionamiento.

UIS - Sistemas Digitales


HOLA MUNDO EN VERILOG:
COMPUERTA AND

UIS - Sistemas Digitales


Verilog
Hola Mundo
Compuerta AND Descripción en Verilog

Hola_mundo

A
F
B

UIS - Sistemas Digitales


Comentarios en Verilog
• Los comentarios son ignorados por el
compilador.
• Para una sola línea se usa //

UIS - Sistemas Digitales


Comentarios en Verilog
• Para varias líneas se usa /* bla bla bla */

UIS - Sistemas Digitales


Verilog
Hola Mundo

Este es un comentario

Nombre del módulo

Entradas y salida

Diseño, funcionamiento
del módulo.
UIS - Sistemas Digitales
Verilog
Hola Mundo

UIS - Sistemas Digitales


Asignación continua: assing
• Es la forma más sencilla de crear circuitos
combinacionales.
– assing F = A | B; // A or B
– assing F = A & B; // A and B
– assing F = ~A; // not A

UIS - Sistemas Digitales


Verilog
Hola Mundo

Entradas a la derecha
UIS - Sistemas Digitales UNICAMENTE
Verilog
Hola Mundo

UIS - Sistemas Digitales


Salidas a la izquierda
UNICAMENTE
Verilog es un lenguaje concurrente
• En un programa en C las sentencias se
ejecutan secuencialmente.

• En una descripción en Verilog, cada sentencia


puede verse como un parte de un circuito.

• Todas las partes están trabajando en


paralelo.
UIS - Sistemas Digitales
Verilog es un lenguaje concurrente

UIS - Sistemas Digitales


El uso de señales (wire)

a
b
f= (a or b) and b

UIS - Sistemas Digitales


El uso de señales (wire)

a
b
f

La declaración de la señal tipo wire en la línea 8, NO es obligatoria,


pero NO utilizarla puede generar errores de diseño.
En este curso siempre se harán las declaraciones de señales.
UIS - Sistemas Digitales
Archivo de simulación

Combinacional_1

A
B F
C

UIS - Sistemas Digitales


Archivo
de simulación

UIS - Sistemas Digitales


Creación del módulo
de simulación

Creación de las señales


de interconexión

Instanciación del módulo

Creación del bloque Initial

Valores iniciales

Estímulos de la simulación

Creación del bloque Initial


Fin del módulo
IDENTIFICADORES EN VERILOG:
NOMBRES DE ENTRADAS, SALIDAS, MÓDULOS.

UIS - Sistemas Digitales


Nombres o identificadores válidos

• Letras, números, guion bajo (_) y el signo $.


• El primer carácter debe ser una letra o un
guion bajo.
• Verilog ES sensible a mayúsculas y minúsculas
(Salida1 ≠ SALIDA1 ≠ sALIDa1 ≠ SaLiDa1 ).

UIS - Sistemas Digitales


¿Cuáles son válidos?
1. entrada1
2. sal#2
3. Salida_
4. 7seg
5. Seg-7
6. salida_1
7. mem_dir_1
8. Salida 1

UIS - Sistemas Digitales


¿Cuáles son válidos?
1. entrada1
2. sal#2
3. Salida_
4. 7seg
5. Seg-7
6. salida_1
7. mem_dir_1
8. Salida 1

UIS - Sistemas Digitales


TIPOS DE DATOS

UIS - Sistemas Digitales


Cuatro tipos de valores

• 0 : Cero lógico
• 1 : Uno lógico
• z : Alta impedancia
• x : Valor desconocido

UIS - Sistemas Digitales


¿Dónde puedo aprender más?

FPGA PROTOTYPING BY VERILOG EXAMPLES


Chapter 1
Author: Pong P. Chu.

UIS - Sistemas Digitales 26


FIN
UIS - Sistemas Digitales