1

syncSystem Verilog 言語の Specman e に相当するものは何ですか。

Specman e@ event_indentifierと同等だと理解しています。wait @ eventしかし、どうsync @ eventですか?

4

2 に答える 2

1

名前付きイベントの場合、triggeredプロパティを使用できます。

event ev;
...
wait (ev.triggered);

完全な説明については、2012 SystemVerilog LRM の 15.5.3 章を参照してください。

于 2013-03-27T13:39:50.760 に答える
1

IEEE 1647の13.1.1の一部は言う

同期アクションは待機アクションと似ていますが、待機アクションでは、実行を続行する前に TCM のサンプリング イベントの少なくとも 1 サイクルが常に必要になる点が異なります。同期アクションを使用すると、同じタイム ステップで実行を継続できます。

1647年から2008年のドラフトの一部

為にsync

TCM が同期アクションに達すると、その実行が一時停止されるため、他の TCM または一時停止された TCM 自体の実行をスケジュールできます。

為にwait

TCM が待機アクションに達すると、その実行が中断され、他の TCM の実行をスケジュールできるようになります。中断された TCM 自体はアイドル状態のままであり、サンプリング イベントが次に発生するまでスケジュールされません。

色々と比べていると思います。SystemVerilogはシミュレーション エンジンおよびカーネルであり、Specmanはカーネルへのアドオンまたはプラグインのようなもので、e言語で記述したものを監視およびチェックします。SystemVerilogでは、イベントはシミュレーション イベント用であり、Specmanは TCM プロセス用の独自のイベントも作成します。したがって、Specmanでは、独自の TCM プロセス スケジューリングがあります。を使用するsyncと、余分なサイクルなしで同期を行うことができます。waitサンプリングサイクルに少なくとも 1 サイクルを使用して発生させます。もちろん、もしsyncそしてwaitには一時的な表現がありません。どちらも TCM のデフォルトのサンプリング イベントを使用し、1 つ以上のサイクルを持つことができます。

SystemVerilogもイベントベースのシミュレータです。各時間ステップにデルタ サイクルがあります。http://standards.ieee.org/getieee/1800/download/1800-2012.pdfでIEEE 1800-2012 SystemVerilog LRM をダウンロードできます。スケジューリング リファレンス アルゴリズムについては 4.5 を参照してください。ただし、ハードウェア モデリングではwait、現在のシミュレーション タイム ステップでサイクル遅延をゼロにするための明示的な同期はありません。これは、シミュレーターがセンシティビティ リストを実行するプロセスを自動的にスケジュールするためです。SpecmanSystemVerilogを比較する必要がある場合は、具体的にはSystemVerilog アサーション構文である必要があります。##0SVA には、次のアサーション式の前にアサーション プロセスのサイクル遅延をゼロにする構文があります。

于 2013-03-29T03:30:36.857 に答える