anchor.diff:     return (((bufferfirst + 64) & buffermask) != bufferlast);
      endmethod
   
  -   method Action push(UInt num);
  +   method Action push(UInt#(8) num);
      bufferfirst <= (bufferfirst + num) & buffermask;
      endmethod
   
  -   method Action pop(UInt num);
  +   method Action pop(UInt#(8) num);
      bufferlast <= (bufferlast + num) & buffermask;
      endmethod
    
  -   interface Reg expBufferLast = bufferlast;
  +   interface Reg bufferFirst = bufferFirst;
  +   interface Reg bufferLast = bufferlast;
  +   interface Reg enable = hwenable;
   
   endmodule
  
positive.code:    Reg#(Bit#(40)) bufferfirst <- mkReg(0);
     Reg#(Bit#(40)) bufferlast <- mkReg(0);
     Reg#(Bit#(40)) buffermask <- mkReg(0);
     
     interface RingBufferConfig configifc;
     method Action set(Bit#(2) regist, Bit#(40) addr);
  
negative.code:       else if (regist == 1) bufferend <= addr;
        else if (regist == 2) bufferfirst <= addr;
        else if (regist == 3) bufferlast <= addr;
        else if (regist == 4) buffermask <= addr;
        else hwenable <= (addr[0] != 0);
     endmethod
     
     method Bit#(40) get(Bit#(2) regist);
        if (regist == 0) return (bufferbase);
        else if (regist == 1) return (bufferend);
        else if (regist == 2) return (bufferfirst);
        else if (regist == 3) return (bufferlast);
        else if (regist == 4) return (buffermask);
        else return(hwenable);
     endmethod
     endinterface
  
  