2016-08-11 5 views

答えて

5

デザイナーがRTLの競合状態を防止するのと同じセマンティクスを使用します。ノンブロッキング割り当て、または代替クロックエッジ。

プログラムブロックは、SystemVerilogでは不要な構成要素です。 http://go.mentor.com/programblocks

3

プログラムブロックを使用せずに競合状態を回避することができます。

レースコンディションは、式のために作成されたもので、割り当ては同じ信号に同時にアクセスしようとしています。

異なる信号で同じ信号に2つの信号がアクセスしようとすると、ユーザーは競合状態を取り除くことができます。

実際には、コードはVerilogで記述されているか、Verilogはアクティブ領域、反応領域などの異なる時間領域で実行されています。

以下のものを使用して、競技状態を取り除くことができます。

(1)プログラムブロック

(2)ブロック

クロッキング(3)非プログラムブロックの前にassigment

をブロックおよびブロック競合状態が非ブロッキング割り当てを使用して除去される計時。

VerilogコードまたはシステムVerilogコードで記述された上記の説明は、同じ時間で同じコードを実行するものではありません。ツールによって特定の構文が実行される地域は異なります。

ここでは主にアクティブ領域とリアクティブ領域について説明しました。 アクティブな領域は、割り当てをブロックする連続的な割り当てを考慮します。 リアクティブ領域リバース領域では、非ブロッキング割り当てのLHSがこの領域で評価されます。

第1の活性領域が評価され、次に反応性領域が評価される。

したがって、競合状態を解消するプログラムブロックの前に、検証エンジニアがこの問題(実行領域)を処理します。

システムのVerilogでは、プリオン領域、観測領域、延期領域のような多くの領域が追加されています。

関連する問題