anchor.diff:  
   interface SonicUserRequest;
      method Action read_timestamp_req(Bit#(8) cmd);
  -   method Action write_delay(Bit#(64) host_cnt);
      method Action log_write(Bit#(8) port_no, Bit#(64) local_cnt);
      method Action log_read_req(Bit#(8) port_no);
   endinterface
  
positive.code:    method Action read_timestamp_req(Bit#(8) cmd);
        indication.read_timestamp_resp(truncate(timestamp_reg));
     endmethod
     method Action write_delay(Bit#(64) host_cnt);
        Bit#(64) delay = (host_cnt - cycle_count) >> 1;
     endmethod
     method Action log_write(Bit#(8) port_no, Bit#(64) host_timestamp);
        // Check valid port No.
        if (port_no < 4) begin
           lwrite_cf.enq(BufData{port_no: port_no, data: host_timestamp});
        end
     endmethod
     method Action log_read_req(Bit#(8) port_no);
        if (port_no < 4) begin
  
negative.code:       timestamp_reg <= v;
     endrule
  
  //   rule log_from_host (lwrite_cf.notEmpty);
  //      let v = lwrite_cf.first;
  //      //if (fromHostFifo[v.port_no].notFull) begin
  //         //fromHostFifo[v.port_no].enq(truncate(v.data));
  //         lwrite_cf.deq;
  //      //end
  //   endrule
  
     Probe#(Bit#(8))  debug_port_no <- mkProbe();
     Probe#(Bit#(53)) debug_host_timestamp <- mkProbe();
  