Introducción a VHDL - Sistemas Digitales...

41
Introducción a VHDL Por: Carlos A. Fajardo [email protected] UIS - Sistemas Digitales

Transcript of Introducción a VHDL - Sistemas Digitales...

Introducción a VHDL

Por:

Carlos A. Fajardo

[email protected]

UIS - Sistemas Digitales

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

VHDLVery High Speed Integrated Circuit HDL

Un diseño en VHDL está compuesto por:

• La Entidad (ENTITY): Define el símbolo del circuito, es decir, sus entradas y salidas.

• Arquitectura (ARCHITECTURE): Permite definir el funcionamiento del módulo.

UIS - Sistemas Digitales

LA ENTIDAD

UIS - Sistemas Digitales

Declaración de Entidades

Sumador de un bit

UIS - Sistemas Digitales

Nombre, modo y tipo

nombre modo tipo

UIS - Sistemas Digitales

Nombre

• Letras, números y guión bajo.

• El primer carácter debe ser una letra.

• El último carácter no puede ser un guión bajo.

• No pueden haber dos guiones bajos seguidos.

• No es sensible a mayúsculas y minúsculas (Salida1 = SALIDA1 = sALIDa1 = SaLiDa1 ).

UIS - Sistemas Digitales

Nombre

• entrada1

• sal#2

• prod_

• 7seg

• seg7

• salida__1

• mem_dir_1

UIS - Sistemas Digitales

Nombre

• entrada1

• sal#2

• prod_

• 7seg

• seg7

• salida__1

• mem_dir_1

UIS - Sistemas Digitales

Modo

(Los dos usados en este curso)• in :

– Señales de entrada

– NO se puede asignarles ningún valor dentro del programa.

• out :– Señales de salida.

– No pueden leerse, es decir, NO pueden ser usadas a la derecha en una asignacion.

UIS - Sistemas Digitales

Tipo–Bit: Toma los valores 0 y 1 lógicos

–Bit_vector: representa un vector de bits.

– STD_LOGIC : Standard Logic.

– STD_LOGIC_VECTOR : Standard LogicVector.

UIS - Sistemas Digitales

Tipo–Bit: Toma los valores 0 y 1 lógicos

–Bit_vector: representa un vector de bits.

– STD_LOGIC : Standard Logic.

– STD_LOGIC_VECTOR : Standard LogicVector.

UIS - Sistemas Digitales

Standard Logic

• ‘0’, (Forcing 0): Cero lógico• ‘1’, (Forcing 1): Uno lógico• ‘Z’, (Alta impedancia)• ‘-’ (Don’t care)• ‘X’,(Forcing Unknown)• ‘U’ (Uninitialized) Cuando no se asigna un valor

inicial.• ‘W’,(Weak Unknown)• ‘L’, (Weak 0)• ‘H’, ( Weak 1)

UIS - Sistemas Digitales

ENTIDAD DE UN SUMADOR

UIS - Sistemas Digitales

Declaración de Entidades

Sumador de cuatro bits

UIS - Sistemas Digitales

Librerías y paquetes

• Librerías:

–Colección de unidades de diseño (paquete) compiladas previamente para su posterior uso.

–Su función es agilizar el diseño

UIS - Sistemas Digitales

Arquitectura

• Determina el comportamiento del diseño.

• Se describe usando la sentencias propias del lenguaje VHDL.

UIS - Sistemas Digitales

HOLA MUNDO EN VHDL(COMPUERTA OR)

UIS - Sistemas Digitales

UIS - Sistemas Digitales

Librerías

UIS - Sistemas Digitales

Entidad

UIS - Sistemas Digitales

Arq

uite

ctu

ra

UIS - Sistemas Digitales

USO DE SEÑALES

UIS - Sistemas Digitales

El uso de señales (signals)

a

bf= (a or b) and b

UIS - Sistemas Digitales

Encuentre el error

ab

f

UIS - Sistemas Digitales

salida_aux

Encuentre el error

UIS - Sistemas Digitales

bf

salida_aux

Encuentre el error

UIS - Sistemas Digitales

bf

salida_aux

Solución: uso de señales (signals)

bf

auxiliar1

Solución: uso de señales (signals)

ab

f

auxiliar1

Circuitos Combinacionales en VHDL

• Circuito combinacional: su salida es sólo función de la entrada.

• Tres sentencias básicas de asignación concurrente:

– Sentencia de asignación simple (<=)

– Sentencia de selección de señal (with select)

– Sentencia de asignación condicional (when else)

UIS - Sistemas Digitales

Circuitos Combinacionales en VHDL

• Circuito combinacional: su salida es sólo función de la entrada.

• Tres sentencias básicas de asignación concurrente:

– Sentencia de asignación simple (<=)

– Sentencia de selección de señal (with select)

– Sentencia de asignación condicional (when else)

UIS - Sistemas Digitales

Asignación Simple

salida <= entrada1;

UIS - Sistemas Digitales

Sentencia de selección de señal (with select)

Sintaxis:

with variable_seleccion select

salida <= valor1 when valor_variable1,

valor2 when valor_variable2,

valor3 when others;

UIS - Sistemas Digitales

Ejemplo 1: Tabla de verdad

A1 A0 F

0 0 1

0 1 0

1 0 1

1 1 1

UIS - Sistemas Digitales

Ejemplo 1: Tabla de verdad

A1 A0 F

0 0 1

0 1 0

1 0 1

1 1 1

UIS - Sistemas Digitales

Implementación mediante with - select

UIS - Sistemas Digitales

A1 A0 F

0 0 1

0 1 0

1 0 1

1 1 1

1

0

1

1

A

2

F

Ejemplo 2: ALU

UIS - Sistemas Digitales

Síntesis de la ALU (with – select)

UIS - Sistemas Digitales

¿Dónde puedo aprender más?

UIS - Sistemas Digitales

RTL Hardware Design Using VHDL:

Coding for Efficiency, Portability, and

Scalability.

Autor: Pong P. Chu.

39

“Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo.”

Benjamin Franklin

UIS - Sistemas Digitales

FINUIS - Sistemas Digitales