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があなたの次の検証プロジェクトにどのような価値を(そして喜びを)与えるかを体験していただきます!

 

Use Python and bring joy back to verification webinar video

 

cocotbのウェビナー録画

 

関連リンク

 

 
Ask Us a Question
x
Ask Us a Question
x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.
We use cookies to ensure we give you the best user experience and to provide you with content we believe will be of relevance to you. If you continue to use our site, you consent to our use of cookies. A detailed overview on the use of cookies and other website information is located in our Privacy Policy.