27
Introducción a Verilog Por: Carlos A. Fajardo [email protected] UIS - Sistemas Digitales Actualizado 29/03/2017

Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Embed Size (px)

Citation preview

Page 1: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Introducción a Verilog

Por:

Carlos A. Fajardo

[email protected]

UIS - Sistemas Digitales Actualizado 29/03/2017

Page 2: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog + FPGAs

[email protected]

Page 3: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

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

Page 4: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

HOLA MUNDO EN VERILOG: COMPUERTA AND

UIS - Sistemas Digitales

Page 5: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog Hola Mundo

Compuerta AND

Descripción en Verilog

UIS - Sistemas Digitales

A

B F

Hola_mundo

Page 6: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Comentarios en Verilog

UIS - Sistemas Digitales

• Los comentarios son ignorados por el compilador.

• Para una sola línea se usa //

Page 7: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Comentarios en Verilog

UIS - Sistemas Digitales

• Para varias líneas se usa /* bla bla bla */

Page 8: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog Hola Mundo

UIS - Sistemas Digitales

Este es un comentario

Nombre del módulo

Entradas y salida

Diseño, funcionamiento

del módulo.

Page 9: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog Hola Mundo

UIS - Sistemas Digitales

Page 10: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

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

Page 11: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog Hola Mundo

UIS - Sistemas Digitales

Entradas a la derecha

UNICAMENTE

Page 12: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog Hola Mundo

UIS - Sistemas Digitales Salidas a la izquierda

UNICAMENTE

Page 13: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

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

Page 14: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Verilog es un lenguaje concurrente

UIS - Sistemas Digitales

Page 15: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

El uso de señales (wire)

a

b

f= (a or b) and b

UIS - Sistemas Digitales

Page 16: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

El uso de señales (wire)

UIS - Sistemas Digitales

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.

Page 17: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Archivo de simulación

UIS - Sistemas Digitales

A

B F

Combinacional_1

C

Page 18: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Archivo de simulación

UIS - Sistemas Digitales

Page 19: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

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

Page 20: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

IDENTIFICADORES EN VERILOG: NOMBRES DE ENTRADAS, SALIDAS, MÓDULOS.

UIS - Sistemas Digitales

Page 21: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

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

Page 22: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

¿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

Page 23: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

¿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

Page 24: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

TIPOS DE DATOS

UIS - Sistemas Digitales

Page 25: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

Cuatro tipos de valores

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

UIS - Sistemas Digitales

Page 26: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

¿Dónde puedo aprender más?

UIS - Sistemas Digitales 26

FPGA PROTOTYPING BY VERILOG EXAMPLES

Chapter 1

Author: Pong P. Chu.

Page 27: Introducción a Verilog - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/diapositivas-de-clase/4... · Lenguajes de Descripción de Hardware • Netlist: conjunto de

FIN UIS - Sistemas Digitales