Banco de pruebas de Verilog y banco de pruebas de VHDL

Verificación de diseños de FPGA y ASIC creados en MATLAB y Simulink

En un banco de pruebas convencional de VHDL® o Verilog®, se utiliza código HDL para describir el estímulo de un diseño lógico y comprobar si las salidas del diseño coinciden con las especificaciones. No obstante, muchos ingenieros se ayudan de MATLAB® y Simulink® para crear bancos de pruebas de VHDL o Verilog, por sus prestaciones de notación productiva y compacta para describir algoritmos, y sus herramientas de visualización para examinar el comportamiento de los algoritmos.

Los ingenieros que utilizan MATLAB y Simulink de esta manera disponen de diversas opciones para verificar que las realizaciones HDL de los algoritmos sean correctas.

Verificación con cosimulación de HDL

Utilice un banco de pruebas de MATLAB o Simulink en combinación con un simulador de HDL para verificar el diseño sometido a prueba (DUT). HDL Verifier™ automatiza este proceso de cosimulación y se ocupa de la comunicación y la sincronización entre MATLAB o Simulink, y el simulador de HDL. El banco de pruebas de MATLAB o Simulink puede comparar los valores de salida del simulador de HDL con los valores esperados de un modelo verdadero e informar las discrepancias.

Verificación con simulación de FPGA-in-the-loop

Utilice un banco de pruebas de MATLAB o Simulink con un DUT que se haya programado en una placa de desarrollo FPGA de Xilinx®, Intel® o Microsemi® con simulación de FPGA-in-the-loop. HDL Verifier se puede utilizar en combinación con herramientas de proveedores de FPGA para compilar HDL, crear un archivo de programación, cargarlo en la placa de desarrollo y realizar la comunicación entre la sesión de MATLAB o Simulink, y la placa. Con la simulación de FPGA-in-the-loop, no es necesario generar un banco de pruebas de Verilog o VHDL, puesto que MATLAB o Simulink sirven para ese propósito.

Verificación con un banco de pruebas de DPI de SystemVerilog

SystemVerilog, una extensión de Verilog utilizada para el desarrollo de bancos de pruebas, es compatible con todos los simuladores de HDL más utilizados. A través de la interfaz de programación directa (Direct Programming Interface, DPI) de SystemVerilog, puede integrar código C/C++ con simuladores tales como Synopsys® VCS®, Cadence® Incisive® o Xcelium™, y Mentor Graphics® ModelSim® o Questa®. Utilizando HDL Verifier junto con MATLAB Coder™ o Simulink Coder™, puede generar bancos de pruebas de DPI de SystemVerilog para emplearlos en entornos de verificación de producción.

HDL Verifier puede generar bancos de pruebas de DPI de SystemVerilog de dos formas distintas:

  • Banco de pruebas de componentes: si genera un componente de C a partir de un subsistema de Simulink para utilizarlo como componente de DPI, puede generar opcionalmente un banco de pruebas de SystemVerilog. El banco de pruebas verifica el componente de DPI generado con respecto a los vectores de datos del modelo de Simulink.
  • Banco de pruebas de código HDL: si genera código HDL desde un subsistema de Simulink con HDL Coder, puede generar opcionalmente un banco de pruebas de SystemVerilog. Este banco de pruebas compara la salida de la implementación de HDL con los resultados del modelo de Simulink.

Verificación con Universal Verification Methodology (UVM)

HDL Verifier también puede generar componentes de UVM directamente a partir de modelos de Simulink. HDL Verifier genera componentes de secuencia y de cuadro de mando de UVM de SystemVerilog a partir de modelos de bancos de pruebas. También produce archivos de SystemVerilog para un diseño sometido a prueba (DUT) de comportamiento. Luego puede reemplazar el DUT de comportamiento con RTL codificado manualmente o con RTL generado con HDL Coder.

Los componentes generados pueden ejecutarse como un entorno de UVM completo en Siemens EDA ModelSim® o Questa®, Cadence® Xcelium™ o Synopsys® VCS®.


También puede consultar estos temas: MATLAB para el desarrollo de FPGA, ASIC y SoC, HDL Coder, HDL Verifier, Vision HDL Toolbox, MATLAB Coder, Simulink Coder