PARDO, FERNANDO y BOLUDA, JOSE A.
Datos técnicos
Los lenguajes de descripción hardware son los pilares sobre los que se asienta la fuerte evolución que el diseño electrónico digital ha venido sufriendo durante los últimos años, por lo que el VHDL ha emergido como estándar en la industria convirtiéndose en el más utilizado hoy en día.
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.
El presente manual se compone de 13 capítulos y 3 anexos, 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, herramientas de CAD y tutoriales.
- Evolución del lenguaje y el nuevo estándar VHDL 2008.
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 tercera edición se han añadido nuevos elementos del lenguaje y ejemplos para dar cobertura a los importantes cambios y mejoras introducidos en el estándar de VHDL 2008. También se han incorporado los últimos avances en dispositivos de lógica programable, pues sigue siendo un área de fuerte evolución y cambio.
El libro contiene material adicional que podrá descargarse accediendo a la ficha del libro en www.ra-ma.es. Este material incluye los ejemplos desarrollados en la obra, así como software de simulación VHDL, y enlaces a las herramientas de simulación y síntesis descritas en los tutoriales del libro.
PRÓLOGO
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 estructura
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 relacionales
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: IF..THEN..ELSE
6.2.4 Sentencia de selección: CASE y 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: GENERATE
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.1.4 Subprogramas con genéricos
8.2 PAQUETES
8.2.1 Definición de paquetes: PACKAGE y PACKAGE BODY
8.3 BIBLIOTECAS Y UNIDADES
8.3.1 Contextos
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. EVOLUCIÓN DEL VHDL
10.1 VHDL 2008
10.1.1 Mejoras en los genéricos
10.1.2 Operadores
10.1.3 Sentencias nuevas y mejoradas
10.1.4 Cambios en los tipos del sistema
10.1.5 Mejoras en el modelado
10.1.6 Mejoras en la entrada y salida
10.1.7 Cambios y mejoras en los paquetes estándar
10.1.8 Otros cambios importantes
10.1.9 Otros cambios menores
10.2 VHDL 2002 Y VHDL 2000
10.3 VHDL’93 Y VHDL’87
CAPÍTULO 11. VHDL PARA SIMULACIÓN
11.1 ASIGNACIÓN CON RETRASOS
11.1.1 Sintaxis completa de la asignación
11.1.2 Especificación de retrasos
11.1.3 Retrasos inerciales y transportados
11.1.4 Simulación guiada por eventos
11.1.5 Avance de tiempo por incremento fijo
11.1.6 Ejemplo de modelado de un registro
11.2 NIVELES LÓGICOS PARA SIMULACIÓN
11.3 NOTIFICACIÓN DE SUCESOS
11.4 PROCESOS PASIVOS
11.5 DESCRIPCIÓN DE UN BANCO DE PRUEBAS
11.5.1 Método tabular
11.5.2 Utilización de ficheros con vectores de test
11.5.3 Metodología algorítmica
CAPÍTULO 12. VHDL PARA SÍNTESIS
12.1 RESTRICCIONES Y CONSEJOS EN LA DESCRIPCIÓN
12.2 CONSTRUCCIONES BÁSICAS
12.2.1 Descripción de lógica combinacional
12.2.2 Descripción de lógica secuencial
12.3 DESCRIPCIÓN DE MÁQUINAS DE ESTADOS
12.3.1 Máquinas asíncronas
12.3.2 Máquinas síncronas
12.4 LÓGICA PROGRAMABLE
12.4.1 Tecnologías de programación
12.4.2 PAL, PLD y FPGA clásicas
12.4.3 Arquitecturas de PLD avanzadas
CAPÍTULO 13. UTILIZACIÓN DEL LENGUAJE VHDL
13.1 ERRORES MÁS COMUNES AL UTILIZAR VHDL
13.2 EJEMPLOS PARA SIMULACIÓN Y SÍNTESIS
13.2.1 El botón
13.2.2 Los semáforos
13.2.3 El ascensor
13.2.4 La memoria ROM
13.2.5 El microprocesador
13.2.6 La lavadora
13.2.7 El concurso
13.2.8 El pin-ball
13.3 EJERCICIOS PROPUESTOS
ANEXO A. MATERIAL ADICIONAL
A.1 INFORMACIÓN ADICIONAL Y GARANTÍA
ANEXO B. TUTORIALES Y HERRAMIENTAS DE VHDL
B.1 INSTALACIÓN DE QUARTUS II Y MODELSIM
B.2 TUTORIAL DE QUARTUS II
B.2.1 Creación de un proyecto
B.2.2 Descripción y compilación del circuito
B.2.3 Simulación del diseño
B.3 SIMULADOR DE VHDL MODELSIM
B.4 MAX+PLUS II
B.4.1 Instalación de MAX+PLUS II
B.4.2 Tutorial de un diseño para síntesis
B.5 SIMULADOR DE VHDL VERIBEST
B.5.1 Instalación
B.5.2 Tutorial básico para modelado
ANEXO C. VHDL Y HERRAMIENTAS EN INTERNET
ANEXO D. NOTACIÓN BNF DEL VHDL’93
D.1 NOTACIÓN BNF
D.2 SINTAXIS DE VHDL’93 EN NOTACIÓN BNF
BIBLIOGRAFÍA
ÍNDICE ALFABÉTICO
2024 © Vuestros Libros Siglo XXI | Desarrollo Web Factor Ideas