anchor.diff:      method Action           ibufdso(Bit#(1) v);
       method Bit#(1)          align_busy();
       method Bit#(1)          aligned();
  -    method Bit#(1)          sampleinfirstbit();
  -    method Bit#(1)          sampleinlastbit();
  -    method Bit#(1)          sampleinotherbit();
  +    method Bit#(3)          samplein();
       method Action           delay_wren(Bit#(1) v);
       method Action           fifo_wren(Bit#(1) v);
       method Action           reset(Bit#(1) v);
  
positive.code:         serdes_align_busy_reg <= serdes_align_busy_temp;
      endrule
  
      rule sendup_ibufdso;
         for (Bit#(8) i = 0; i < 5; i = i+1)
  	  serdes_v[i].ibufdso(ibufds_v[i]);
      endrule
  
      rule sendup_imageon_clock;
  
negative.code:        Bit#(5) emptyw = 0;
         Bit#(50) rawdataw = 0;
         for (Bit#(8) i = 0; i < 5; i = i+1) begin
  	  alignbusyw[i] = serdes_v[i].align_busy();
  	  alignedw[i] = serdes_v[i].aligned();
  	  firstw[i] = serdes_v[i].samplein()[2];
  	  lastw[i] = serdes_v[i].samplein()[1];
  	  otherw[i] = serdes_v[i].samplein()[0];
  	  emptyw[i] = serdes_v[i].empty();
  	  rawdataw[(i+1)*10-1: i*10] = serdes_v[i].dataout();
         end
  