anchor.diff:        if (colWriteBackIterator.isLast()) begin
   	 //let unused <- toGet(rowWriteBackIterator.pipe).get();
         end
  -
         wrrCount <= wrrCount + 1;
         $display("writeReqRule: offset=%h cwbi.isLast %d rwbi.isLast %d wrr %d", offset, colWriteBackIterator.isLast(), rowWriteBackIterator.isLast(), wrrCount);
         writeReqFifo.enq(MemRequest { sglId: writePointerReg, offset: extend(offset), burstLen: fromInteger(valueOf(DataBusWidth)/8), tag: tag });
  
positive.code:    rule topBufferReadRule;
        let addr <- toGet(topBufferReadIterator.pipe).get();
        if (verbose) $display("topBufferReadRule: addr=%h", addr);
        topBufferRequestFifo.enq(BRAMRequest{write: False, responseOnWrite: False, address: addr, datain: 0});
     endrule
  
     mkConnection(mapPipe(pack, toPipeOut(topBufferResponseFifo)), toPipeIn(writeDataGearbox));
     Reg#(Bit#(32)) wrrCount <- mkReg(0);
     rule writeReqRule;
        let offset <- toGet(colWriteBackIterator.pipe).get();
  
negative.code:    let ipDriver <- mkIPDriver();
     mkConnection(ipDriver.lineBufferReadClient, lineBuffer.portB);
     mkConnection(ipDriver.lineBufferWriteClient, lineBuffer.portA);
     mkConnection(ipDriver.innerProdRequest, toPipeIn(inputFifo));
     mkConnection(toPipeOut(bramFifo), ipDriver.innerProdResponse);
  
  