v h d l

102
 Ing. Julio Gonzalez Prado V H D L SOFTWARE PARA DISEÑO DE CIRCUITOS INTEGRADOS

Upload: jose-requena

Post on 06-Jul-2015

204 views

Category:

Documents


0 download

TRANSCRIPT

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 1/102

 

Ing. Julio Gonzalez Prado

V H D L

SOFTWARE PARA

DISEÑO DE CIRCUITOSINTEGRADOS

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 2/102

 

Ing. Julio Gonzalez Prado

V H D L:

V HSIC

H

 ARDWARED ESCRIPTION

L ANGUAGE

(LENGUAJE DE DESCRIPCION DE

HARDWARE VHSIC)

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 3/102

 

Ing. Julio Gonzalez Prado

VHSIC:

V ERY

H IGH

S PEED

I NTEGRATED

C IRCUITS

(CIRCUITOS INTEGRADOS DE MUY ALTAVELOCIDAD)

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 4/102

 

Ing. Julio Gonzalez Prado

Por lo tanto, el lenguaje VHDL es un lenguajeque se usa para describir el hardware decircuito integrados con aplicaciones en alta

velocidad.

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 5/102

 

Ing. Julio Gonzalez Prado

Es un lenguaje que tiene elementos del C++y el Pascal que se emplea básicamente pararealizar implementación de circuitos de alta

velocidad. Por lo tanto, si el C++ y el Pascal tienen

aplicaciones para diferentes aspectos, elVHDL se centra en aplicaciones deimplementación circuital.

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 6/102

 

Ing. Julio Gonzalez Prado

ORIGENES

El VHDL nació en el año 1981 cuando elDepartamento de Defensa de los EstadosUnidos genera un proyecto denominado

VHSIC para generar circuito integrados dealta velocidad.

El VHDL se desarrolla para estandarizar losprocesos de diseño y optimizar el manejo dela información que se genera.

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 7/102

Ing. Julio Gonzalez Prado

ORIGENES

En 1983, IBM, Texas Instruments eIntermetrics desarrollan el lenguaje VHDL

La IEEE lo propuso como su estandar en1984, y en 1987 lo adoptó como su lenguajeHDL (mediante el estándar std 1076 ± 1987)

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 8/102

Ing. Julio Gonzalez Prado

ORIGENES

Como esta versión demostró algunascarencias relacionadas con la síntesis decircuitos, debido principalmente a la

evolución de las herramientas de diseño queusaban el VHDL y la rápida evolución de lastecnologías para implementación de losCircuitos Integrados, se planteó una segundaversión en 1993 (que es la vigente) ,mediante el estándar IEEE std 1076-1993,conocido como VHDL¶93.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 9/102

Ing. Julio Gonzalez Prado

ORIGENES

En esencia la versión de 1987 es unsubconjunto de la versión de 1993, de modoque cualquier programa de la versión antigua

puede ser procesada por la versión masreciente.

Una excepción de esta norma es lorelacionado con la declaración y el uso deficheros.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 10/102

Ing. Julio Gonzalez Prado

AMBIENTE DE DESARROLLO

El diseño con lenguaje VHDL se basa en elconcepto de DISEÑO CON HERRAMIENTASCAD ± EDA.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 11/102

Ing. Julio Gonzalez Prado

AMBIENTE DE DESARROLLO

El proceso CAD (Computer Aided Design),diseño asistido por computador es unproceso de diseño que emplea técnicas

graficas de computadora apoyadas enpaquetes de software para ayudar a losdiseñadores.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 12/102

Ing. Julio Gonzalez Prado

AMBIENTE DE DESARROLLO

La aplicación de las herramientas CAD en eldiseño de circuitos y sistemas electrónicos esfundamental ya que permite la adición de

interfases graficas y simuladores.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 13/102

Ing. Julio Gonzalez Prado

ESCALAS DE INTEGR ACION

Los procesos de integración implican lacontinua reducción del tamaño de loscomponentes, así como el incremento del

numero de compuertas en cada integrado.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 14/102

Ing. Julio Gonzalez Prado

ESCALAS DE INTEGR ACION

SSI (Small Scale Integrated): menos de 10compuertas por integrado.

MSI (Medium Scale Integrated): entre 10 y 99

compuertas por integrado. LSI (Large Scale Integrated): entre 100 y

9999 compuertas por integrado. VLSI (Very Large Scale Integrated): entre

