2016-10-16 2 views
1

ソフトウェア開発にTDDを適用しました。本当に良かったです!さて、私はVHDLのFPGAデザインに熱心で、TDD方法論をどのように適用するのかと思っています。VHDLにTDDを適用した人はいますか?

FPGAデザインでTDDを使用したことがありますか?はいの場合はどうしますか?あなたが学ぶべき記事や資料を知っていますか?

ありがとうございます!

+0

VUnitは1です。 (JUnit for Java、AUnit for Adaなどに続く)。また、他の奇妙なテスト言語、UVMなどを必要とせずに、OSVVMと連携して制約のあるランダムなものを提供します。http://vunit.github.io/ –

答えて

0

私はTDDを特に適用したことはありませんが、VHDLプロジェクトのデザインコンポーネントのテストベンチを常に持っています。

完全にTDDの哲学の中にあるわけではありませんが、多くのハードウェア設計はその説明の一部に似ています。実際、ハードウェアはしばしば細かい粒度でのテストに適していると主張します。なぜなら、コンポーネントには、ソフトウェアユニットが他の多くのクラスに依存して意味をなすために入力と出力が明確に定義されていることが多いからです。

特に、ブロックが「機能」であるとみなす場合、すべてのサブブロックが適切に検証されている場合、類似性は強いです。さらに、小規模な算術ブロックでテストベンチの刺激ファイルを使用する場合は、最初にいくつかの共通の特殊なケースを考えることができます。あなたはかなり低いレベルで繰り返し作業するでしょう。

ハードウェア設計にうまく対応しないTDDの概念には、「ユーザーストーリー」という考えがあります。プロジェクトを拡張可能にするように特別に設計している場合を除き、すべてのコンポーネントが適切に配置されるまで最上位レベルのテストが行​​われることはありません。

具体的なリンクや資料はありません。通常、すべてのテストを実行するためのカスタムスクリプトが多数あります。テストベンチとは別に、アサーション、等価性チェック、さまざまな形式のフォーマル検証によるチェックが必要な場合がありますが、詳細については、ASICの方がFPGAデザインよりも具体的になる可能性があります。 Briand Drummondのコメントで言及されたVUnitは非常に興味深いようです。ハードウェアエンジニアがテストあなたは物理的な製品に何をすべきかであるVHDLコード検証、上のチェックを呼び出すする傾向があること

は注意してください。私はこの区別について非常に情熱的だった1人の教授を持っていました。

関連する問題