| |
| |
| |
| |
|
Verilator se invoca con parámetros similares a GCC o VCS de Synopsys. "Verila" el código Verilog o SystemVerilog especificado leyéndolo, realizando comprobaciones de pelusa y, opcionalmente, insertando comprobaciones de aserción y puntos de análisis de cobertura. Genera archivos .cpp y .h de uno o varios subprocesos, el código "verilado".
Estos archivos Verilated C++/SystemC luego son compilados por un compilador de C++ (gcc/clang/MSVC++), opcionalmente junto con el propio archivo contenedor C++/SystemC del usuario, para crear una instancia del modelo Verilated. La ejecución del ejecutable resultante realiza la simulación del diseño. Verilator también admite la vinculación de bibliotecas generadas por Verilated, opcionalmente cifradas, con otros simuladores.
Es posible que Verilator no sea la mejor opción si espera un reemplazo con todas las funciones para un simulador Verilog de código cerrado, necesita anotaciones SDF, simulación de señales mixtas o está realizando un proyecto de clase rápido (recomendamos Icarus Verilog para el trabajo de clase). Sin embargo, si está buscando una manera de migrar SystemVerilog a C++/SystemC, o desea una simulación de diseños de alta velocidad, Verilator es la herramienta para usted.
Verilator no traduce directamente Verilog HDL a C++ o SystemC. Más bien, Verilator compila su código en un modelo mucho más rápido, optimizado y opcionalmente particionado por subprocesos, que a su vez está incluido dentro de un módulo C++/SystemC. Los resultados son un modelo Verilog compilado que se ejecuta incluso en un solo subproceso más de 10 veces más rápido que SystemC independiente, y en un solo subproceso es aproximadamente 100 veces más rápido que los simuladores Verilog interpretados como Icarus Verilog. Se puede obtener otra aceleración de 2 a 10 veces con subprocesos múltiples (lo que produce un total de 200 a 1000 veces más que los simuladores interpretados).
Verilator suele tener un rendimiento similar o mejor que los simuladores Verilog de código cerrado (por ejemplo, Aldec Riviera-Pro, Cadence Incisive/NC-Verilog, Mentor ModelSim/Questa, Synopsys VCS, VTOC y Pragmatic CVer/CVC). Pero Verilator es de código abierto, por lo que puede gastar en computadoras en lugar de licencias. Por lo tanto, Verilator le ofrece los mejores ciclos de simulación por dólar.
Para más información:
Verilator es un proyecto comunitario, guiado por CHIPS Alliance bajo la Fundación Linux.
Apreciamos y damos la bienvenida a sus contribuciones en cualquier forma; consulte Contribución a Verilator. Gracias a nuestros colaboradores y patrocinadores.
Verilator también apoya y fomenta modelos y organizaciones de soporte comercial; consulte el soporte comercial de Verilator.
Verilator tiene derechos de autor 2003-2024 de Wilson Snyder. (Informe errores a Verilator Issues).
Verilator es un software gratuito; puede redistribuirlo y/o modificarlo según los términos de la Licencia pública general reducida GNU Versión 3 o la Licencia artística Perl Versión 2.0. Consulte la documentación para obtener más detalles.