10000 y 99999 compuertas. ULSI (Ultra Large Scale Integrated): 100000

compuertas ó mas.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 15/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DE LA 

INTEGR ACION

Mayor numero de dispositivos por IC.

Menor numero de componentes/sistemas.

Mayor velocidad de calculo.

Menor consumo.

Mayor esfuerzo en diseño.

Mayor costo de fabricación.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 16/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

Es un lenguaje concurrente aunque permitedefinir dominios en los cuales las accionesson del tipo secuencial.

Permite diseños modulares y jerárquicos, esútil para emplear con la metodología ³TopDown´.

Permite simular el diseño y generar formasde onda.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 17/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

Es un lenguaje que debe ser compilado antesde ser simulado.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 18/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

Soporta distintos niveles de descripción:

FUNCIONAL: modelamiento en alto nivel.

ESTRUCTURAL: la descripción se realizamediante interconexión de componentes.

FISICO: se realiza la implementación real delcircuito.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 19/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

A partir del modelo se puede sintetizar elHardware a nivel de compuertas conherramientas de síntesis:

  ALTERA : Max + Plus IICADENCE : Synergy

CYPRESS : Warp II, III

MENTOR GRAPHICS : AutologicSYNOPSYS : Design Compiler 

VIEWLOGIC : ViewSynthesis

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 20/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

VHDL no distingue las mayúsculas de lasminúsculas: CASA, casa son iguales.

Las variables deben empezar con una letra,

no deben contener ni espacios ni símboloscomo &, %, $, #, ¡. Su longitud no estalimitada. No pueden terminar en _ ó _ _ 

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 21/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

OBJETO: es un elemento que tiene asignadoun valor de un tipo determinado.

Según sea el tipo de dato, el objeto poseerá

un conjunto de propiedades y se le podráaplicar un conjunto de operaciones.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 22/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

IDENTIFICADORES: Son un conjunto decaracteres dispuestos de una formaadecuada y siguiendo unas normas propias

del lenguaje, para dar un nombre a loselementos en VHDL.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 23/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

Los identificadores deben empezar con uncarácter alfabético, no pudiendo terminar en _ 

No esta fijada la extensión del identificador,pero no debe ser extremadamente larga. Los identificadores pueden tener caracteres

numéricos (0 al 9) pero estos no deben

aparecer en el principio. No puede usarse como identificador una

PALABRA RESERVADA.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 24/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

PALABRAS RESERVADAS: Son un conjuntode identificadores que tienen un significadoespecifico en VHDL.

Son palabras empleadas dentro del lenguajepara realizar un diseño.

No pueden ser empleadas comoidentificadores definidos por el usuario.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 25/102

Ing. Julio Gonzalez Prado

PALABR AS RESER VADAS

abs acces after alias all

and architecture array asser attribute

begin block body buffer bus

case component configuration constant downto

else disconnect elsif end entity

exit function generate file for  generic guarded inout if in

is label library linkage loop

map mod nand new next 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 26/102

Ing. Julio Gonzalez Prado

PALABR AS RESER VADAS

nor not null of on

open or others out package

port procedure process range record

register rem report Return select

severity signal subtype then to

transport type units until use

variable walt when while with

xor  

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 27/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

SIMBOLOS ESPECIALES: Son símbolos quese usan para representar funcionesdiferentes y especificas.

Los símbolos especiales son:+ - / ( ) . , : ; & µ < > = | # <= => := _ _ 

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 28/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

NUMEROS: Se considera que cualquier numero se encuentra en base 10.

Se admite notación científica para números

en coma flotante. Para números en otras bases:

2#11000100# 16#C4#

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 29/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

TIPO DE DATOS: Delimita los valores quepuede tener un objeto y las operaciones quese pueden realizar con él.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 30/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

TIPOS ESCALARES: Son tipos quecontienen algún tipo de magnitud.

Pueden ser: Enteros, Reales, Físicos y

Enumerados.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 31/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

ENTEROS: Son datos cuyo contenidoconstituye un valor numérico entero.

Se definen por la palabra reservada range

que indica que esta comprendido entre uncierto intervalo especificando sus limites.

Ejemplo: type byte is range 0 to 255;

type index is range 7 downt o 0;type integer  is range -2147483648 t o

2147483647;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 32/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

REALES: Son los que define un numero real.

type nivel is range 0.0 t o 5.0;

