anchor.diff:  import GetPut::*;
   import FIFO::*;
   import FIFOF::*;
  +import BRAMFIFO::*;
   import Vector::*;
   import Stream::*;
   import Gearbox::*;
  
positive.code:            ,Add#(1, b__, TLog#(TAdd#(1, n))));
     module mkStreamGearboxUp(StreamGearbox#(n, m));
        let verbose = False;
        FIFOF#(ByteStream#(n)) in_ff <- mkSizedFIFOF(2);
        FIFOF#(ByteStream#(m)) out_ff <- mkSizedFIFOF(2);
        Reg#(Bool) inProgress <- mkReg(False);
        Reg#(Bool) oddBeat    <- mkReg(True);
        Reg#(ByteStream#(n)) v_prev <- mkReg(defaultValue);
  
negative.code:       let clock <- exposeCurrentClock();
        let reset <- exposeCurrentReset();
  
        FIFOF#(ByteStream#(n)) in_ff <- mkFIFOF;
        FIFOF#(ByteStream#(m)) out_ff <- mkFIFOF;
        Gearbox#(2, 1, ByteStream#(m)) fifoTxData <- mkNto1Gearbox(clock, reset, clock, reset);
  
        function Vector#(2, ByteStream#(m)) split(ByteStream#(n) in);
  