Verification Engineerの戯言
http://blogs.yahoo.co.jp/verification_engineer/27245205.html に書いた「Verification Engineerのお仕事」。今回は
カテゴリー3 ・検証シナリオをSystemVerilogなどの言語で実装する ・検証シナリオをシミュレーションにて確認するについて、考えてみます。
「カテゴリー3」の仕事は、Verification Engineerとしては基本であり、新人(最初の一歩)としては、このカテゴリから入るのが一般的だと思います。「カテゴリー1」で決めた検証シナリオを何らかの言語で実装します。
これについては、DPI-Cの項目で説明している ので、ぜひ、チェックしてみてください。http://blogs.yahoo.co.jp/verification_engineer/folder/1433523.html
Verification 1.0の世界では、HDL(Verilog HDL/VHDL) で、 Verification 2.0の世界では、HVL(e/OpenVera) で、 Verification 3.0の世界では、SystemVerilogやSystemC で、実装します。しかしながら、「カテゴリー5」のES評価用のS/W(ファームウェアやデバイスドライバ等)を開発するを行うのであれば、検証シナリオはC言語で行うべきでしょう!
これについては、DPI-Cの項目で説明している ので、ぜひ、チェックしてみてください。http://blogs.yahoo.co.jp/verification_engineer/folder/1433523.html
検証シナリオは、モジュール(ブロック、IP等)では各メソドロジー(VMM/AVM/URM/OVM)に従って記述することになります。一方、SoCのチップ全体に対する検証シナリオは、モジュールの検証シナリオが使えればいいのですが、メソドロジー依存になるので、事前に考慮しておかないと、二度手間になります。せっかく、モジュールで検証シナリオを書いているので、この検証シナリオを再利用できれば、効率が上がるばかりではなく、検証シナリオの品質の面でも優位性があります。
ぜひ、モジュールの検証シナリオがチップ全体(SoCの場合は特に)で再利用できるようにしてみてください。きっと、いいことがあります。