type real is range -1,0E38 t o 1,0E38;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 33/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

FISICOS: Son datos que se correspondencon magnitudes físicas, es decir, tienen valor y unidades.

type long is range 0 t o 1,0e9

uni t s

um;

mm=1000um;m=1000mm;

end units;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 34/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

ENUMERADOS: Son datos que puedentomar cualquier valor especificado en unconjunto finito ó lista.

Este conjunto se indica mediante una listaencerrada entre paréntesis de elementosseparados por comas.

type nivel _ lógico is (alto,bajo,Z);

type bit is (µ0¶, µ1¶);

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 35/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

TIPOS COMPUESTOS

MATRICES: Son una colección de elementosdel mismo tipo a los que se accede mediante

un índice. Pueden ser de una dimensión ó de varias

dimensiones.

Pueden estar definidas para un rango ó elíndice puede ser libre teniendo la matriz unadimensión teórica infinita.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 36/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

MATRICES: EJEMPLOS

type palab is array (31 downt o 0) of bit;

type transform is array (1 t o 4, 1 t o 4) of real;

type bit_vector is array ( natural range <>) of 

bit;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 37/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

REGISTROS: Es el equivalente al tiporegistro de otros lenguajes.

type alumno is

record 

nombre: st ring;

curso: int eger;

end record;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 38/102

Ing. Julio Gonzalez Prado

CAR ACTERISTICAS DEL VHDL

ATRIBUTOS: Son condiciones ócaracterísticas que pueden tomar las señalesó variables.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 39/102

Ing. Julio Gonzalez Prado

ATRIBUTOS

Suponiendo que ³t´ es un tipo enumerado,entero, flotante ó fisico se tienen:

t¶l ef t  : limite izquierdo del tipo ³t´

t¶ right  : limite derecho del tipo ³t´ t¶l ow : limite inferior del tipo ³t´

t¶ high: limite superior del tipo ³t´

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 40/102

Ing. Julio Gonzalez Prado

ATRIBUTOS

Suponiendo un tipo ³t´, un miembro ³x´ de este tipo yun entero ³N´ :

t¶pos(x): posicion ³x´ dentro del tipo ³t´

t¶v al (N): elemento (N) del tipo ³t´

t¶l ef t of(x): elemento que esta a la izquierda de ³x´ en³t´

t¶ right of(x): elemento que esta a la derecha de ³x´ en

³t´ t¶pred(x): elemento que esta delante de ³x´ en ³t´.

t¶ succ(x): elemento que esta detrás de ³x´ en ³t´

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 41/102

Ing. Julio Gonzalez Prado

ATRIBUTOS

Si ³a´ es un tipo matriz, ³n´ elemento de este,³N´ numero entero desde 1 hasta el numerode dimensiones de la matriz:

a¶l ef t (N): limite izquierdo del rango dedimension N de a.

a¶ right (N):limite derecho del rango dedimension N de a.

a¶l ow(N): limite inferior del rango dedimension N de a.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 42/102

Ing. Julio Gonzalez Prado

ATRIBUTOS

a¶ high(N): limite superior del rango dedimension N de a.

a¶ range(N): Rango del indice de dimension N

de a. a¶l eng t h(N): Longitud del indice de dimension

N de a.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 43/102

Ing. Julio Gonzalez Prado

ATRIBUTOS

Suponiendo que ³s´ es una señal:

s¶ ev ent : Devuelve ³V´ si se ha producido uncambio en la señal ³s´.

s¶ st abl e ( t iem po): Devuelve V se la señalestuvo estable durante el ultimo periodo de³tiempo´.

El atributo s¶ ev ent  es util en la definicion delcircuitos secuenciales para detectar el flancode subida o bajada de la señal de reloj.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 44/102

Ing. Julio Gonzalez Prado

TER MINOLOGIA 

ACCIONES CON CURR ENTES: son aquellasque se realizan en forma simultanea en uncircuito. Un ejemplo son los circuitoscombinacionales.

ACCIONES SE  CU EN CIALES: son aquellasque se realizan siguiendo una secuencia ó unorden determinado, no todas en formasimultanea. Un ejemplo de ellas son losprocesos que se describen las sentencias deun programa: CASE, IF-ELSE, DO-WHILE,FOR.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 45/102

Ing. Julio Gonzalez Prado

TER MINOLOGIA

