PROLOGO

CAPÍTULO 1. METODOLOGÍA DE DISEÑO

1.1 Concepto de herramientas CAD-EDA
1.2 Diseño Bottom-Up
1.3 Diseño Top-Down
    1.3.1 Ventajas del diseño Top-Down
1.4 Ingeniería concurrente

CAPÍTULO 2. DESCRIPCIÓN DEL DISEÑO

2.1 Captura de esquemas
2.2 Generación de símbolos
2.3 Diseño modular
2.4 Diseño jerárquico
2.5 El Netlist
    2.5.1 El formato EDIF
    2.5.2 Otros formatos de Netlist
    2.5.3 Ejemplo de diferentes Netlist

CAPÍTULO 3. INTRODUCCIÓN AL LENGUAJE VHDL

3.1 El lenguaje VHDL
3.1.1 VHDL describe estructura y comportamiento
3.2 Ejemplo básico y estilos de descripción en VHDL
    3.2.1 Descripción algorítmica
    3.2.2 Descripción flujo de datos
    3.2.3 Descripción estructural
3.3 VHDL'87 y VHDL'93

CAPÍTULO 4. ELEMENTOS SINTÁCTICOS DEL VHDL

4.1 Operadores y expresiones
    4.1.1 Operador de concatenación
    4.1.2 Operadores aritméticos
    4.1.3 Operadores de desplazamiento
    4.1.4 Operadores relaciónales
    4.1.5 Operadores lógicos
    4.1.6 Precedencia de operadores
4.2 Tipos de datos
    4.2.1 Tipos escalares
    4.2.2 Tipos compuestos
    4.2.3 Subtipos de datos
    4.2.4 Cualificación de tipos
    4.2.5 Conversión de tipos
4.3 Atributos
    4.3.1 Atributos definidos por el usuario
4.4 Declaración de constantes, variables y señales
    4.4.1 Constantes
    4.4.2 Variables
    4.4.3 Señales
    4.4.4 Comparación entre constantes, señales y variables .
4.5 Declaración de entidad y arquitectura
    4.5.1 Declaración de entidad
    4.5.2 Declaración de arquitectura

CAPÍTULO 5. DESCRIPCIÓN FLUJO DE DATOS

5.1 Ejecución concurrente y ejecución serie
5.2 Descripción concurrente flujo de datos
5.3 Estructuras de la ejecución flujo de datos
    5.3.1 Asignación condicional: WHEN .. ELSE
    5.3.2 Asignación con selección: WITH. .SELECT. .WHEN . .
    5.3.3 Bloque concurrente: BLOCK
5.4 Ejemplos de descripción flujo de datos

CAPÍTULO 6. DESCRIPCIÓN COMPORTAMENTAL ALGORÍTMICA

6.1 Diferencias entre variable y señal
6.2 Estructuras de la ejecución serie
    6.2.1 El bloque de ejecución serie: PROCESS
    6.2.2 Sentencia de espera: WAIT
    6.2.3 Sentencia condicional: i F. .THEN. .ELSE .
    6.2.4 Sentencia de selección: CASE
    6.2.5 Bucles: LOOP, FOR y WHILE
6.3 Ejemplos de ejecución serie
    6.3.1 Descripción de cerrojos o latches
    6.3.2 Descripción de registros

CAPÍTULO 7. DESCRIPCIÓN ESTRUCTURAL

7.1 Componentes, referencia y enlace
    7.1.1 Definición de componentes
    7.1.2 Referencia de componentes
    7.1.3 Enlace entre componentes y entidades. Sentencia FOR
    7.1.4 Repetición de estructuras: GENÉRATE
7.2 La unidad de configuración
    7.2.1 Ejemplo

CAPÍTULO 8. PONIENDO ORDEN: SUBPROGRAMAS, PAQUETES Y BIBLIOTECAS

8.1 Subprogramas
    8.1.1 Declaración de procedimientos y funciones
    8.1.2 Llamadas a subprogramas
    8.1.3 Sobrecarga de operadores
8.2 Paquetes
    8.2.1 Definición de paquetes: PACKAGE y PACKAGE BODY .
8.3 Bibliotecas y unidades

CAPÍTULO 9. CONCEPTOS AVANZADOS EN VHDL

9.1 Buses y resolución de señales
9.2 Punteros en VHDL
9.3 Ficheros
    9.3.1 Abrir y cerrar ficheros
    9.3.2 Lectura y escritura de ficheros
    9.3.3 Ficheros de texto y entrada/salida estándar

CAPÍTULO 10. VHDL PARA SIMULACIÓN

10.1 Asignación con retrasos
    10.1.1 Sintaxis completa de la asignación
    10.1.2 Especificación de retrasos
    10.1.3 Retrasos inerciales y transportados
    10.1.4 Simulación guiada por eventos
    10.1.5 Avance de tiempo por incremento fijo
    10.1.6 Ejemplo de modelado de un registro
10.2 Niveles lógicos para simulación
10.3 Notificación de sucesos
10.4 Procesos pasivos
10.5 Descripción de un banco de pruebas
    10.5.1 Método tabular
    10.5.2 Utilización de ficheros con vectores de test
    10.5.3 Metodología algorítmica

CAPÍTULO 11. VHDL PARA SÍNTESIS

11.1 Restricciones y consejos en la descripción
11.2 Construcciones básicas
    11.2.1 Descripción de lógica combinacional
    11.2.2 Descripción de lógica secuencial
11.3 Descripción de máquinas de estados
    11.3.1 Máquinas asíncronas
11.3.2 Máquinas síncronas
11.4 Lógica programable
    11.4.1 Tecnologías de programación
    11.4.2 PALs, PLDs y FPGAs clásicas
11.4.3 Arquitecturas híbridas (CPLDs avanzadas)
11.4.4 Mega-estructuras

CAPÍTULO 12. UTILIZACIÓN DEL LENGUAJE VHDL

12.1 Errores más comunes al utilizar VHDL .
12.2 Ejemplos para simulación y síntesis
    12.2.1 El botón
    12.2.2 Los semáforos
    12.2.3 El ascensor
    12.2.4 La memoria ROM
    12.2.5 El microprocesador
    12.2.6 La lavadora
    12.2.7 El concurso
    12.2.8 El pin-ball
12.3 Ejercicios propuestos

APÉNDICE A. TUTORIAL Y HERRAMIENTAS PARA VHDL . 215

A.l Instalación de MAX+PLUS II
A.2 Tutorial de un diseño para síntesis
    A.2.1 Descripción del diseño
    A.2.2 Compilación
    A.2.3 Simulación
A.3 Instalación y tutorial del simulador de VHDL VeriBest
    A.3.1 Instalación
    A.3.2 Tutorial básico para modelado

APÉNDICE B. VHDL Y HERRAMIENTAS EN INTERNET

APÉNDICE C. NOTACIÓN BNF DEL VHDL'93

C.l Notación BNF
C.2 VHDL'93

BIBLIOGRAFÍA .

ÍNDICE ALFABÉTICO