遅延モデル
プログラム例
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のデータを書き込む。