P ROC ES O ( P ROC ESS): son los dominiosque emplea el VHDL para emplear accionesde tipo secuencial.

La asignacion de eventos secuencialesdentro de una estructura concurrente seejecutará de forma concurrente, es decir, almismo tiempo que las demás sentencias.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 46/102

Ing. Julio Gonzalez Prado

SINTAXIS

MODO: Describe la dirección en la cual lainformación es transmitida a través delpuerto.

Puede ser: Modo INModo OUT

Modo BUFFER

Modo INOUT

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 47/102

Ing. Julio Gonzalez Prado

SINTAXIS

MODO IN: Es cuando por el puerto lainformación solo puede entrar a la entidad.

Se usa generalmente en relojes, entradas de

control (load, reset, enable) y datos deentrada unidireccionales.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 48/102

Ing. Julio Gonzalez Prado

SINTAXIS

MODO OUT: Es cuando la información en elpuerto fluye hacia fuera de la entidad.

Este modo no permite realimentación, es

decir, el compilador no puede leer este dato.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 49/102

Ing. Julio Gonzalez Prado

SINTAXIS

MODO BUFER: Es usado para unarealimentación interna (se usa como un driver dentro de la entidad)

Es similar al MODO OUT pero permiterealimentación.

No es un puerto BIDIRECCIONAL y solopuede ser conectado directamente a unaseñal interna ó a un puerto de modo buffer deotra entidad.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 50/102

Ing. Julio Gonzalez Prado

SINTAXIS

MODO INOUT: Es usado para señalesbidireccionales.

Permite realimentación interna.

Puede reemplazar a cualquiera de los modosanteriores.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 51/102

Ing. Julio Gonzalez Prado

SINTAXIS

TIPO: Son las diferentes clases de valoresque puede tomar la señal.

Pueden haber tantos tipos como se quiera,

ya que en VHDL se pueden definir por elusuario. También existen los tipos de forma estándar 

y los creados por librerías normalizadas.

La norma internacional IEEE 1076/93 define4 tipos nativos: BOOLEAN, BIT,BIT_VECTOR, INTEGER.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 52/102

Ing. Julio Gonzalez Prado

SINTAXIS

TIPO BOOLEAN: Pueden tomar valoresVERDADERO (TRUE) ó FALSO (FALSE).

Un ejemplo son las salidas de los

comparadores. TIPO BIT: Pueden tomar valores 0 (LOW) ó

1(HIGH).

TIPO BIT_VECTOR: Es un vector de bits. TIPO INTEGER: Puede manejar números

enteros.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 53/102

Ing. Julio Gonzalez Prado

SINTAXIS

Posteriormente la norma IEEE 1164 amplió elámbito del bit definiendo un nuevo tipollamado std_logic, std_ulogic y sus derivados:

std_logic_vector, std_ulogic_vector.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 54/102

Ing. Julio Gonzalez Prado

SINTAXIS

ARCHIVOS DE CABECERA: Se colocan alinicio de la entidad y permiten al programacargar diversas librerías y archivos que

contienen tipos y definiciones que seránusadas por el programa.

l ibrar y  ieee;

use ieee.st d_l ogic_1164.all ;

use work.st d_ari t h.all ;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 55/102

Ing. Julio Gonzalez Prado

library ( biblioteca)

Es un lugar al que se tiene acceso parautilizar las unidades de diseñopredeterminadas por el fabricante

permitiendo agilizar el diseño. En VHDL existen dos bibliotecas: ieee y

work.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 56/102

Ing. Julio Gonzalez Prado

library ( biblioteca)

La biblioteca work  permite almacenar losprogramas que el usuario va generando.

Cuando el diseño utiliza algun paquete es

necesario llamar a la biblioteca que locontiene.

En el caso de work  no se necesita ladeclaracion l ibrar y  porque la carpeta siempreesta presente al desarrolar el diseño.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 57/102

Ing. Julio Gonzalez Prado

library ( biblioteca)

La biblioteca st d_l ogic_1164 contiene:

El paquete numeric_st d : define funcionespara realizar operaciones entre diferentes

tipos de datos que pueden representarse consigno y sin signo.

El paquete numeric_bi t : define tipos de datosbinarios con signo ó sin signo.

El paquete st d_ari t h: define funciones yoperadores aritmeticos tales como = > <

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 58/102

Ing. Julio Gonzalez Prado

SINTAXIS

El programa en VHDL esta formado de dospartes principales:

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 59/102

