¡Ayuda al desarrollo del sitio, compartiendo el artículo con amigos!

Introducción a Verilog frente a VHDL

Verilog y VHDL son los lenguajes de descripción de hardware que se utilizan para el propósito generalizado que además son aceptados y respaldados por diversas herramientas de síntesis y verificación. En este artículo, primero estudiaremos los dos idiomas y luego observaremos cuáles son las diferencias entre ellos consultando la tabla de comparación. En este tema, aprenderemos sobre Verilog vs VHDL.

Comparación directa entre Verilog y VHDL (Infografía)

A continuación se muestran las principales diferencias entre Verilog y VHDL

Diferencia clave entre Verilog y VHDL

Discutamos algunas de las principales diferencias clave entre Verilog y VHDL

Verilog

Verilog en realidad se deriva de los lenguajes de programación C e Hilo, que es un antiguo lenguaje de descripción de hardware. Es un lenguaje muy limitado y débilmente tipificado que tiene todos los tipos de datos predefinidos. Los tipos de datos se representan a nivel de bits. Otros tipos de datos como cadenas se pueden mezclar con Verilog. Hay una semántica de simulación muy ambigua en Verilog en comparación con los VHDL. Como resultado de esto, los desarrolladores consideran que Verilog es muy flexible, pero existe un inconveniente en las condiciones de carrera resultantes debido a la ambigüedad si no se siguen las pautas durante la codificación. Es muy difícil proporcionar la función de reutilización de los paquetes debido al alcance limitado del lenguaje y la incapacidad de empaquetar.

Hay una provisión de comandos básicos de control de simulación en Verilog que ayudan a realizar las tareas del sistema. Los desarrolladores de Verilog utilizan simulaciones por lotes o de línea de comandos debido a las tareas del sistema predefinidas y los tipos de datos simples, y la depuración se puede realizar al ver las formas de onda de la simulación.

VHDL

VHDL es en realidad una derivación del lenguaje de programación Ada, que es un lenguaje de descripción de hardware muy tipificado y muy tipificado. En comparación con Verilog, que es otro HDL, VHDL es muy detallado debido al requisito de idioma que también se suma a los diseños de autodocumentación adicionales. La tipificación fuerte para VHDL también asegura que los tipos de datos se conviertan explícitamente de uno a otro como, por ejemplo, un vector de bits a un número entero. El lenguaje VHDL fue diseñado de una manera que hará que la semántica del lenguaje sea clara y sin ambigüedades. Los diseños de VHDL son fáciles de transportar, lo que también agrega la funcionalidad para pasar de una herramienta a otra con mucha facilidad.Debido a esto, no hay necesidad de preocuparse por las condiciones de carrera.

El diseño VHDL depende principalmente del estándar IEEE 1164 y también se refiere a los paquetes matemáticos y numéricos para mejorar la utilidad del lenguaje. No hay provisión de capacidades de monitoreo o control de simulación en VHDL, ya que dependen completamente de la herramienta. Las GUI interactivas se utilizan para la depuración porque los tipos están definidos por el usuario en los VHDL y tampoco existe la presencia de un control de simulación incorporado, lo que hace que la depuración de los problemas de diseño sea aún más difícil.

Tabla de comparación de Verilog vs VHDL

La siguiente tabla muestra la comparación detallada entre Verilog y VHDL en detalle -

Verilog es un lenguaje débilmente tipado con tipos de datos como bit, bit-vector, cable, registro, sin signo, con signo, entero, real y, a veces, cadenas también.Los tipos de datos definidos por el usuario no son compatibles con Verilog.No se admite la asignación de memoria dinámica.Se pueden usar eventos con nombre.No se pueden usar los tipos enumerados.No se pueden usar arreglos asociativos y dispersos.Podemos usar la equivalencia de bits y enteros en Verilog. No se admiten otras jerarquías. No hay tales procesos regionales. Se pueden usar fork and join, block and task disabled para traer dinamismo en procesos de creación y eliminación.Ninguna presencia de abstracción de interfaz.Las declaraciones condicionales pueden ser se implementa mediante el uso de declaraciones if, if-else y case, mientras que el comportamiento iterativo se logra mediante el uso del ciclo for.La proximidad léxica determina los atributos. Por lo tanto, los atributos se admiten parcialmente y no se pueden escribir. Los atributos creados se colocan en cualquier lugar virtualmente por proximidad léxica.El soporte limitado para la capacidad de verificación se realiza mediante operaciones con archivos de salida, fork-jo,in y generación de números aleatorios y subprogramas recursivos.No hay soporte para afirmaciones en Verilog.Las interfaces extranjeras son compatibles con el uso de estándares para C API, incluidos tf, acc y vpi.
VerilogVHDL
Es un lenguaje fuertemente tipado.
Los tipos de datos definidos por el usuario son compatibles con VHDL.
La asignación de memoria dinámica se admite en VHDL con la ayuda de punteros.
No podemos usar los eventos con nombre en VHDL.
En el modelado FSM, se pueden usar tipos enumerados.
Podemos modelar los tipos de acceso parcialmente usando matrices asociativas y dispersas.
Los paquetes estándar se pueden utilizar para admitir parcialmente la equivalencia de bits/enteros vectoriales.
Se pueden agregar otras jerarquías usando entidades separadas y usando la arquitectura de la interfaz y la implementación.
Los procesos pospuestos se pueden usar para traer procesos de regiones reactivas.
Ninguna provisión de creación y eliminación dinámica de cosas.
La abstracción parcial de la interfaz puede surgir ya que el uso de componentes conduce a la abstracción entre las interfaces y los módulos particulares. Hay flexibilidad en el mapeo de puertos debido al uso de enlaces de dos capas. .
Soporte completo para la configuración y el enlace al tener el control sobre los componentes y el enlace de la instancia a las entidades creadas.
Podemos implementar la sentencia condicional usando if y sentencias iterativas usando el bucle for.
Los atributos se pueden crear y escribir manualmente y también se les pueden asignar valores y referenciar. También podemos dar atributos a cualquier cosa que esté etiquetada. En el diseño, se pueden relacionar dos o más entidades mediante el uso de grupos y atributos.
El soporte parcial para las capacidades específicas de verificación se realiza mediante el uso de tipos de acceso, procesos pospuestos, operaciones de entrada y salida de archivos de forma extensiva, subprogramas recursivos y generación de números aleatorios utilizando un paquete estándar.
Las interfaces extranjeras son compatibles con los estándares para la API de C, incluidos tf, acc y vpi.
Soporte limitado para interfaces externas que utilizan estándares de atributos externos y VhPI también es compatible pero aún no está estandarizado.

Conclusión: Verilog frente a VHDL

Verilog es el HDL que está emergiendo y evolucionando por completo en el que se agregan nuevas características continuamente. VHDL es un lenguaje fuertemente tipado y es muy detallado, mientras que Verilog es un lenguaje débilmente tipado y tiene todos los tipos de datos predefinidos. El control de simulación no es compatible con VHDL internamente como algo incorporado, pero Verilog tiene la función de soporte de simulación que ayuda a depurar fácilmente los problemas relacionados con el diseño con la ayuda de formas de onda que se muestran en función de la base de datos y se pueden analizar más a fondo. .

¡Ayuda al desarrollo del sitio, compartiendo el artículo con amigos!