1. VHDL es un lenguaje de especificación definido por el IEEE utilizado para describir circuitos digitales y para la automatización de diseño electrónico.
1.1. Multiplexores
1.2. Comparadores
2. Descripciones comportamentales
2.1. Secuenciales
2.2. Procesos
3. Descripciones Estructurales
3.1. Son utiles cuando se tratan de diseños jerarquicos
3.1.1. Componentes
3.1.1.1. Representa una entidad declarada en un diseño o libreria
3.1.1.1.1. La declaracion se hace dentro de los paquetes
4. Sentencias de generación
4.1. Permiten crear copias de una o mas conexiones
4.2. Facilita el diseño de comportamientos estructurales
4.2.1. FOR GENERATE
5. Subprogramas
5.1. Procedimientos
5.2. Funciones
5.3. Llamado a subprogramas
5.4. Sobrecargas de operaciones
6. Librerías
6.1. Coleccion de unidades de diseño previamente analizadas
6.1.1. LIBRARY identificador libreria;
6.1.1.1. Sintesis en WARP
6.1.1.2. Paquetes
7. Estructura basica de un programa VHDL
7.1. ENTITY
7.1.1. Descripción de puerto.
7.1.1.1. Identificador:Debe iniciar con letra
7.1.1.1.1. conjunto de caracteres con el cual podemos representar diferentes elementos
7.1.1.2. Modo
7.1.1.2.1. In: Entrada
7.1.1.2.2. Out:Salida
7.1.1.3. Tipo de dato
7.1.1.3.1. bit
7.1.1.3.2. bit_vector
7.1.1.3.3. std_logic
7.1.1.3.4. std_logic_vector
7.2. ARCHITECTURE
7.2.1. Como será realizado o implementado.
7.3. Comentario
7.3.1. Comienza con dos guiones consecutivos
8. Objetos de datos
8.1. Es un elemento que toma un valor de algun tipo de dato determinado.
8.1.1. constantes
8.1.1.1. puede tomar un unico valor de un tipo dado
8.1.1.1.1. CONSTANT identificador : tipo [:=valor];
8.1.1.2. Se asigna en el momento de declaración
8.1.1.2.1. No se puede cambiar,una vez asignado
8.1.1.2.2. Se puede declarar en:
8.1.2. variables
8.1.2.1. Se diferencian en que su valor SÍ puede ser modificado
8.1.2.1.1. VARIABLE identificador : tipo [:=valor] ;
8.1.2.2. Se utilizan solo en:
8.1.2.2.1. procesos
8.1.2.2.2. Subprogramas
8.1.2.3. No son conexiones o estados de memoria.
8.1.3. Señales
8.1.3.1. Estas son parecidas al objeto variable pero se diferencias con que estas pueden pasar/almacenar un valor logico
8.1.3.1.1. Se pueden declarar:
8.1.3.1.2. SIGNAL identificador : tipo [:=valor];
8.1.3.2. Son:
8.1.3.2.1. Elementos de memoria
8.1.3.2.2. Conexiones
9. ALIAS
9.1. Permite que utilizemos un identificador diferente para hacer referencia a un tipo de datoso parte de el
9.2. Permite manejar parte del objeto de datos
9.3. Al modificarlo se modifica el objeto de datos al que se asocia
9.4. Declaración:
9.4.1. ALIAS identif: tipo IS identif2 <rango>;
10. OPERADORES
10.1. Permite construir diferentes tipos de expresiones mediante las cuales se pueden calcular datos.
10.2. TIPOS DE OPERADORES:
10.2.1. LÓGICOS
10.2.2. ADICIÓN
10.2.3. COMPARACIÓN
10.2.4. MULTIPLICACIÓN
10.2.5. MISCELANEOS
10.2.6. ASIGNACIÓN
10.2.7. ASOCIACIÓN
10.2.8. CORRIMIENTO
10.2.9. DE VECTORES
11. Tipos de datos
11.1. Especifica el tipo de valores que un objeto de dato puede tomar así como las operaciones que son permitidas
11.2. ESCALARES
11.2.1. Tienen orden especifico lo cual permite sean usados con diferentes operadores
11.2.1.1. ENTERO
11.2.1.2. REAL
11.2.1.3. BOOLEAN
11.2.1.4. BIT
11.2.1.5. CHARACTER
11.2.1.6. STD_LOGIC
11.2.1.7. FISICOS
11.2.1.8. ENUMERADOS
11.2.1.8.1. Con posibles valores asignados por el usuario
11.3. COMPUESTOS
11.3.1. Esta formado por elementos de otro tipos
11.3.1.1. Declaracion TIPO ARRAY
11.3.1.2. Declaración TIPO RECORD
11.3.1.3. Arrays restringidos
11.3.1.4. arrays indefinidos
11.3.1.5. BIT_VECTOR
11.3.1.6. STD_LOGIC_VECTOR
11.3.1.7. SIGNED & UNSIGNED
11.4. SUBTIPOS
11.4.1. Es un subgrupo de un tipo predefinido
11.4.1.1. SUBTYPE identif : tipobase RANGE <rango>;
11.5. TIPOS PREDEFINIDOS
11.5.1. paquetes que se ocupan
11.5.1.1. STANDAR
11.5.1.2. TEXTIO
12. ATRIBUTOS
12.1. Es una propiedad asociada a:
12.1.1. entidades
12.1.2. arquitecturas
12.1.3. señales
12.1.3.1. 'left
12.1.3.2. 'rigth
12.1.3.3. 'higth
12.1.3.4. 'low
12.1.3.5. 'length
13. ENTIDAD
13.1. Es una abstraccion de un circuito
13.1.1. Describe la forma externa del circuito
13.2. GENERICOS
13.2.1. Es opcional y es para declarar propiedades y constantes del circuito
13.3. PUERTOS
13.4. MODOS
13.4.1. in
13.4.2. out
13.4.3. inout
13.4.4. buffer