Ing. Julio Gonzalez Prado

SINTAXIS

ENTIDAD (ent i ty  ): Es la interfaz deldispositivo con el exterior.

Es decir, describe los puertos ( por t s) que son

las entradas y salidas del circuito.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 60/102

Ing. Julio Gonzalez Prado

SINTAXIS

Su estructura es:

ent i ty nomb_ent is

[generic ( l ist a de  paramet ros)] ;

 por t s( 

lista de puertos);

end nomb_ent;

 

EJEM O

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 61/102

Ing. Julio Gonzalez Prado

EJEMPLO: Entidad para un com parador  de igualdad de dos 

números de 4  bits.

a

b

COMP IGUAL

 

EJEMPLO

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 62/102

Ing. Julio Gonzalez Prado

EJEMPLO: Entidad para un com parador  de igualdad de dos 

números de 4  bits. ent i ty  comp is  por t ( 

a,b: in bi t  _v ec t or( 3 downt o 0);

igual: out bi t  );

end comp;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 63/102

Ing. Julio Gonzalez Prado

SINTAXIS

ARQUITECTURA (archi t ec t ure): describe lafuncionalidad del dispositivo, es decir lastransformaciones que se realizaran sobre los

datos que ingresan por los puertos paraproducir la salida.

Es decir describe el funcionamiento deldispositivo.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 64/102

Ing. Julio Gonzalez Prado

SINTAXIS

Su estructura es:

archi t ec t ure nomb_arch of nomb_ent is

[declaraciones]

begin

sentencias concurrentes;

end nomb_arch;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 65/102

Ing. Julio Gonzalez Prado

ESTILOS DE ARQUITECTUR A

Son las formas de descripción que se utilizandependiendo cada uno de su propio nivel deabstracción.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 66/102

Ing. Julio Gonzalez Prado

ESTILO BEHAVIOR AL

(COMPORTAMIENTO)

Este estilo se caracteriza por incluir sentencias y ordenes típicas de un lenguajede programación: when, do-while, if-then.

Como estas sentencias son de tiposecuencial se usan en el PROCESO( process).

No interesa la estructura interna deldispositivo.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 67/102

Ing. Julio Gonzalez Prado

ESTILO BEHAVIOR AL

archi t ec t ure ejem1of comp is

begin

 process( a,b)

beginif( a=b) t hen igual <= µ1¶;el se igual <= µ0¶;end if;

end  process;

end ejem1;

 

ESTILO DATAFLOW

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 68/102

Ing. Julio Gonzalez Prado

ESTILO DATAFLOW(FLUJO DE DATOS)

Describe como la información serátransmitida usando señales a través deldispositivo de modo que realice el trayecto

entre entrada y salida SIN USO DE ASIGNACIONES SECUENCIALES.

En este estilo no se pueden usar procesos.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 69/102

Ing. Julio Gonzalez Prado

DIAGR AMA CIRCUITAL

IGUAL

U4

B(3)

A(3)

B(2)

A(2)

B(1)

A(1)

B(0)

A(0)

U3

U2

U1

U0

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 70/102

Ing. Julio Gonzalez Prado

ESTILO DATAFLOW

archi t ec t ure ejem2 of comp is

begin

igual <= (a(0) xnor b(0))

and (a(1) xnor b(1))

and (a(2) xnor b(2))

and (a(3) xnor b(3));

end ejem2;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 71/102

Ing. Julio Gonzalez Prado

ESTILO STR UCTUR AL

(ESTR UCTUR AL)

Describe detalladamente como se conectan yevalúan los componentes con señales.

Es el estilo mas difícil de usar ya que detalla

las conexiones y es una forma de descripcióncircuital del dispositivo.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 72/102

Ing. Julio Gonzalez Prado

ESTILO STR UCTUR AL

(ESTR UCTUR AL)

Su utilidad se presenta cuando se deseacrear una estructura grande y deseamosdescomponerla en partes para manejarlamejor y hacer una simulación de cada parte.

Suele requerir el uso de señales auxiliares,paquetes y librerías de accesorios se debendeclarar al comienzo de la entidad.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 73/102

Ing. Julio Gonzalez Prado

ESTILO STR UCTUR AL

archi t ec t ure ejem3 of comp is

signal  x: bi t  _v ec t or( 0 t o 3);begin

