Inicio/Profesional/Ciencia y tecnología/Eléctrica / Electrónica/Vhdl – Lenguaje para Síntesis y Modelado de Circuitos

Vhdl – Lenguaje para Síntesis y Modelado de Circuitos

$318

Consultar disponibilidad

Autores:

  • PARDO, Fernando
  • BOLUDA, José

Páginas: 308

Coedición: Alfaomega, Ra-Ma

Consultar disponibilidad

ISBN: 9786077071747 Categoría:

Descripció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

  • Puede descargar la todos los ejemplos del libro así como los problemas propuestos, Simulador VHDL VeriBest, Altera Max+Plus II Student Edition, y enlaces a las herramientas de simulación y síntesis descritas en los tutoriales del libro.

Conozca

  • Cómo diseñar, modelar, programar y comprobar un sistema con VHDL.
  • Cómo diseñar, sintetizar circuitos con VHDL.

Aprenda

  • La sintaxis de VHDL.
  • Como construir Instrumentos Virtuales VI y SubVI.
  • Como reducir el tiempo de desarrollo de aplicaciones para pruebas, control y diseño.
  • Desarrolle sus habilidades y capacidades para:

Desarrollar.

  • Instrumentar.
  • Virtualizar procesos de control industrial

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

Título

Ir a Arriba