Red de conocimiento informático - Problemas con los teléfonos móviles - Catálogo de trabajo del tutorial de diseño del sistema digital Verilog

Catálogo de trabajo del tutorial de diseño del sistema digital Verilog

Parte 1: Conceptos básicos del diseño digital de Verilog

Capítulo 1 Conocimientos básicos de Verilog

1.1 Lenguaje de descripción de hardware HDL

1.2 Historia de Verilog HDL

1.2.1 Qué es Verilog HDL

1.2.2 El surgimiento y desarrollo de Verilog HDL

1.3 Comparación entre Verilog HDL y VHDL

1.4 Aplicaciones Verilog y diseños aplicables

1.5 Ventajas de utilizar Verilog HDL para diseñar circuitos digitales complejos

1.5.1 Método de diseño tradicional: método de entrada del esquema del circuito

p>

1.5.2 Comparación entre el método de diseño Verilog HDL y el método de entrada de esquema de circuito tradicional

1.5.3 Estandarización de Verilog y reutilización del núcleo blando

1.5.4 Los conceptos de software núcleo, núcleo sólido y núcleo duro y su reutilización

1.6 Introducción al proceso de diseño mediante lenguaje de descripción hardware (Verilog HDL)

1.6.1 Top_Down Conceptos básicos de diseño

1.6.2 Conceptos básicos de gestión jerárquica

1.6.3 Proceso de diseño, compilación y simulación de módulos específicos

1.6.4 Procesos específicos Optimización, imagen y colocación y enrutamiento de dispositivos

Resumen

Preguntas para pensar

Capítulo 2 Conceptos básicos de la sintaxis de Verilog

Descripción general

p>

2.1 Conceptos básicos de los módulos Verilog

2.2 Verilog utilizado para las pruebas de módulos

Resumen

Preguntas para pensar

Capítulo 3 Estructura del módulo, datos. tipos, variables y símbolos de operación básica

Descripción general

3.1 Estructura del módulo

3.1.1 Definición del puerto del módulo

3.1.2 Contenido del módulo

3.1.3 Comprender los puntos clave

3.1.4 Resumen de los puntos clave

3.2 Tipos de datos y sus constantes y variables

p>

3.2.1 Constantes

3.2.2 Variables

3.3 Operadores y expresiones

3.3.1 Operadores aritméticos básicos

p>

3.3 .2 Operadores de bits

Resumen

Preguntas para pensar

Capítulo 4 Operadores, declaraciones de asignación y declaraciones de descripción de estructura

Descripción general

4.1 Operadores lógicos

4.2 Operadores relacionales

4.3 Operadores de igualdad

4.4 Operador de operaciones de desplazamiento

Operador de concatenación de 4,5 bits

4.6 Operador de reducción

4.7 Nivel de prioridad

4.8 Palabras clave

4.9 Enunciados de asignación y enunciados de bloque

4.9. 1 Declaraciones de tarea

4.9.2 Declaraciones de bloque

Resumen

Preguntas para pensar

p>

Capítulo 5 Declaraciones condicionales, bucle Declaraciones, declaraciones en bloque y declaraciones generadas

Descripción general

5.1 Declaraciones condicionales (declaraciones if_else)

5.2 Declaración de caso

5.3 Sintaxis de condicional declaración

5.4 Declaración de rama multidireccional

5.5 Declaración de bucle

5.5.1 declaración para siempre

5.5.2 declaración de repetición

5.5.3 sentencia while

5.5.4 sentencia for

5.6 Bloque secuencial y bloque paralelo

5.

6.1 Tipos de sentencias de bloque

5.6.2 Características de las sentencias de bloque

5.7 Generación de bloques

5.7.1 Sentencias generadoras de bucles

5.7 .2 Declaración de generación condicional

5.7.3 Declaración de generación de caso

5.8 Ejemplo

5.8.1 Selector multidireccional de cuatro selecciones y uno

5.8.2 Contador de cuatro dígitos

Resumen

Preguntas para pensar

Capítulo 6 Declaraciones estructurales, tareas del sistema, declaraciones de funciones y tareas del sistema de visualización

Descripción general

6.1 Declaración de descripción de la estructura

6.1.1 Declaración inicial

6.1.2 Declaración siempre

6.2 Tarea y declaración de descripción de función

6.2.1 La diferencia entre declaraciones de descripción de tarea y función

6.2.2 Declaración de descripción de tarea

6.2.3 Declaración de descripción de función

6.2.4 Ejemplos de uso de funciones

6.2.5 Funciones automáticas (recursivas)

6.2.6 Funciones constantes

6.2.7 Con signo funciones

6.3 Resumen sobre el uso de tareas y funciones

6.4 Tareas del sistema más utilizadas

6.4.1 Tareas de $display y $write

6.4.2 Salida del archivo

6.4.3 Jerarquía de visualización

