遅延モデル
プログラム例
SC_MODULE( LAT ) {
sc_in< sc_uint<8> > input;
sc_out< sc_uint<8> > output;
sc_uint<8> temp;
sc_event ev_next;
SC_CTOR( LAT ) {
SC_METHOD( process1 );
sensitive << input;
SC_METHOD( process2 );
sensitive << ev_next;
}
void process1() {
temp = input.read();
ev_next.notify(30, SC_US);
}
void process2() {
output.write( temp );
}
};
説明
8ビットの1入力、1出力の遅延モデル。
process1で入力の信号を監視して、外部からデータが入ってきたら、メンバ変数のtempに入力データを格納する。さらに、30us後に通知するイベントを行う。
process2でev_nextを監視し、process1からのイベントが通知されたら、出力にtempのデータを書き込む。
process1で入力の信号を監視して、外部からデータが入ってきたら、メンバ変数のtempに入力データを格納する。さらに、30us後に通知するイベントを行う。
process2でev_nextを監視し、process1からのイベントが通知されたら、出力にtempのデータを書き込む。