anchor.diff:        if (v.sop) begin
            last_startofpacket <= cycle_cnt;
            idleCount <= (last_endofpacket != 0) ? (idleCount + (cycle_cnt - last_endofpacket)) : 0;
  -         sopCount <= sopCount + 1;
         end
         if (v.eop) begin
            last_endofpacket <= cycle_cnt;
            goodputCount <= (last_startofpacket != 0) ? (goodputCount + (cycle_cnt - last_startofpacket)) : 0;
  -         eopCount <= eopCount + 1;
         end
      endrule
   
  
positive.code:    Reg#(Bit#(64)) idleCount <- mkReg(0);
  
     // stats
     Reg#(Bit#(64)) idle_cycles <- mkReg(0);
     Reg#(Bit#(64)) sopCount <- mkReg(0);
     Reg#(Bit#(64)) eopCount <- mkReg(0);
     Reg#(Bit#(64)) data_bytes <- mkReg(0);
  
     // RingBuffer Read Client
     FIFO#(EtherData) readDataFifo <- mkFIFO;
  
negative.code:    endinterface
     interface Put macRx = toPut(readMacFifo);
     method ThruDbgRec sdbg;
        return ThruDbgRec {data_bytes: data_bytes, sops: sopCount, eops: eopCount, idle_cycles: idle_cycles, total_cycles: total_cycles};
     endmethod
  endmodule
  