6.4.4 Visualización cerrada

6.4.5 Archivo de volcado de cambio de valor

6.5 Otras funciones y tareas del sistema

Resumen

Preguntas para pensar

Capítulo 7 Depuración de tareas del sistema y declaraciones preparadas de compilación de uso común

Descripción general

7.1 Tarea del sistema $monitor

7.2 Función del sistema de medición del tiempo $time

7.3 Tarea del sistema $finish

7.4 Tarea del sistema $stop

7.5 Tareas del sistema $readmemb y $readmemh

7.6 Tarea del sistema $random

7.7 Preprocesamiento de compilación

7.7.1 ¿Definición de macro?

7.7.2 ¿Procesamiento de inclusión de archivos?include

7.7.3 ¿Escala de tiempo?timescale

7.7.4 Comando de compilación condicional?ifdef, ?else, ?endif

7.7.5 Ejecución condicional

Resumen

Preguntas para pensar

Capítulo 8 Ejercicio de repaso general de conceptos gramaticales

Descripción general

Resumen

Parte 2 Parte de diseño y verificación

Capítulo 9 Diferentes niveles de abstracción del modelo Verilog HDL

Descripción general

9.1 Descripción de la estructura a nivel de puerta

9.1.1 Puerta NAND, puerta OR e inversor y su sintaxis de descripción

9.1.2 Utilice la estructura a nivel de puerta para describir D flip- fracasos

9.1.3 Construir un módulo de nivel superior a partir del módulo diseñado

9.2 Modelado de descripción del comportamiento de Verilog HDL

9.2.1 Modelado de descripción del comportamiento de Verilog HDL solo se utiliza para generar señales de prueba de simulación

9.2.2 El papel del modelado Verilog HDL en el diseño TopDown y la cuestión de la sintetizabilidad del modelado de comportamiento

9.3 Primitivas definidas por el usuario

Resumen

Preguntas para pensar

Capítulo 10 Cómo escribir y verificar módulos simples de lógica combinacional pura

Descripción general

10.1 Sumador<

/p>

10.2 Multiplicador

10.3 Comparador

10.4 Multiplexor

10.5 Operación de bus y bus

10.6 Tubería

Resumen

Preguntas para pensar

Capítulo 11 Composición de sistemas digitales complejos

Descripción general

11.1 Componentes de operaciones y lógica de control para flujo de datos

11.1.1 Tipos de circuitos lógicos digitales

11.1.2 Estructura de los circuitos lógicos digitales

11.2 Datos en registros Guardar temporalmente

11.3 Control del flujo de datos

11.4 Habilitar la lógica de temporización síncrona en el diseño Verilog HDL

11.5 Método de sincronización de la interfaz de datos

Resumen

Preguntas para pensar

Capítulo 12 Principios, estructura y diseño de máquinas de estados síncronas

Descripción general

12.1 Estructura de las máquinas de estados

12.2 diferencia entre la máquina de estados de Mealy y la máquina de estados de Moore

12.3 Cómo usar Verilog para describir una máquina de estados sintetizada

12.3.1 Usar Verilog sintetizado Métodos típicos para el diseño de módulos de máquinas de estados

12.3.2 Usar módulos Verilog sintetizados para diseñar máquinas de estado que usan códigos one-hot para representar estados

12.3.3 Usar módulos Verilog sintetizados Diseñar una máquina de estados cuyo estado esté representado por un código especificado por la salida

12.3.4 Métodos comúnmente utilizados al diseñar máquinas de estado complejas de múltiples salidas utilizando módulos Verilog sintetizados

Resumen

Preguntas para pensar

Capítulo 13 Principios rectores para el diseño de máquinas de estados sintetizables

Descripción general

13.1 Diseño de estados sintetizables con principios rectores de máquinas en lenguaje Verilog HDL

13.2 Ejemplos típicos de máquinas de estados

13.3 Principios generales de síntesis

13.4 Principios rectores del lenguaje

13.5 Ejemplo de módulo Verilog HDL de estilo sintetizable

13.5.1 Circuito lógico combinacional ejemplo de diseño

13.5.2 Ejemplo de diseño de circuito lógico secuencial

13.6 Configuración y reinicio de la máquina de estados

13.6.1 Configuración y reinicio asincrónicos de la máquina de estados

13.6.2 Configuración y reinicio sincrónicos de la máquina de estados

Resumen

Preguntas para pensar

Capítulo 14 Comprensión profunda de las diferencias entre bloqueo y asignaciones sin bloqueo

Descripción general

14.1 Similitudes y diferencias entre asignaciones con bloqueo y sin bloqueo

14.1.1 Asignación con bloqueo

14.1 .2 Asignación sin bloqueo

14.2 Puntos clave de la programación del módulo Verilog

14.3 Cola de eventos jerárquica de Verilog

14.4 Bloqueo siempre autoactivado