u0: xnor2  por t ma p( a(0),b(0),x(0));u1: xnor2  por t ma p(a(1),b(1),x(1));u2: xnor2  por t ma p(a(2),b(2),x(2));u3: xnor2  por t ma p(a(3),b(3),x(3));

u4: and4  por t ma p(x(0),x(1),x(2),x(3),igual);end ejem3;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 74/102

Ing. Julio Gonzalez Prado

CONSTA NTES

Son elementos que se inicializan en undeterminado valor y que no puede ser cambiado una vez inicializado.

Ejemplos: const ant  pi: real  := 3.14;const ant  delay: t ime := 20 s;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 75/102

Ing. Julio Gonzalez Prado

VARIABLES

Son elementos cuyo valor puede ser asignado en cualquier instante y también conun valor inicial.

Ejemplos: v ariabl e alfa:nat ural := 1;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 76/102

Ing. Julio Gonzalez Prado

SEÑALES

Son elementos que se declaran igual que lasvariables y las constantes.

Se diferencian de las variables en que

guardan un valor y lo pueden hacer visible enel momento adecuado.

O sea puede como un elemento que tienedos partes: la parte donde se escribe el dato

y la parte donde se lee.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 77/102

Ing. Julio Gonzalez Prado

SEÑALES

Pueden ser de tres tipos:

N ORMAL: no se pueden desconectar;

BU S : tiene un valor por defecto cuando están

desconectadas; R EGI STE R : no tienen un valor por defecto

pero conservan el ultimo valor que seescribió.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 78/102

Ing. Julio Gonzalez Prado

SIGNIFICADO FISICO

Las VARIABLES son elementos abstractos,es decir, solo tiene significado para ellenguaje.

Las SEÑALES tienen significado físico:representan las conexiones entre elementosdel circuito.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 79/102

Ing. Julio Gonzalez Prado

DIFERENCIA 

La diferencia principal es que una asignacióna una variable se realiza en formaINMEDIATA, o sea toma el valor que se le

asigna en el momento de la asignación. En cambio una señal no recibe el valor que

se le ha asignado HASTA EL SIGUIENTEPASO DE SIMULACION.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 80/102

Ing. Julio Gonzalez Prado

SENTENCIA PROCESS

Es una instrucción típica de VHDL, se usa enel estilo BEHAVIORAL.

Es la forma que tiene el VHDL para incluir las

sentencias secuenciales. Para el compilador, todo el P ROC ESS  seconsidera solo un paso de simulación.

LISTA SENSIBLE: es la relación de las

señales que deben cambiar para que seejecute el process.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 81/102

Ing. Julio Gonzalez Prado

 PROCESS 

Sintaxis:

[etiqueta]  process (lista sensible)

[zona de declaración]

begin

sentencias secuenciales;

end  process [etiqueta];

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 82/102

Ing. Julio Gonzalez Prado

FOR MA 1:

 process (lista sensible)begin

sentencias secuenciales;

end  process;Se continua ejecutando el process mientras

alguna e las señales de la lista sensiblecontinúe cambiando.

 Al llegar a end  se suspende el proceso y serealiza la asignacion de señal.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 83/102

Ing. Julio Gonzalez Prado

FOR MA 2:

 process

begin

sentencias secuenciales;

wai t ;sentencias secuenciales;wai t ;

sentencias secuenciales;end  process;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 84/102

Ing. Julio Gonzalez Prado

FOR MA 2:

No tiene lista sensible.

Usa la palabra wai t .

Tiene la forma de lazo infinito.

El proceso se suspende cada vez que seencuentra un wai t , para realizar la asignacióna señal.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 85/102

Ing. Julio Gonzalez Prado

SENTENCIA WAIT

Suspende el proceso y realiza lasasignaciones respectivas a las señales.

Sintaxis:

wai t on (señales);wai t unt i l  (condición);

wai t  for (tiempo);

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 86/102

Ing. Julio Gonzalez Prado

SENTENCIA IF

Se usa con t hen ± el se ejecutar un conjuntode sentencias según la evaluación de unacondición ó conjunto de condiciones, cuyo

resultado puede ser verdadero ó falso.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 87/102

Ing. Julio Gonzalez Prado

SENTENCIA IF

Sintaxis:I f (condición) t hen

sentencia 1;

el sesentencia 2;

end if;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 88/102

Ing. Julio Gonzalez Prado

SENTENCIA IF

