考慮してください:プロセス(a)私が持っているテキストによると:
プロセスは、最初にシミュレーション時に入力され、その時点で、wait ステートメントまたはセンシティビティ リストによって中断されるまで実行されます。
機密リストにイベントがなくても、プロセスを 1 回実行する必要があると推測するのは正しいですか? また、アーキテクチャ内に複数のプロセスがある場合、それらはすべて一度に実行されるのでしょうか?
私の知る限り、センシティビティ リスト (例: ) は、プロシージャの直前process (x,y)
の略記です(152 ページ、「A Designer's Guide to VHDL」第 3 版)。したがって、すべての手順が少なくとも 1 回実行されます。wait on x,y;
end process
VHDL シミュレーションの実行には 3 つの段階があります。これらは、精緻化、初期化、およびシミュレーションです。
初期化フェーズの開始時に、現在の時間が 0 に設定されます。次に、シミュレーション カーネルは、すべてのシミュレーション プロセスをアクティブ プロセス キューに配置します。次に、各シミュレーション プロセスがこのキューから取得され、中断されるまで実行されます。初期化中のシミュレーション プロセスの実行順序は重要ではありません。各シミュレーション プロセスの最初の実行では、シミュレーションを続行できるように、すべての最初のトランザクションが確実にスケジュールされます。
シミュレーション プロセスは、暗黙的または明示的に中断されます。センシティビティ リストを含むプロセスは、その一連のステートメントがプロセスの最後まで実行された後、暗黙的に中断されます。1 つ以上の待機ステートメントを持つプロセスは、最初の待機ステートメントが実行されるときに明示的に中断されます。
アクティブ プロセス キューが空になると、初期化フェーズが完了します。
あなたの質問に答えるために、すべてのプロセスは初期化段階で一度実行されます。