logo

Tutorial de Verilog

Verilog es un lenguaje de descripción de hardware (HDL). Es un lenguaje utilizado para describir un sistema digital como un conmutador de red, un microprocesador, una memoria o un flip-flop. Podemos describir cualquier hardware digital utilizando HDL en cualquier nivel. Los diseños descritos en HDL son independientes de la tecnología, son muy fáciles de diseñar y depurar y normalmente son más útiles que los esquemas, particularmente para circuitos grandes.

¿Qué es Verilog?

Verilog es un LENGUAJE DE DESCRIPCIÓN DE HARDWARE (HDL), que se utiliza para describir un sistema digital como un conmutador de red, un microprocesador o una memoria, un flip-flop.

Tutorial de Verilog

Verilog fue desarrollado para simplificar el proceso y hacer que el HDL sea más robusto y flexible. Hoy en día, Verilog es el HDL más popular utilizado y practicado en toda la industria de los semiconductores.

HDL fue desarrollado para mejorar el proceso de diseño al permitir a los ingenieros describir la funcionalidad del hardware deseada y permitir que las herramientas de automatización conviertan ese comportamiento en elementos de hardware reales, como puertas combinacionales y lógica secuencial.

Verilog es como cualquier otro lenguaje de descripción de hardware. Permite a los diseñadores diseñar los diseños con metodología ascendente o descendente.

    Diseño de abajo hacia arriba:El método tradicional de diseño electrónico es ascendente. Cada diseño se realiza a nivel de puerta utilizando las puertas estándar. Este diseño ofrece una manera de diseñar nuevos métodos de diseño estructural y jerárquico.Diseño de arriba hacia abajo:Permite realizar pruebas tempranas, cambiar fácilmente diferentes tecnologías y diseñar sistemas estructurados y ofrece muchos otros beneficios.

Niveles de abstracción de Verilog

Verilog admite un diseño en muchos niveles de abstracción, como por ejemplo:

  • Nivel de comportamiento
  • Nivel de transferencia de registro
  • Nivel de puerta

Nivel de comportamiento

El nivel conductual describe un sistema mediante algoritmos conductuales concurrentes. Cada algoritmo es secuencial, lo que significa que consta de un conjunto de instrucciones ejecutadas una por una. Funciones, tareas y bloques son los elementos principales. No se tiene en cuenta la realización estructural del diseño.

Nivel de transferencia de registro

Los diseños que utilizan el nivel de transferencia de registros especifican las características de un circuito mediante operaciones y la transferencia de datos entre los registros.

La definición moderna de código RTL es 'Cualquier código que sea sintetizable se llama código RTL'.

Nivel de puerta

Las características de un sistema se describen mediante enlaces lógicos y sus propiedades de sincronización dentro del nivel lógico. Todas las señales son señales discretas. Sólo pueden tener valores lógicos definidos (`0', `1', `X', `Z`).

Las operaciones utilizables son primitivas lógicas predefinidas (puertas básicas). El modelado a nivel de puerta puede no ser la idea correcta para el diseño lógico. El código a nivel de puerta se genera utilizando herramientas como herramientas de síntesis, y su lista de redes se utiliza para la simulación a nivel de puerta y el backend.

Historia de Verilog

  • La historia de Verilog HDL se remonta a la década de 1980, cuando una empresa llamada Gateway Design Automation desarrolló un simulador lógico, Verilog-XL, y un lenguaje de descripción de hardware.
  • Cadence Design Systems adquirió Gateway en 1989 y con él los derechos del lenguaje y el simulador. En 1990, Cadence puso el idioma en el dominio público, con la intención de que se convirtiera en un idioma estándar y no propietario.
  • Verilog HDL ahora lo mantiene una organización sin fines de lucro, Accellera, formada a partir de la fusión de Open Verilog International (OVI) y VHDL International. OVI tuvo la tarea de llevar el idioma a través del procedimiento de estandarización IEEE.
  • En diciembre de 1995, Verilog HDL se convirtió en IEEE Std. 1364-1995. En 2001 se publicó una versión significativamente revisada: IEEE Std. 1364-2001. Hubo una nueva revisión en 2005, pero ésta sólo añadió algunos cambios menores.
  • Accellera también ha desarrollado un nuevo estándar, SystemVerilog, que amplía Verilog.
  • SystemVerilog se convirtió en un estándar IEEE (1800-2005) en 2005.

¿Cómo es útil Verilog?

Verilog crea un nivel de abstracción que ayuda a ocultar los detalles de su implementación y tecnología.

Por ejemplo, un diseño de flip-flop D requeriría el conocimiento de cómo deben disponerse los transistores para lograr un FF activado por flanco positivo y cuáles son los tiempos de subida, bajada y CLK-Q necesarios para fijar el valor en un flop entre muchos otros detalles orientados a la tecnología.

La disipación de energía, la sincronización y la capacidad de impulsar redes y otros fallos también requerirían una comprensión más profunda de las características físicas de un transistor.

Verilog nos ayuda a centrarnos en el comportamiento y dejar el resto para solucionarlo más tarde.

Requisitos previos

Antes de aprender Verilog, debes tener un conocimiento básico del lenguaje de diseño VLSI.

  • Debes saber cómo funcionan los diagramas lógicos, álgebra booleana, puertas lógicas, circuitos combinacionales y secuenciales, operadores, etc.
  • Debe conocer los conceptos de análisis de temporización estática, como el tiempo de configuración, el tiempo de espera, la ruta crítica, los límites de la frecuencia del reloj, etc.
  • Conceptos básicos de ASIC y FPGA y conceptos de síntesis y simulación.

Audiencia

Nuestro tutorial de Verilog está diseñado para ayudar a principiantes, ingenieros de diseño e ingenieros de verificación que estén dispuestos a aprender a modelar sistemas digitales en Verilog HDL para permitir la síntesis automática. Al final de este tutorial, habrá obtenido un nivel intermedio de experiencia en Verilog.

Problema

Te aseguramos que no encontrarás ningún problema con el Tutorial de Verilog. Pero si hay algún error, publique la pregunta en el formulario de contacto.