2007年08月28日
シミュレーション・サイクル
VHDLにおけるシミュレーション・サイクルを以下に紹介する。
1.TcにTnを代入
ここで、アクティブなドライバや開始するプロセスがない、または
シミュレーションの最大時刻ならばシミュレーション終了
2.信号を更新する。
3.更新された信号にセンシティブな全てのプロセスを実行する
4.以下の中で最も近い時刻をTnに入れる
・シミュレーションの最大時刻
・ドライバがアクティブになる次の時刻
・プロセスが再開する次の時刻
この処理後、TcとTnが同じならばデルタサイクルなので
デルタサイクルを進めて1に戻る
5.実効遅延プロセスを実行して1に戻る
Tc:現在のシミュレーションサイクルの時刻
Tn:次のシミュレーションサイクルの時刻
VHDLシミュレータはこの処理を繰り返し行いシミュレーションを進めている。
これを理解出来るとデルタ遅延や実行遅延プロセス等の理解も早いと思うので是非理解したい所だ。
実行遅延プロセスについては次の機会に書こうと思う。