事業内容

VeriePy技術

ソフトウェアの開発力をハードウェア検証へ

弊社では従来の検証メソドロジーに対し、次のような問題意識がありました。

  • 多種のデバイスに対応できるが、テストベンチが立ち上がるまでに時間が掛かる
  • 再利用性は高くなるが、そのためにテストコードが長くなり、問題の切り分けが難しくなる
  • 高機能だが学習曲線が急で設計が難しい

その解決策の一つとして、従来の検証メソドロジーに加えて、軽量でフットワークの軽い選択肢を用意するため、 HDLシミュレーターをDPI(Direct Programming Interface)を通じてスクリプト言語Pythonと直結し、 ソフトウェアでテストベンチを作るための技術『VeriePy』を開発しました。

技術概要

VeriePyは極めてシンプルで薄いブリッジプログラムで、以下のように機能します。

VeriePy技術概要
  1. クロックポートのposedgeに応じて、クロックポート名のついた関数を実行する
  2. ポート名.get()関数でポート内の数値を取得する
  3. ポート名.set(...)関数でポートに数値を注入する
  4. 関数終了後にシミュレーター処理に戻る

パフォーマンス比較

VeriePyパフォーマンス比較

過去の実際のメーカー製プロダクトでほぼ同等のテストを実行したものです。

実行時間に数値変換とスクリプト処理のオーバーヘッドがかかるが、データが多くなるにつれ、オーバーヘッドは下がり、概ね150~200%には収まります。 一方、行数はUVMの1/3以下とシンプルに記述できます。

配布方法

VeriePyは社内技術として開発されたので、配布などの詳細について検討中です。 ご興味のあるかたは、是非ご意見を下記のアンケートフォームに記入していただくか、Mail Address までお知らせ下さい。

VeriePy配布に関するアンケートはこちら

対応可能な分野

■ファームウエア

各種プロセッサのファームウエア(ARM、ARC他)、各種デバイスドライバ(ネットワーク、PCIe等)の開発を実施します。

■プロトタイプ検証

ハードウエア検証の経験・知識を生かした、効率の良いプロトタイピング検証を実施します。

■システム開発

CPU内蔵FPGAなどにおいてハードウエアロジックを含む、OS/ファームウエア、デバイスドライバを含めた開発を実施します。

■UI/GUI開発

社内ツール開発で蓄積した技術等をベースにUI/GUIの開発を実施します。

事例紹介