El objetivo de este libro no es únicamente el de presentar el lenguaje y su sintaxis, sino también el de introducir la metodología de trabajo inherente al lenguaje, ya que se trata del flujo de diseño actual de circuitos digitales. Además, se centra en las dos grandes áreas de aplicación del VHDL: la simulación y la síntesis automática de circuitos. Se compone de 12 capítulos y 3 apéndices, donde se incluyen los temas siguientes:
-Metodología y posibilidades en la descripción del diseño electrónico.
Lenguajes de descripción hardware.
-Introducción y sintaxis del lenguaje.
-Estilos de descripción: estructural, flujo de datos y algorítmica.
-Bibliotecas, Paquetes y Unidades. Conceptos avanzados.
-Simulación y modelado.
-Síntesis automática de circuitos.
-VHDL en la práctica. Ejemplos y ejercicios resueltos.
-VHDL y herramientas de CAD.
La estructura y contenido de esta obra están basados en varios años de experiencia en la enseñanza del VHDL y diseño digital, por lo que el principal objetivo perseguido por los autores es su carácter didáctico y pedagógico, sin olvidar que también va dirigido a los ingenieros que actualmente empiezan a incorporar estas técnicas de diseño a su entorno laboral. En esta segunda edición se han añadido nuevos elementos del lenguaje y ejemplos, y se han actualizado los contenidos incorporando los últimos avances en dispositivos de lógica programable.
Contiene un CD-ROM que incluye los ejemplos del libro, software de simulación VHDL, y las últimas herramientas para la síntesis de circuitos de Altera®, para su utilización se requiere un ordenador con sistema operativo MS Windows.
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 estmctural
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 asincronas
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 Elpin-ball
12.3 Ejercicios propuestos
APÉNDICE A. TUTORIAL Y HERRAMIENTAS PARA VHDL
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
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