¿Cuáles son las diferencias entre verilog y systemverilog?


La mejor respuesta

1.Verilog es un HDL (lenguaje de descripción de hardware) mientras que SystemVerilog (SV) es tanto HDL como HVL (Lenguaje de verificación de hardware), denominado así combinado como HDVL.

2.Verilog tiene principalmente 2 tipos de datos Reg y Wire, que tienen 4 valores lógicos 0,1, x, z mientras que SV está enriquecido con una amplia variedad de tipo de datos como int, shortint, longint, logic, bit, real, realtime, reg, chandle, tipo de datos definido por el usuario, etc., que son una combinación de lógica de 4 y 2 valores.

3.Memory and arrays La declaración en Verilog es de naturaleza estática, mientras que en el caso de SV es de naturaleza dinámica significa que la declaración se puede cambiar durante el tiempo de compilación.

4. Toda la cola de eventos en Verilog se subdivide en 4 regiones que están activas , inactiva, NBA y región pospuesta, mientras que en el caso de SV se divide en 17 regiones, incluido el PLI y la introducción del bloque de programa que tiene un método incorporado de banco de pruebas sin carrera y se usa como una separación entre n DUT y TB a diferencia de Verilog.

5.Verilog tiene un solo bloque always para la implementación de lógica combinacional y secuencial, mientras que SV usa la construcción always\_ff, always\_comb, always\_latch para el uso de lógica diferente.

6.El caso completo y el caso paralelo en Verilog se reemplazan con una declaración única y de prioridad en SV.

7.La implementación de FSM en SV es mucho más fácil en SV con el uso del tipo de datos enum que tiene un número de métodos como número, primero, último, siguiente, anterior que ayuda en la depuración del propósito a diferencia del uso de parámetros en Verilog que está codificado.

8. SystemVerilog utiliza una construcción de interfaz que se ha utilizado para agrupar todas las señales junto con un bloque de reloj que se utiliza para la sincronización, a diferencia de Verilog, en el que la instanciación con el DUT se vuelve tediosa debido a la gran cantidad de señales.

9.Verilog usos banco de pruebas de nivel de módulo, mientras que SV usa un banco de pruebas basado en clases que es de naturaleza dinámica.

Respuesta

SystemVerilog es un superconjunto y una extensión para el idioma Verilog . Para comprender cómo evolucionó, será bueno comprender brevemente la historia de cómo evolucionó

El lenguaje Verilog comenzó en 1983 como lenguaje propietario para el modelado de hardware en Gateway Design Automation Inc. Gateway Design Automation fue posteriormente adquirida por Cadence en 1990 y continuó con las mejoras. Más tarde se convirtió en estándar IEEE 1364 en 1995 y comenzó a ser más utilizado. Posteriormente, se realizaron dos mejoras importantes en Verilog en 2001 y 2005 .

En el mismo período de tiempo, las complejidades del diseño aumentaron y las mejoras en el estándar Verilog fueron principalmente para construcciones RTL.

Las metodologías de verificación también evolucionaron en el mismo período de tiempo para hacer frente a la verificación eficiente de diseños complejos. La verificación aleatoria restringida con verificación basada en cobertura y afirmación se estaba volviendo más útil.

Dado que el lenguaje Verilog no tenía soporte para el mismo, varios otros lenguajes orientados a la verificación como Vera y Specman se estaban volviendo ampliamente utilizados en la industria, ya que admitían la mayoría de las construcciones necesarias para la verificación en términos de modelado, estímulo, afirmaciones, etc. Pero estos lenguajes se limitaban a proveedores específicos y no a ningún estándar IEEE.

SystemVerilog se pensó originalmente como una extensión de Verilog 2005 y se convirtió en el estándar IEEE 1800. Se publicó como un documento separado y consta de cientos de mejoras y extensiones de verilog. En 2009 se convirtió oficialmente en un superconjunto de Verilog y se actualizó de nuevo en 2012 como estándar IEEE 1800-2012 .

Había 5 principales áreas donde se agregaron mejoras en SystemVerilog

1) SVD – System Verilog for Design. Esto incluye varias mejoras para diseñar construcciones.

2) SVTB – SystemVerilog para Testbenches: Este fue el mayor conjunto de mejoras en SystemVerilog para admitir todo el modelado del banco de pruebas y las necesidades de metodologías de verificación más nuevas.

Esto incluye, a un alto nivel, soporte de programación orientada a objetos con clases, un solucionador de restricciones con varias capacidades para crear estímulos aleatorios restringidos, procesos concurrentes , semáforos, buzones de correo y muchos más.

3) SVA – Aserciones de Verilog del sistema: Esto incluye varias Funciones para aserciones temporales y concurrentes como propiedades y secuencias.

4) SVDPI – Interfaz de programación directa SV: Esto incluye funciones para una mejor integración C / C ++

5) SVAPI – Interfaz de programación de aplicaciones SV: Esto incluye funciones para una mejor integración de las API para cobertura y afirmaciones

Para obtener más detalles, consulte la IEEE 1800.2012 spec – 1800-2012 estándar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *