v h d l
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 .