¿Qué es Verilog y cómo funciona como lenguaje de descripción de hardware?
Descubre qué es Verilog, cómo funciona este lenguaje de descripción de hardware en el diseño de circuitos y su evolución histórica estándar.
En pocas palabras
- Verilog fue inventado por Phil Moorby en 1985 en Automated Integrated Design Systems.
- El lenguaje fue estandarizado formalmente por el IEEE bajo la denominación IEEE 1364-1995.
- Un subconjunto de las sentencias de Verilog permite la síntesis automática para su implementación en circuitos integrados como ASIC y FPGA.
¿Qué es Verilog y cómo funciona como lenguaje de descripción de hardware?
Verilog es un lenguaje de descripción de hardware empleado para modelar sistemas electrónicos. Es ampliamente utilizado por ingenieros para el diseño, prueba e implementación de circuitos analógicos, digitales y de señal mixta a diversos niveles de abstracción.
¿Cuál es el origen y el propósito inicial del lenguaje?
Verilog fue inventado por Phil Moorby en 1985 mientras trabajaba en Automated Integrated Design Systems, empresa que posteriormente adoptó el nombre de Gateway Design Automation. El objetivo principal de su creación fue proporcionar un lenguaje especializado para el modelado de hardware que facilitara la simulación y el diseño lógico. En 1990, Cadence Design Systems adquirió Gateway Design Automation, convirtiéndose en la propietaria de los derechos de los simuladores lógicos asociados y del desarrollo inicial del lenguaje.
¿Cómo se relaciona su sintaxis con el lenguaje C?
Los creadores de Verilog diseñaron el lenguaje buscando una sintaxis similar a la del lenguaje de programación C para que resultara familiar a los ingenieros y lograra una rápida adopción técnica. Comparte elementos como un preprocesador equivalente y palabras reservadas de control idénticas, tales como if y while, además de similitudes en los operadores y sus reglas de precedencia. No obstante, existen diferencias fundamentales: Verilog utiliza las palabras begin y end en lugar de llaves para delimitar bloques de código, exige definir explícitamente la longitud en bits con su respectiva base para las constantes, carece de apuntadores, estructuras y funciones recursivas, e introduce de manera nativa el concepto de tiempo, el cual resulta indispensable para modelar el comportamiento del hardware.
De qué manera se ejecutan las sentencias en un diseño de Verilog?
A diferencia de los lenguajes de programación convencionales de ejecución estrictamente lineal, Verilog opera mediante una jerarquía estructurada de módulos que se comunican a través de puertos de entrada, salida y bidireccionales. Internamente, un módulo contiene cables y registros cuyas interrelaciones se definen mediante sentencias concurrentes y secuenciales. Mientras que las sentencias agrupadas en bloques begin y end se ejecutan de manera secuencial, todos los bloques begin y end y todas las sentencias concurrentes operan de forma estrictamente paralela dentro del circuito modelado.
Cuándo un diseño en Verilog se considera sintetizable?
Un subconjunto específico de las sentencias del lenguaje permite la síntesis automática mediante software especializado. Cuando los módulos de un diseño emplean exclusivamente este subconjunto sintetizable, las herramientas informáticas pueden traducir el código en una lista de nodos que describe los componentes básicos y las conexiones necesarias para su implementación física. Esta representación se transforma posteriormente en celdas estándar para circuitos integrados de tipo ASIC o en una cadena de configuración para dispositivos de lógica programable como FPGA y CPLD.
Cómo evolucionó Verilog hacia un estándar abierto y normalizado?
Ante el crecimiento y éxito del lenguaje VHDL, Cadence decidió abrir el lenguaje y cederlo para su estandarización pública. La transferencia inicial se realizó a través de Open Verilog International, entidad conocida actualmente como Accellera, que posteriormente lo remitió al Instituto de Ingenieros Electricistas y Electrónicos. Esto dio origen a la formalización del estándar IEEE 1364-1995, comúnmente denominado Verilog 95, al que le sucedieron revisiones posteriores como el estándar IEEE 1364-2001 para corregir deficiencias señaladas por los usuarios y ampliar las capacidades del lenguaje.
Sources & Further Reading
IEEE standard Verilog hardware description language, IEEE, IEEE 1364-2001 Standard.
Tu voto se guarda en este dispositivo.
