anchor.diff:     Bit#(6)  offset = size[5:0];
      Bit#(64) max    = (size >> 6) + ((offset == 0) ? 0 : 1) -1;
      
  -   FIFOF#(Bit#(asz))  fifo <- mkSizedBRAMFIFOF(16);
  +   FIFOF#(Bit#(asz))  fifo <- mkPipelineFIFOF;
      Reg#(Bit#(asz))    buff <- mkReg(0);
      Reg#(Bit#(64))    count <- mkReg(0);   
      
  
positive.code: // SOFTWARE.
  
  import GetPut         ::*;
  import BRAMFIFO       ::*;
  import FIFOF          ::*;
  
  function Bit#(a) rtruncate(Bit#(b) x) provisos(Add#(k,a,b));
     match {.v,.*} = split(x);
  
negative.code:    Bit#(64) size = fromInteger(valueOf(asz));
     Bit#(64) max  = (size >> 6) + ((size[5:0] == 0) ? 0 : 1)-1;
     
     FIFOF#(Bit#(asz))   fifo <- mkPipelineFIFOF;
     Reg#(Bit#(64))     count <- mkReg(0);
  
     method Action enq(a val) if (fifo.notFull);
  