title: SystemC: read() and write() to port doesnt work
body: <p>I am new to systemC It might look stupid but I would appreciate help.
  In the below code</p>
  
  <ol>
  <li>In main function :write() to <code>aa</code> and <code>bb</code> shows value 0 when read using <code>aa.read()</code> and <code>bb.read()</code> which should be 10 and 20</li>
  <li>And   also I think it should enter the method <code>do_add()</code> in the adder module as it is sensitive to <code>a</code> and <code>b</code> and <code>a</code>,<code>b</code> are binded to <code>aa</code> and <code>bb</code> signals but it doesn't call the method <code>do_add()</code>. How does it work and is there any error in the code?</li>
  </ol>
  
  <p>For compiling the code:</p>
  
  <ol>
  <li><code>g++ -I. -I$SYSTEMC_HOME/include -L. -L$SYSTEMC_HOME/lib-linux64 -Wl,-rpath=$SYSTEMC_HOME/lib-linux64 -o out adder.cpp -lsystemc -lm</code></li>
  <li><code>./out</code></li>
  </ol>
  
  <p><b></b></p>
  
  <pre><code>#include "systemc.h"
  
  #define WIDTH  32
  
  SC_MODULE(adder) {
      sc_in&lt;sc_uint&lt;WIDTH&gt; &gt; a, b;  
      sc_out&lt;sc_uint&lt;WIDTH&gt; &gt; sum;
  
      void do_add() {
          // cout&lt;&lt;"hello"&lt;&lt;endl;
          // cout&lt;&lt;a.read()&lt;&lt;b.read()&lt;&lt;"\n";
          sum.write(a.read() + b.read());
          // cout&lt;&lt;sum.read()&lt;&lt;endl;
      }
  
      SC_CTOR(adder) {
          SC_METHOD(do_add);   
          sensitive &lt;&lt; a &lt;&lt; b; 
      }
  };
  
  int sc_main(int argc, char* argv[]) {
      sc_signal&lt;sc_uint&lt;WIDTH&gt; &gt;aa,bb;
  
      adder add("Adder");
      add.a(aa);
      add.b(bb);
  
      aa.write(10);
      bb.write(20);
  
      cout&lt;&lt;aa.read()&lt;&lt;bb.read()&lt;&lt;"\n";
  }
  </code></pre>