Si la condición es VERDADERA, se ejecutala sentencia 1.

Si la condición es FALSA, se ejecuta la

sentencia 2.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 89/102

Ing. Julio Gonzalez Prado

ELSIF

Es una extensión de la sentencia if-t hen quepermite incluir una segunda condición

Sintaxis:

I f (condicion1) t hen sentencia 1;el sif (condicion2) t hen sentencia 2;

el se sentencia 3;

end if;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 90/102

Ing. Julio Gonzalez Prado

ELSIF

Funcionamiento:Si condición 1 es verdadera, se ejecuta la

sentencia 1,

Si la condición 1 es falsa, se evalúa la condición2,

Si la condición 2 es verdadera, se ejecuta lasentencia 2,

Si la condición 2 es falsa, se ejecuta lasentencia 3.

 

ELSIF

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 91/102

Ing. Julio Gonzalez Prado

ELSIF(EJEMPLO)

 process (e,s)

begin

if (e = µ0¶) t hen c <= µ0¶;

el sif (s = µ0¶) t hen c <= a;el se c <= b;

end if;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 92/102

Ing. Julio Gonzalez Prado

SENTENCIA CASE

Es una sentencia que permite ejecutar unconjunto de opciones de acuerdo a la señalde selección.

Sintaxis:case (señal a evaluar) is

when (valor1) => accion_1;

when (valor2) => accion_2;when (valor n) => accion_n;

end case;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 93/102

Ing. Julio Gonzalez Prado

SENTENCIA CASE

Funcionamiento:

Si ³señal a evaluar´ toma ³valor 1´, se ejecuta³accion_1´, pasando luego el programa a la

linea siguiente de ³end´, continuando luego elprograma.

Si ³señal a evaluar´ toma ³valor 2´, se ejecuta³accion_2´ y así sucesivamente.

 

CASE

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 94/102

Ing. Julio Gonzalez Prado

CASE(EJEMPLO)

case control is

when ³00´ => d <= a;

when ³01´ => d <= b;

when ³10´ => d <= c;when ot hers => d <= µ0¶;

end case;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 95/102

Ing. Julio Gonzalez Prado

SENTENCIA LOOP

Se usa para ejecutar un grupo de sentenciasun numero determinado de veces.

Consiste en un ciclo for ó un ciclo whi l e.

La sentencia for  ejecuta un numeroespecifico de iteraciones basado en el valor de una variable.

La sentencia whi l e continuará ejecutandouna operación mientras una condición decontrol local sea cierta.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 96/102

Ing. Julio Gonzalez Prado

EJEMPLO 1

 process(a)

begin

ciclo1: for i in 7 downt o 0

l oo p

entrada(i) <= µ1¶

end l oo p;

end  process;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 97/102

Ing. Julio Gonzalez Prado

EJEMPLO 2

 process (a)

variable i: integer := 0;begin

ciclo2: whi l e i < 7 l oo pentrada (i) <= µ0¶;i = i + 1;

end l oo p;

end  process;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 98/102

Ing. Julio Gonzalez Prado

SENTENCIA EXIT

Se usa dentro del l oo p y permite salir del lazosi se alcanza una condición fijada por nosotros.

Su verdadera utilidad se encuentra si sediseña controladores de memoria.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 99/102

Ing. Julio Gonzalez Prado

EJEMPLO

 process (a)

begin

ciclo1:for i in 7 downt o 0 

l oo pif a¶l eng t h < i t hen exi t  ciclo1;entrada(i) <= µ0¶;

end if;

end l oo p;

end  process;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 100/102

Ing. Julio Gonzalez Prado

SENTENCIA  NEXT

Se encuentra también dentro de un ciclo l oo p

y sirve para saltarnos una ó más de lasejecuciones programadas.

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 101/102

Ing. Julio Gonzalez Prado

EJEMPLO

 process (a)

begin

ciclo1: for i in 7 downt o 0 

l oo pif i=4 t hen nex t ;

el se

entrada (i) <= µ1¶,

end if;end l oo p;

end  process;

 

5/8/2018 V H D L - slidepdf.com

http://slidepdf.com/reader/full/v-h-d-l 102/102

SENTENCIA  NULL

Se utiliza para que dada una condiciónespecial no pase nada, es decir, que ningunaseñal ó variable cambie y que el programa

siga su curso habitual. Su comportamientodentro de un l oo p es similar al de lasentencia nex t .