14.5 Modelo de registro de desplazamiento

14.6 Asignación de bloqueo y algunos ejemplos simples

14.7 Módulo de construcción de registro de desplazamiento con retroalimentación de tiempo

14.8 La asignación de bloqueo debe usarse al modelar combinacional lógica

14.9 Lógica mixta de secuencial y combinacional: use asignación sin bloqueo

14.10 Otras asignaciones de bloqueo y sin bloqueo Principios del uso de bloqueo mixto

14.11 Múltiple asignaciones a la misma variable

14.12 Malentendidos comunes sobre las asignaciones sin bloqueo

Resumen

Preguntas para pensar

Capítulo 15 Lógica secuencial más compleja Práctica de diseño de circuitos

Descripción general

Resumen

Preguntas para pensar

Capítulo 16 Práctica de diseño de circuitos de lógica secuencial compleja

<

p>Descripción general

16.1 Breve introducción a la EEPROM serial I2C CMOS de dos cables

16.2 Introducción a las características del bus I2C

16.3 Lectura del EEPROM serial I2C CMOS de dos cables Operación de escritura

Programa Verilog HDL de 16.4 EEPROM

Resumen

Preguntas para pensar

Capítulo 17 RISC_CPU simplificado diseño

Descripción general

17.1 Origen del tema e introducción al entorno de diseño

17.2 ¿Qué es la CPU?

17.3 Estructura RISC_CPU

17.3.1 Generador de reloj

17.3.2 Registro de instrucciones

17.3.3 Acumulador

17.3.4 Operador aritmético

17.3.5 Controlador de datos

17.3.6 Multiplexor de direcciones

17.3.7 Contador de programa

17.3.8 Controlador de estado

17.3.9 Módulos periféricos

17.4 Operación y temporización de RISC_CPU

17.4.1 Operación de reinicio y arranque del sistema

17.4.2 Operación de lectura del bus

17.4.3 Operación de escritura del bus

17.5 Modo de direccionamiento RISC_CPU y sistema de instrucciones

17.6 Depuración del módulo RISC_CPU

17.6.1 Prefacio de simulación del módulo RISC_CPU

17.6.2 Síntesis del módulo RISC_CPU

17.6.3 Optimización, ubicación y enrutamiento del módulo RISC_CPU

Resumen

Preguntas para pensar

Resumen

Preguntas para pensar

Capítulo 18 Dispositivos/interfaces virtuales, IP y métodos de diseño basados ​​en plataformas y su papel en el diseño de grandes sistemas digitales

Descripción general

18.1 Núcleo blando y núcleo duro , macroceldas, dispositivos virtuales, diseño y verificación de IP, y métodos de diseño basados ​​en plataformas

18.2 Diseño y verificación de proveedores de IP

18.3 Diseño de módulos virtuales

18.4 Ejemplos de módulo de interfaz virtual

Resumen

Preguntas para pensar

Parte 3, demostración de diseño y ejercicios experimentales

Descripción general

p>

Ejercicio 1: Diseño lógico combinacional simple

Ejercicio 2: Diseño de un circuito lógico secuencial por división de frecuencia simple

Ejercicio 3: Uso de declaraciones condicionales para implementar un circuito secuencial por división de frecuencia de conteo

p >

Ejercicio 4: La diferencia entre asignación con bloqueo y asignación sin bloqueo

Ejercicio 5: Utilice bloques siempre para implementar circuitos lógicos combinacionales más complejos

Ejercicio 6: Uso de funciones en Verilog HDL

p>

Ejercicio 7: Usar tareas en Verilog HDL

Ejercicio 8: Usar máquinas de estados finitos para diseñar lógica secuencial

Ejercicio 9: Usar estado máquinas para implementar diseños de interfaces más complejos

Ejercicio 10: Diseño de sistemas a gran escala mediante llamadas de instancias de módulos

Ejercicio 11: Diseño de convolver simple

Apéndice 1 Convertidor A/D Parámetros técnicos necesarios para la máquina modelo Verilog HDL

Apéndice 2 RAM estática CMOS asíncrona de 2K*8 bits modelo HM65162

Ejercicio 12 Diseño de una FIFO usando SRAM

Parte 4 Gramática

Gramática 1 Introducción a Verilog HDL

1 Acerca del estándar IEEE 1364

2 Introducción a Verilog

3. Resumen de sintaxis

4. Estándares para escribir código fuente Verilog HDL

5. Proceso de diseño

Sintaxis Parte 2 Manual de referencia del lenguaje de descripción de hardware de Verilog

1. Declaraciones Verilog HDL e identificadores de uso común (ordenados alfabéticamente)<. /p>

2. Tareas y funciones del sistema

3. Instrucciones detalladas para tareas y funciones comunes del sistema

4. Opciones de línea de comandos

5. Introducción al estándar IEEE Verilog 13642001

Referencias

.