Cocotb COroutine based COsimulation TestBench(cocotb)は、Pythonでハードウェア・テストベンチを作成するための非常に人気のあるオープンソースで完全無料の環境です。 これらはActive-HDLまたはRiviera-PROを使用して(VHDLまたはVerilogで記述された) デザインを検証するために使用することができます。 cocotbはデザインとテストベンチがシームレスに連携することを保証し、真のホワイトボックス形式でデザイン全体にアクセスするための最小限でありながら有用なフレームワークを提供します。 cocotbのパワーの多くは、そのエコシステムから来ています。50万ものPythonパッケージが利用可能であるため、ファイル形式の解析、他のツールとのやりとり、結果のプロットなど、ほとんどの問題にすぐに使用できるソリューションがすでにあります。さらに、cocotbは拡張することが出来ます。コンストレントランダム検証、ファンクショナルカバレッジの収集、さらにはPythonでのUVMクラス階層の実装を実行するためのパッケージがすぐに利用することが可能です。cocotbはベンダーニュートラルであり、世界中に分散したボランティアグループによって運営されています。cocotbで何か改良してほしいものを見つけた場合は、ぜひコミュニティに参加してください。 cocotbを使えば、VerilogやVHDLデザインのテストベンチを書くことが生産的になり、楽しくなります。 主な使用例 cocotbは、デザインサイクルの初期の設計者によるシミュレーションから本格的なコンストレイントランダムテストベンチまで、適切に拡張します。特にFPGAプロジェクトでは、cocotbが提供する迅速なテストセットアップと迅速なターンアラウンドタイムが大きな恩恵を受けます。 メリット cocotbは検証の生産性を向上させます。検証はソフトウェアによって実行し、Pythonでコードを記述することで、ソフトウェア開発を生産的で楽しいものにするあらゆるものにアクセスしてその恩恵を受けることができます。cocotbを使用すると言語の制限と戦う必要がなくなり、検証作業そのものに集中することができます。 なぜPythonなのか? 非常に生産的な言語 Pythonと他言語との簡単なインターフェイス 既存のコードの膨大なライブラリがあり再利用が可能 Pythonはインタプリタ言語であり、デザインの再コンパイル不要でテストを編集して再実行することが可能 Python は人気がある - SystemVerilogやVHDLよりもPythonを知っているエンジニアがはるかに多い ウェビナービデオ - Pythonを使って検証の楽しさを取り戻そう cocotbは、Pythonを使用したVHDL/Verilog RTLを検証するためのCOroutine based COsimulation TestBench環境です。cocotbは、UVMと同様にデザインの再利用とランダマイズテストを推奨していますが、SystemVerilogではなくPythonで実装されています。 cocotbでは、VHDL/Verilog/SystemVerilogを通常テストベンチではなく、デザインそのもののみに使用されています。このウェビナーでは、cocotbを紹介し、アルデックのRiviera-PROを使用して小規模デザインを開始する方法を示します。また、より複雑な例も紹介し、cocotbがあなたの次の検証プロジェクトにどのような価値を(そして喜びを)与えるかを体験していただきます! cocotbのウェビナー録画 Constraint Random Verification with Python and Cocotb Effective Testbench Creation Using Cocotb and Python Engineering best practices for Python-based testbenches with cocotb High-level thinking: Using Python for rapid verification of VHDL and Verilog designs 関連リンク https://www.cocotb.org/ https://docs.cocotb.org/