Introducción a Verilog Hola...

27
Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo [email protected] UIS - Sistemas Digitales Marzo 15 de 2018

Transcript of Introducción a Verilog Hola...

Page 1: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Introducción a Verilog Hola_Mundo

Por:

Carlos A. Fajardo

[email protected]

UIS - Sistemas Digitales Marzo 15 de 2018

Page 2: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Lenguajes de Descripción de Hardware

• Netlist:

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

– Kicad, Eagle, Proteus, etc.

• HDL:

– Describe un circuito NO por sus conexiones sino más bien por su funcionamiento.

UIS - Sistemas Digitales

Page 3: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

HOLA MUNDO DE VERILOG COMPUERTA AND

UIS - Sistemas Digitales

Page 4: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog Hola Mundo

Compuerta AND

Descripción en Verilog

UIS - Sistemas Digitales

A

B F

Hola_mundo

Page 5: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Comentarios en Verilog

UIS - Sistemas Digitales

• Los comentarios son ignorados por el compilador.

• Para una sola línea se usa //

Page 6: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Comentarios en Verilog

UIS - Sistemas Digitales

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

Page 7: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog Hola Mundo

UIS - Sistemas Digitales

Este es un comentario

Nombre del módulo

Entradas y salida

Diseño, funcionamiento

del módulo.

Page 8: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog - Hola Mundo

UIS - Sistemas Digitales

Page 9: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Asignación continua: assing

• Es la forma más sencilla de crear circuitos combinacionales.

assign y1 = a & b; // AND

assign y2 = a | b; // OR

assign y3 = a ^ b; // XOR

assign y4 = ~(a & b); // NAND

assign y5 = ~(a | b); // NOR

assign y6 = ~(a ^ b); // XNOR

UIS - Sistemas Digitales

Page 10: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog - Hola Mundo

UIS - Sistemas Digitales

Entradas a la derecha

UNICAMENTE

Page 11: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog - Hola Mundo

UIS - Sistemas Digitales Salidas a la izquierda

UNICAMENTE

Page 12: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

VIVADO 2017.4

UIS - Sistemas Digitales

Page 13: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

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 Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog es un lenguaje

concurrente

UIS - Sistemas Digitales

Page 15: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

El uso de señales (wirey reg)

UIS - Sistemas Digitales

a

b

f= (a or b) and b

Page 16: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

UIS - Sistemas Digitales

a

b f

• La declaración de la señal tipo wire (o reg) en la línea 8, NO es

obligatoria.

• Pero NO utilizarla puede generar errores de diseño.

El uso de señales (wirey reg)

Page 17: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

COMO HACER UNA SIMULACIÓN

UIS - Sistemas Digitales

Page 18: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Verilog - Hola Mundo

UIS - Sistemas Digitales

Page 19: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿Qué se hace en la simulación?

UIS - Sistemas Digitales

Proyecto de Simulación

Page 20: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿Qué se hace en la simulación?

UIS - Sistemas Digitales

Proyecto de Simulación

A

B

Initial (Estímulos)

F

Page 21: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿Qué se hace en la simulación?

UIS - Sistemas Digitales

F

Hola_mundo

Proyecto de Simulación

A

B

Initial (Estímulos)

F

Page 22: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿Qué se hace en la simulación?

UIS - Sistemas Digitales

F

Hola_mundo

Proyecto de Simulación

A

B

Initial (Estímulos)

reg A

F

reg B

wire F

Page 23: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿Qué se hace en la simulación?

UIS - Sistemas Digitales

F

Hola_mundo

Proyecto de Simulación

A

B

Initial (Estímulos)

reg A

F

reg B

wire F

Page 24: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

Archivo de simulación

UIS - Sistemas Digitales

Creación de las señales

wire y reg.

Instanciación del módulo

A simular.

Bloque initial para generar los

estímulos.

Page 25: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿D’onde puedo aprender más?

• Digital Design and Computer Architecture.

– Chapter 4.

• Autores: David Harris, Sarah L. Harris

UIS - Sistemas Digitales

Page 26: Introducción a Verilog Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

¿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 Hola Mundodigitalesuis.wdfiles.com/.../1_Introduccion_Verilog_Hola_Mundo_201… · Introducción a Verilog Hola_Mundo Por: Carlos A. Fajardo cafajar@uis.edu.co

FIN UIS - Sistemas Digitales