| |
| |
| |
| |
|
Verilator est invoqué avec des paramètres similaires à GCC ou au VCS de Synopsys. Il « vérifie » le code Verilog ou SystemVerilog spécifié en le lisant, en effectuant des vérifications de charpie et en insérant éventuellement des vérifications d'assertion et des points d'analyse de couverture. Il génère des fichiers .cpp et .h monothread ou multithread, le code "Verilated".
Ces fichiers C++/SystemC vérifiés sont ensuite compilés par un compilateur C++ (gcc/clang/MSVC++), éventuellement avec le propre fichier wrapper C++/SystemC d'un utilisateur, pour instancier le modèle vérifié. L'exécution de l'exécutable résultant effectue la simulation de conception. Verilator prend également en charge la liaison des bibliothèques générées par Verilated, éventuellement chiffrées, à d'autres simulateurs.
Verilator n'est peut-être pas le meilleur choix si vous attendez un remplacement complet d'un simulateur Verilog à source fermée, si vous avez besoin d'une annotation SDF, d'une simulation à signaux mixtes ou si vous réalisez un projet de classe rapide (nous recommandons Icarus Verilog pour les travaux en classe). Cependant, si vous recherchez un moyen de migrer SystemVerilog vers C++/SystemC, ou si vous souhaitez une simulation de conceptions à grande vitesse, Verilator est l'outil qu'il vous faut.
Verilator ne traduit pas directement Verilog HDL en C++ ou SystemC. Au lieu de cela, Verilator compile votre code dans un modèle optimisé beaucoup plus rapide et éventuellement partitionné en threads, qui est à son tour enveloppé dans un module C++/SystemC. Les résultats sont un modèle Verilog compilé qui s'exécute même sur un seul thread plus de 10 fois plus rapidement que SystemC autonome, et sur un seul thread est environ 100 fois plus rapide que les simulateurs Verilog interprétés tels qu'Icarus Verilog. Une accélération supplémentaire de 2 à 10 fois pourrait être obtenue grâce au multithreading (rendant un total de 200 à 1 000 fois par rapport aux simulateurs interprétés).
Verilator a généralement des performances similaires ou supérieures à celles des simulateurs Verilog à source fermée (par exemple, Aldec Riviera-Pro, Cadence Incisive/NC-Verilog, Mentor ModelSim/Questa, Synopsys VCS, VTOC et Pragmatic CVer/CVC). Mais Verilator est open source, vous pouvez donc dépenser en calculs plutôt qu'en licences. Ainsi, Verilator vous offre les meilleurs cycles de simulation/dollar.
Pour plus d'informations :
Verilator est un projet communautaire, guidé par la CHIPS Alliance sous la Linux Foundation.
Nous apprécions et apprécions vos contributions sous quelque forme que ce soit ; veuillez consulter Contribuer à Verilator. Merci à nos contributeurs et sponsors.
Verilator soutient et encourage également les modèles et organisations de soutien commercial ; veuillez consulter le support commercial de Verilator.
Verilator est protégé par copyright 2003-2024 par Wilson Snyder. (Signaler les bogues aux problèmes du Verilator.)
Verilator est un logiciel gratuit ; vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale limitée GNU version 3 ou de la licence artistique Perl version 2.0. Voir la documentation pour plus de détails.