| |
| |
| |
| |
|
O Verilator é invocado com parâmetros semelhantes ao GCC ou ao VCS da Synopsys. Ele "verila" o código Verilog ou SystemVerilog especificado lendo-o, realizando verificações de lint e, opcionalmente, inserindo verificações de asserção e pontos de análise de cobertura. Ele gera arquivos .cpp e .h de thread único ou multithread, o código "Verilado".
Esses arquivos Verilated C++/SystemC são então compilados por um compilador C++ (gcc/clang/MSVC++), opcionalmente junto com um arquivo wrapper C++/SystemC do próprio usuário, para instanciar o modelo Verilated. A execução do executável resultante realiza a simulação do projeto. O Verilator também suporta a vinculação de bibliotecas geradas pelo Verilated, opcionalmente criptografadas, a outros simuladores.
O Verilator pode não ser a melhor escolha se você está esperando um substituto completo para um simulador Verilog de código fechado, precisa de anotação SDF, simulação de sinal misto ou está fazendo um projeto de aula rápido (recomendamos Icarus Verilog para trabalhos de aula). No entanto, se você está procurando um caminho para migrar SystemVerilog para C++/SystemC ou deseja simulação de projetos em alta velocidade, Verilator é a ferramenta para você.
Verilator não traduz diretamente Verilog HDL para C++ ou SystemC. Em vez disso, o Verilator compila seu código em um modelo otimizado muito mais rápido e opcionalmente particionado por thread, que por sua vez é agrupado dentro de um módulo C++/SystemC. Os resultados são um modelo Verilog compilado que é executado mesmo em um único thread 10x mais rápido que o SystemC independente e em um único thread é cerca de 100 vezes mais rápido que simuladores Verilog interpretados, como Icarus Verilog. Outra aceleração de 2 a 10x pode ser obtida com o multithreading (produzindo um total de 200 a 1000x em simuladores interpretados).
O Verilator normalmente tem desempenho semelhante ou melhor em relação aos simuladores Verilog de código fechado (por exemplo, Aldec Riviera-Pro, Cadence Incisive/NC-Verilog, Mentor ModelSim/Questa, Synopsys VCS, VTOC e Pragmatic CVer/CVC). Porém, o Verilator é de código aberto, então você pode gastar em computadores em vez de licenças. Assim, o Verilator oferece os melhores ciclos/dólar de simulação.
Para mais informações:
Verilator é um projeto comunitário, orientado pela CHIPS Alliance da Linux Foundation.
Agradecemos e damos as boas-vindas às suas contribuições em qualquer forma; consulte Contribuindo para o Verilator. Obrigado aos nossos Colaboradores e Patrocinadores.
A Verilator também apoia e incentiva modelos e organizações de apoio comercial; consulte o Suporte Comercial do Verilator.
Verilator tem copyright 2003-2024 de Wilson Snyder. (Relate bugs para problemas do Verilator.)
Verilator é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral Menor GNU Versão 3 ou da Licença Artística Perl Versão 2.0. Consulte a documentação para obter mais detalhes.