Citation preview

Tema 3 HDL Lenguajes de descripción de h d hardware Verilog

Contenidos del tema Proceso de diseño digital g mediante HDL: descripción, simulación y síntesis. Descripción usando Verilog: Niveles y metodología de descripción. Normas del lenguaje y tipos de datos datos. Descripción de circuitos combinacionales. Ejemplos. secuenciales Ejemplos. Ejemplos Descripción de circuitos secuenciales.

Descripción Verilog de un ejemplo de sistema digital. digital Unidad de datos y de control. 2

Proceso de diseño digital mediante HDL ¾ HDL: Hardware Description Languages • Lenguaje formal para diseño digital • Los dos d ‘estándares’ ‘ á d son: • VHDL • Verilog

¾ Bibliografía y referencias: •

Verilog-1995 Quick Reference Guide by Stuart Sutherland of Sutherland HDL, Inc., Portland, Oregon, USA http://www.sutherland-hdl.com/online_verilog_ref_guide/vlog_ref_top.html



Verilog Tutorial:

http://www asic world com/verilog/veritut html http://www.asic-world.com/verilog/veritut.html



Verilog HDL Quick Reference Guide (Verilog-2001 standard) http://sutherland-hdl.com/online_verilog_ref_guide/verilog_2001_ref_guide.pdf

3

Proceso de diseño digital mediante HDL ¾ Proceso de diseño mediante HDL: Simulación Generador de vectores de test

Descripción Ell circuito se describe d b en Verilog

Síntesis Compilación

Generador de macros Librería de p componentes Optimización

Netlists

Monitor

Mapeo

Implementación FPGA

ASIC

PAL 4

Contenidos del tema Proceso de diseño digital g mediante HDL: descripción, simulación y síntesis. Descripción usando Verilog. Niveles y metodología de descripción. Normas del lenguaje y tipos de datos datos. Descripción de circuitos combinacionales. Ejemplos. secuenciales Ejemplos. Ejemplos Descripción de circuitos secuenciales.

Descripción Verilog de un ejemplo de sistema digital. digital Unidad de datos y de control. 5

Niveles de descripción digital en Verilog Algorithm Level

RT Level

Gate Level

Lenguaje de procedimientos (behavior)

Lenguaje estructural

Switch Level 6

Metodologías de diseño Algorithm Level

Metodología

RT Level

Top-Down

Metodología d l í Bottom-Up

G t Level Gate L l

Switch Level 7

Module: Bloque básico en Verilog •

Diseño Verilog: Varios bloques interconectados



Estructura general de bloque: module module nombre(listapuertos); Declaraciones:

puertos; tipo de datos;

//Comentario (hasta fin de línea) /*Comentario hasta que se encuentre los siguientes caracteres*/ Tareas, operaciones, funciones; end module

Puertos: Entradas y salidas S d Se declaran l las propiedades de las señales y de las variables

Especificación del módulo: Funcional Estructural Procedimental

No olvidar ;

8

Ejemplo: Votador Votador o circuito Mayoría:

a b c

z

• Función: z = a·b + a·c + b·c • Procedimiento: z=1 si {a y (b o c) son 1}; también si (b y c) son 1 • Estructura: Expresión sp ⇒ 3 puertas AND y 1 OR module votador (input a, b, c, output Funcional z); assign z = (a&b)|(a&c)|(b&c); endmodule module votador (input a, b, c, output reg z); Estructural always @ (a,b,c); if (a==1) ( 1) module votador (input a, b, c, output if (b==1||c==1) z); z=1; wire out1, out2, out3; else z=0; and and1 (out1, a, b); else and and2 (out2, a, c); if (b==1&&c==1) Procedimental and and3 (out3, b, c); z=1; or or1(z, out1, out2, out3); else z=0; endmodule endmodule

9

Normas del lenguaje 1 •

Identificadores:



V l Valores lógicos: ló i 0, 0 1, 1 z/Z /Z (alta impedancia) , x/X /X (desconocido)



Números enteros: T’BV

Empiezan con letra 0 ) f1 = 1; ERROR f2 = 1; else f1 = 0;

if ( a > 0 ) begin f1 = 1; Correcto f2 = 1; end else f1 = 0;

31

Asignación de valores en always Bloqueante: vreg = valor

No bloqueante: vreg