anchor.diff:  
   typedef enum { QIdle, QTrain, QOff} QState deriving (Bits,Eq);
   typedef enum { AIdle, ADelay, AWDelay, AEdge, ACEdge, AWait, ACompare, AValid,
  -     A1Changed, A1Stable, ASecond, AFound, AResetman, AStart, AAlign, ADone } AState deriving (Bits,Eq);
  +     A1Changed, A1Stable, ASecond, AFound, AManual, AStart, AAlign, ADone } AState deriving (Bits,Eq);
   
   module mkIserdesDatadeser#(Clock serdes_clock, Reset serdes_reset, Clock serdest, Bit#(1) align_start,
       Bit#(1) autoalign, Bit#(10) training, Bit#(10) manual_tap, TrainRotate trainrot)(IserdesDatadeser);
  
positive.code:             serdes_setting.enq(3'b001);
              end
      endrule
      rule afsmresetman_rule if (bvi_resets_reg.read() != 0 && astate == AResetman);
          serdes_end.deq();
          if (gencounter >= 'h8000)
              astate <= AStart;
  
negative.code:         if (autoalign != 1)
              begin
              gencounter <= {6'b000000, manual_tap};
              as = AManual;
              end
          astate <= as;
          serdes_setting.enq(3'b100);
  