next up previous contents
Next: 外部システムがすべき具体的な処理内容 Up: プロセッサから発行される要求に対する処理 Previous: isim_processorから発行されるパケットの取得

isim_processorへのパケットの送信

メモリからの読み出しデータをisim_processor に返したい場合には、次のようにすればプロセッサに送信できる。 isim_processorの入力ポート(incoming_port) にport_Bという名の 外部システムのポートが接続されているとする。

  if ( !port_B.have_packet()
       || ( port_B.have_packet()
            && port_B.inst_id() == -1 ) ) {
      port_B.set_inst_id(inst_id);
      port_B.set_addr(addr);
      port_B.set_data(data);
      port_B.set_data2(data2);
      port_B.set_data_half(data_half);
      port_B.set_data_byte(data_byte);
      port_B.set_data_size(data_size);
      port_B.set_reply();
      port_B.set_puid(puid);
  }
どの要求に対する読み出しデータなのかを isim_processorに知らせるため、puidinst_idには 受信したときと同じ値を代入する必要がある。 また、読み出しデータの送信要求であることを set_reply()によって通知する。 if文の条件にport_B.inst_id() == -1を付加することによって、 情報取得されていないパケットへの上書きを避けることができる。



Toshiya Minai
平成17年2月1日