Upload
buikhanh
View
220
Download
0
Embed Size (px)
Citation preview
Introducción a Verilog
Por:
Carlos A. Fajardo
UIS - Sistemas Digitales Actualizado 29/03/2017
Verilog + FPGAs
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
UIS - Sistemas Digitales
A
B F
Hola_mundo
Comentarios en Verilog
UIS - Sistemas Digitales
• Los comentarios son ignorados por el compilador.
• Para una sola línea se usa //
Comentarios en Verilog
UIS - Sistemas Digitales
• Para varias líneas se usa /* bla bla bla */
Verilog Hola Mundo
UIS - Sistemas Digitales
Este es un comentario
Nombre del módulo
Entradas y salida
Diseño, funcionamiento
del módulo.
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
UIS - Sistemas Digitales
Entradas a la derecha
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)
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.
Archivo de simulación
UIS - Sistemas Digitales
A
B F
Combinacional_1
C
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?
UIS - Sistemas Digitales 26
FPGA PROTOTYPING BY VERILOG EXAMPLES
Chapter 1
Author: Pong P. Chu.
FIN UIS - Sistemas Digitales