anchor.diff:        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
  +//   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();
  
positive.code: 
  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
  
negative.code: 
     Reg#(Bit#(8))  lwrite_port <- mkReg(0);
     Reg#(Bit#(53)) lwrite_timestamp <- mkReg(0);
     FIFOF#(BufData) lwrite_cf <- mkSizedFIFOF(8);
  
     Reg#(Bit#(8))  lread_port <- mkReg(0);
     FIFOF#(void)   lread_cf <- mkSizedFIFOF(8);
  