verilogとsystemverilogの違いは何ですか?


ベストアンサー

1.VerilogはHDL(ハードウェア記述言語)ですが、SystemVerilog(SV)はHDLとHVLの両方です(ハードウェア検証言語)、HDVLと呼ばれるように組み合わされています。

2.Verilogには主に2つのデータタイプRegとWireがあり、4つの値のロジック0,1、x、zですが、SVにはさまざまな種類があります。 int、shortint、longint、logic、bit、real、realtime、reg、chandle、userdefinedデータタイプなどのデータタイプ。どちらも4値と2値のロジックの組み合わせです。

3。メモリと配列Verilogでの宣言は本質的に静的ですが、SVの場合は動的であるため、コンパイル時に宣言を変更できます。

4.Verilogのイベントキュー全体は、アクティブな4つの領域に分割されます。 、非アクティブ、NBA、延期された領域、SVの場合はPLIを含む17の領域に分割され、メソッドレースフリーテストベンチが組み込まれ、分離として使用されるプログラムブロックの導入nVerilogとは異なりDUTとTB。

5.Verilogには、組み合わせロジックとシーケンシャルロジックを実装するための単一のalwaysブロックがありますが、SVはalways\_ff、always\_comb、always\_latch構文を使用して異なるロジックを使用します。

6.Verilogのフルケースとパラレルケースは、SVでは一意の優先度ステートメントに置き換えられます。

7.SVでのFSMの実装は、多数のenumデータ型を使用することでSVではるかに簡単になります。ハードコードされたVerilogのパラメータを使用するのとは異なり、目的のデバッグに役立つnumber、first、last、next、previousなどのメソッド。

8。 SystemVerilogは、信号の数が多いためにDUTでのインスタンス化が面倒になるVerilogとは異なり、同期に使用されるクロッキングブロックとともに、すべての信号のバンチングに使用されるインターフェイス構造を使用します。

9.Verilogモジュールレベルのテストベンチ、SVは本質的に動的なクラスベースのテストベンチを使用します。

回答

SystemVerilog はスーパーセットです。 Verilog 言語の拡張。それがどのように進化したかを理解するには、それがどのように進化したかについての歴史を簡単に理解するのがよいでしょう

Verilog言語 1983 で、 div> Gateway Design Automation Inc. Gateway Design Automationは、1990年にCadenceに買収され、拡張が続けられました。その後、1995年に IEEE標準1364 になり、より広く使用されるようになりました。その後、 2001年と2005年にVerilogに2つの主要な機能拡張がありました。

同じ時間枠で、設計の複雑さが増し、Verilog標準の拡張は主にRTL構造用でした。

検証方法も同じ時間枠で進化し、複雑な設計の効率的な検証に対処しました。カバレッジおよびアサーションベースの検証による制約付きランダム検証がより有用になりました。

Verilog言語は同じものをサポートしていなかったため、 Vera Specman は、モデリング、スティミュラス、アサーションなどの検証に必要な構成のほとんどをサポートするため、業界で広く使用されるようになりました。ただし、これらの言語は特定のベンダーに限定されており、IEEE標準には限定されていません。

SystemVerilog は、もともとVerilog 2005の拡張として意図され、IEEE標準1800になりました。これは、個別のドキュメントとして公開され、何百もの拡張機能で構成されています。およびverilogの拡張。 2009年に正式にVerilogのスーパーセットになり、2012年に IEEE 1800-2012 標準として再度更新されました。

5つのメジャーがありました。 SystemVerilogで拡張機能が追加された領域

1)SVD –システムVerilog forDesign。 これには、設計構造に対するいくつかの機能強化が含まれます。

2)SVTB-テストベンチ用のSystemVerilog:これは最大の機能強化セットでした。 SystemVerilogで、すべてのテストベンチモデリングと新しい検証方法のニーズをサポートします。

これには、高レベルでのオブジェクト指向プログラミングのサポート、クラスによるオブジェクト指向プログラミングのサポート、制約付きランダム刺激を作成するためのいくつかの機能を備えた制約ソルバー、並行プロセスが含まれます。 、セマフォ、メールボックス、その他多数。

3)SVA –システムVerilogアサーション:これには、プロパティやシーケンスなどの時間的および同時アサーションのいくつかの機能が含まれます。

4)SVDPI – SVダイレクトプログラミングインターフェイス:これには、より優れたC / C ++統合のための機能が含まれています

5)SVAPI – SVアプリケーションプログラミングインターフェイス:これには、カバレッジとアサーションのためのAPIのより良い統合のための機能が含まれます

詳細については、IEEE1800.2012を参照してください 仕様- 1800-2012標準

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です