Autores:
- PARDO, Fernando
- BOLUDA, José
Páginas: 308
Coedición: Alfaomega, Ra-Ma
$31.493
Autores:
Páginas: 308
Coedición: Alfaomega, Ra-Ma
Compra en hasta 12 pagos mensuales sin usar tarjeta de crédito
¿Tienes dudas? Consulta nuestra FAQ . Crédito sujeto a aprobación.
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.
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.
Ventajas competitivas
Conozca
Aprenda
Desarrollar.
CONTENIDO
PRÓLOGO ……………………………………………………………………………………………………11
CAPÍTULO 1. METODOLOGÍA DE DISEÑO ………………………………………………15
1.1 CONCEPTO DE HERRAMIENTAS CAD-EDA ………………………………………15
1.2 DISEÑO BOTTOM-UP………………………………………………………………………….18
1.3 DISEÑO TOP-DOWN……………………………………………………………………………19
1.3.1 Ventajas del diseño Top-Down …………………………………………………………..21
1.4 INGENIERÍA CONCURRENTE…………………………………………………………….21
CAPÍTULO 2. DESCRIPCIÓN DEL DISEÑO……………………………………………….25
2.1 CAPTURA DE ESQUEMAS ………………………………………………………………….26
2.2 GENERACIÓN DE SÍMBOLOS …………………………………………………………….28
2.3 DISEÑO MODULAR…………………………………………………………………………….29
2.4 DISEÑO JERÁRQUICO ………………………………………………………………………..30
2.5 EL NETLIST ………………………………………………………………………………………..30
2.5.1 El formato EDIF………………………………………………………………………………30
2.5.2 Otros formatos de Netlist ………………………………………………………………….32
2.5.3 Ejemplo de diferentes Netlist …………………………………………………………….33
CAPÍTULO 3. INTRODUCCIÓN AL LENGUAJE VHDL……………………………..39
3.1 EL LENGUAJE VHDL ………………………………………………………………………….40
3.1.1 VHDL describe estructura y comportamiento………………………………………42
3.2 EJEMPLO BÁSICO Y ESTILOS DE DESCRIPCIÓN EN VHDL………………43
3.2.1 Descripción algorítmica ……………………………………………………………………43
3.2.2 Descripción flujo de datos …………………………………………………………………45
3.2.3 Descripción estructural……………………………………………………………………..46
CAPÍTULO 4. ELEMENTOS SINTÁCTICOS DEL VHDL ……………………………49
4.1 OPERADORES Y EXPRESIONES…………………………………………………………52
4.1.1 Operador de concatenación ……………………………………………………………….52
4.1.2 Operadores aritméticos……………………………………………………………………..52
4.1.3 Operadores de desplazamiento…………………………………………………………..53
4.1.4 Operadores relacionales ……………………………………………………………………53
4.1.5 Operadores lógicos …………………………………………………………………………..54
4.1.6 Precedencia de operadores ………………………………………………………………..55
4.2 TIPOS DE DATOS ………………………………………………………………………………..55
4.2.1 Tipos escalares…………………………………………………………………………………56
4.2.2 Tipos compuestos …………………………………………………………………………….57
4.2.3 Subtipos de datos……………………………………………………………………………..58
4.2.4 Cualificación de tipos ……………………………………………………………………….59
4.2.5 Conversión de tipos ………………………………………………………………………….60
4.3 ATRIBUTOS…………………………………………………………………………………………61
4.3.1 Atributos definidos por el usuario ………………………………………………………63
4.4 DECLARACIÓN DE CONSTANTES, VARIABLES Y SEÑALES…………….65
4.4.1 Constantes ………………………………………………………………………………………65
4.4.2 Variables …………………………………………………………………………………………65
4.4.3 Señales……………………………………………………………………………………………66
4.4.4 Comparación entre constantes, señales y variables……………………………….66
4.5 DECLARACIÓN DE ENTIDAD Y ARQUITECTURA …………………………….67
4.5.1 Declaración de entidad ……………………………………………………………………..68
4.5.2 Declaración de arquitectura……………………………………………………………….71
CAPÍTULO 5. DESCRIPCIÓN FLUJO DE DATOS……………………………………….73
5.1 EJECUCIÓN CONCURRENTE Y EJECUCIÓN SERIE …………………………..74
5.2 DESCRIPCIÓN CONCURRENTE FLUJO DE DATOS…………………………….75
5.3 ESTRUCTURAS DE LA EJECUCIÓN FLUJO DE DATOS………………………76
5.3.1 Asignación condicional: WHEN..ELSE …………………………………………………77
5.3.2 Asignación con selección: WITH..SELECT..WHEN…………………………………78
5.3.3 Bloque concurrente: BLOCK………………………………………………………………..80
5.4 EJEMPLOS DE DESCRIPCIÓN FLUJO DE DATOS ……………………………….82
CAPÍTULO 6. DESCRIPCIÓN COMPORTAMENTAL ALGORÍTMICA……..85
6.1 DIFERENCIAS ENTRE VARIABLE Y SEÑAL ………………………………………87
6.2 ESTRUCTURAS DE LA EJECUCIÓN SERIE…………………………………………90
6.2.1 El bloque de ejecución serie: PROCESS ………………………………………………..90
6.2.2 Sentencia de espera: WAIT …………………………………………………………………91
6.2.3 Sentencia condicional: IF..THEN..ELSE …………………………………………….94
6.2.4 Sentencia de selección: CASE y CASE?…………………………………………………95
6.2.5 Bucles: LOOP, FOR y WHILE ……………………………………………………………….97
6.3 EJEMPLOS DE EJECUCIÓN SERIE………………………………………………………98
6.3.1 Descripción de cerrojos o latches……………………………………………………….98
6.3.2 Descripción de registros ……………………………………………………………………99
CAPÍTULO 7. DESCRIPCIÓN ESTRUCTURAL ………………………………………..105
7.1 COMPONENTES, REFERENCIA Y ENLACE………………………………………106
7.1.1 Definición de componentes ……………………………………………………………..106
7.1.2 Referencia de componentes……………………………………………………………..107
7.1.3 Enlace entre componentes y entidades. Sentencia FOR ………………………..108
7.1.4 Repetición de estructuras: GENERATE…………………………………………………110
7.2 LA UNIDAD DE CONFIGURACIÓN …………………………………………………..113
7.2.1 Ejemplo ………………………………………………………………………………………..117
CAPÍTULO 8. PONIENDO ORDEN: SUBPROGRAMAS, PAQUETES Y
BIBLIOTECAS ……………………………………………………………………………………………119
8.1 SUBPROGRAMAS ……………………………………………………………………………..119
8.1.1 Declaración de procedimientos y funciones……………………………………….120
8.1.2 Llamadas a subprogramas ……………………………………………………………….123
8.1.3 Sobrecarga de operadores………………………………………………………………..125
8.1.4 Subprogramas con genéricos……………………………………………………………127
8.2 PAQUETES…………………………………………………………………………………………128
8.2.1 Definición de paquetes: PACKAGE y PACKAGE BODY……………………………..128
8.3 BIBLIOTECAS Y UNIDADES……………………………………………………………..131
8.3.1 Contextos………………………………………………………………………………………135
CAPÍTULO 9. CONCEPTOS AVANZADOS EN VHDL ……………………………….137
9.1 BUSES Y RESOLUCIÓN DE SEÑALES ………………………………………………137
9.2 PUNTEROS EN VHDL………………………………………………………………………..141
9.3 FICHEROS …………………………………………………………………………………………145
9.3.1 Abrir y cerrar ficheros …………………………………………………………………….145
9.3.2 Lectura y escritura de ficheros………………………………………………………….148
9.3.3 Ficheros de texto y entrada/salida estándar ………………………………………..148
CAPÍTULO 10. EVOLUCIÓN DEL VHDL ………………………………………………….155
10.1 VHDL 2008……………………………………………………………………………………….156
10.1.1 Mejoras en los genéricos ……………………………………………………………….156
10.1.2 Operadores…………………………………………………………………………………..156
10.1.3 Sentencias nuevas y mejoradas……………………………………………………….158
10.1.4 Cambios en los tipos del sistema…………………………………………………….159
10.1.5 Mejoras en el modelado ………………………………………………………………..160
10.1.6 Mejoras en la entrada y salida ………………………………………………………..161
10.1.7 Cambios y mejoras en los paquetes estándar ……………………………………162
10.1.8 Otros cambios importantes…………………………………………………………….164
10.1.9 Otros cambios menores …………………………………………………………………165
10.2 VHDL 2002 Y VHDL 2000…………………………………………………………………167
10.3 VHDL’93 Y VHDL’87………………………………………………………………………..168
CAPÍTULO 11. VHDL PARA SIMULACIÓN………………………………………………171
11.1 ASIGNACIÓN CON RETRASOS………………………………………………………..171
11.1.1 Sintaxis completa de la asignación………………………………………………….172
11.1.2 Especificación de retrasos ……………………………………………………………..172
11.1.3 Retrasos inerciales y transportados …………………………………………………173
11.1.4 Simulación guiada por eventos……………………………………………………….177
11.1.5 Avance de tiempo por incremento fijo……………………………………………..178
11.1.6 Ejemplo de modelado de un registro……………………………………………….180
11.2 NIVELES LÓGICOS PARA SIMULACIÓN…………………………………………181
11.3 NOTIFICACIÓN DE SUCESOS ………………………………………………………….183
11.4 PROCESOS PASIVOS………………………………………………………………………..184
11.5 DESCRIPCIÓN DE UN BANCO DE PRUEBAS…………………………………..185
11.5.1 Método tabular …………………………………………………………………………….186
11.5.2 Utilización de ficheros con vectores de test ……………………………………..190
11.5.3 Metodología algorítmica ……………………………………………………………….193
CAPÍTULO 12. VHDL PARA SÍNTESIS ……………………………………………………..197
12.1 RESTRICCIONES Y CONSEJOS EN LA DESCRIPCIÓN…………………….198
12.2 CONSTRUCCIONES BÁSICAS………………………………………………………….202
12.2.1 Descripción de lógica combinacional………………………………………………202
12.2.2 Descripción de lógica secuencial ……………………………………………………203
12.3 DESCRIPCIÓN DE MÁQUINAS DE ESTADOS ………………………………….206
12.3.1 Máquinas asíncronas …………………………………………………………………….206
12.3.2 Máquinas síncronas ………………………………………………………………………208
12.4 LÓGICA PROGRAMABLE………………………………………………………………..211
12.4.1 Tecnologías de programación…………………………………………………………211
12.4.2 PAL, PLD y FPGA clásicas……………………………………………………………213
12.4.3 Arquitecturas de PLD avanzadas…………………………………………………….217
CAPÍTULO 13. UTILIZACIÓN DEL LENGUAJE VHDL……………………………225
13.1 ERRORES MÁS COMUNES AL UTILIZAR VHDL …………………………….225
13.2 EJEMPLOS PARA SIMULACIÓN Y SÍNTESIS …………………………………..227
13.2.1 El botón ………………………………………………………………………………………227
13.2.2 Los semáforos………………………………………………………………………………231
13.2.3 El ascensor…………………………………………………………………………………..235
13.2.4 La memoria ROM…………………………………………………………………………237
13.2.5 El microprocesador……………………………………………………………………….239
13.2.6 La lavadora ………………………………………………………………………………….246
13.2.7 El concurso………………………………………………………………………………….254
13.2.8 El pin-ball……………………………………………………………………………………258
13.3 EJERCICIOS PROPUESTOS………………………………………………………………262
ANEXO A. MATERIAL ADICIONAL …………………………………………………………265
A.1 INFORMACIÓN ADICIONAL Y GARANTÍA …………………………………….267
ANEXO B. TUTORIALES Y HERRAMIENTAS DE VHDL ………………………..269
B.1 INSTALACIÓN DE QUARTUS II Y MODELSIM ………………………………..270
B.2 TUTORIAL DE QUARTUS II……………………………………………………………..271
B.2.1 Creación de un proyecto………………………………………………………………..271
B.2.2 Descripción y compilación del circuito……………………………………………272
B.2.3 Simulación del diseño …………………………………………………………………..272
B.3 SIMULADOR DE VHDL MODELSIM ……………………………………………….273
B.4 MAX+PLUS II…………………………………………………………………………………..275
B.4.1 Instalación de MAX+PLUS II………………………………………………………..275
B.4.2 Tutorial de un diseño para síntesis ………………………………………………….276
B.5 SIMULADOR DE VHDL VERIBEST………………………………………………….279
B.5.1 Instalación …………………………………………………………………………………..280
B.5.2 Tutorial básico para modelado ……………………………………………………….280
ANEXO C. VHDL Y HERRAMIENTAS EN INTERNET……………………………..283
ANEXO D. NOTACIÓN BNF DEL VHDL’93 ……………………………………………….287
D.1 NOTACIÓN BNF ……………………………………………………………………………….287
D.2 SINTAXIS DE VHDL’93 EN NOTACIÓN BNF ……………………………………289
BIBLIOGRAFÍA …………………………………………………………………………………………301
ÍNDICE ALFABÉTICO……………………………………………………………………………….303