¿Cómo instalar Verilog HDL en Linux?

Verilog , que significa Verificar lógica. Es ampliamente utilizado en la programación de dispositivos de hardware, con el aumento de las demandas de System Of Chips y dispositivos de hardware Verilog HDL ha crecido en popularidad. En Verilog, el diseño y la verificación de los dispositivos digitales en el nivel de abstracción RTL se ha vuelto menos complejo. Comprender Verilog es lo mismo que programar en C, ya que tiene la mayor parte de la sintaxis similar.

Con el aumento de la demanda de VLSI, los diseños de chips han crecido en número. En los días iniciales, era difícil sintetizar la lógica y depurar el código. Así nació el lenguaje de descripción de hardware. El último estándar Verilog HDL ha hecho un cambio significativo en la programación HDL al hacer que el diseño sea lógicamente sintetizable y fácil de depurar. Ahora escribiremos nuestro primer programa Verilog e instalaremos Verilog en el Kernel de Linux.  

Instalación de Verilog HDL en Linux

Icarus Verilog es una herramienta de simulación y síntesis de Verilog. Con esta herramienta, funciona como el compilador de Verilog en un formato de destino específico. Este compilador puede generar un formulario intermedio llamado ensamblaje vvp para la simulación por lotes y este formulario intermedio se ejecuta con la ayuda del comando «vvp». Para la síntesis, el compilador genera netlists en el formato deseado.

Paso 1: clone el repositorio Icarus Verilog localmente. Clone Icarus Verilog Repository: git clone https://github.com/steveicarus/iverilog.git. Una vez que clone el repositorio, se crea un directorio con el nombre iverilog, ahora use el comando cd para cambiar el directorio de trabajo actual.

clon de git https://github.com/steveicarus/iverilog.git

disco compacto

Clone-Icarus-Verilog-Repository-Locally

Paso 2: Configurar archivos. Una vez que esté dentro del directorio iverilog, hay muy pocos pasos para configurar. Para configurar el iverilog en su repositorio local, ejecute el siguiente comando. 

sh autoconf.sh

Si se encuentra con un error, significa que autoconf no se ha instalado en su sistema. Instale autoconf ingresando el siguiente comando.

Fedora: sudo dnf instalar autoconf

Ubuntu: sudo apt-get install autoconf

El mensaje de configuración exitosa se ve así:

Autoconf en root…

Precompilación de lexor_keyword.gperf

Precompilación de vhdlpp/lexor_keyword.gperf

Y luego configure los archivos para actualizar la configuración predeterminada.

./configurar

Ahora ya está listo para trabajar.

Configure-Files

Paso 3: Instale iverilog y GTKWave. Una vez que configure la configuración predeterminada, acceda al directorio raíz y ejecute el comando make install. Pero antes de eso, asegúrese de tener instalados GCC, g ++, bison y flex. Dado que Verilog se creó utilizando la programación C: se deben instalar g ++, gcc, flex y bison para compilar y ejecutar el código de iverilog. Si no tiene gcc, g++, bison y flex, ejecute estos comandos.

//sudo apt-get install nombre_del_paquete en ubuntu

sudo dnf instalar flex 

sudo dnf instalar gcc

sudo dnf instalar bisonte

sudo dnf instalar g ++

Install-iverilog-and-GTKWave

Una vez que tenga estos elementos esenciales instalados, proceda a realizar la instalación. 

sudo su

hacer instalar

sudo dnf instalar iverilog

sudo dnf instalar gtkwave 

Install-gtkwave

El iverilog se instaló correctamente, ahora escribamos el código Verilog y ejecútelo. 

Compilar y ejecutar código Verilog

Escribiremos un código de compuerta simple tanto de diseño como de simulación. Asegúrese de guardar Verilog con la extensión .v. La tabla de verdad es:

a b afuera
0 0 0
0 1 0
1 0 0
1 1 1

Primero, cree un nombre de archivo como dut.v, que es nuestro diseño bajo el bloque de código de prueba. Comenzamos con la definición de un nombre de módulo que comienza con un módulo de palabra clave de módulo. Pasamos una lista de puertos como argumento para el nombre del módulo. Uso de modelos de abstracción de flujo de datos. 

//dut= guardar en dut.v

módulo and_gate(fuera,a,b);

   entrada a,b;

   salida;

   asignar fuera = a & b;

   //y a1(fuera,a,b); para abstracción a nivel de puerta

módulo final

A continuación, escriba el banco de pruebas o el código de simulación. La simulación consiste en verificar el bloque de diseño al proporcionarle información. 

// banco de pruebas para y puerta

módulo tb;

    registro A, B; //entrada asignada para registrar

    alambrar; //salida asignada a la red

    //instanciar dut

    and_gate dut(salida,A,B);

    inicial

    empezar

        A = 0; B = 0;#10

        $pantalla(“A=%b B=%b Salida=%b”,A,B,fuera);

        A = 0; B = 1;#10

        $display(“A=%b B=%d Salida=%b”,A,B,fuera);

        A = 1; B = 0;#10

        $pantalla(“A=%b B=%b Salida=%b”,A,B,fuera);

        A = 1; B = 1;#10

        $pantalla(“A=%b B=%b Salida=%b”,A,B,fuera);

        $terminar;

    final

módulo final

La siguiente sintaxis se utiliza para compilar y ejecutar el código Verilog:

//compilar:

iverilog -o check_code tb.v dut.v

//correr:

vvp check_code

Producción:

Puede verificar la salida consultando la tabla de verdad

Compile-And-Run-Verilog-Code

Publicación traducida automáticamente

Artículo escrito por jaintarun y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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