Unidad Didáctica 2 - Departamento de Lenguajes y Sistemas ...
Introducción a Verilog - Sistemas Digitales...
Transcript of Introducción a Verilog - Sistemas Digitales...
![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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/1.jpg)
Introducción a Verilog
Por:
Carlos A. Fajardo
UIS - Sistemas Digitales Actualizado 29/03/2017
![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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/3.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/4.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/5.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/6.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/7.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/8.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/9.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/10.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/11.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/12.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/13.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/14.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/15.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/16.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/17.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/18.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/19.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/20.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/21.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/22.jpg)
¿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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/23.jpg)
¿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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/24.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/25.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/26.jpg)
¿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](https://reader031.fdocuments.in/reader031/viewer/2022022623/5bb60ce709d3f2b63a8e0568/html5/thumbnails/27.jpg)
FIN UIS - Sistemas Digitales