anchor.diff:      Reg#(Bit#(10)) ctrl_data <- mkReg(0);
       Reg#(HState)  hstate <- mkReg(HIdle);
       Reg#(Bit#(6)) hcounter <- mkReg(0);
  +    Reg#(Bit#(1)) edge_intor_reg <- mkReg(0);
       SyncBitIfc#(Bit#(1)) item_req_wire <- mkSyncBit(defaultClock, defaultReset, serdes_clock);
   
       rule reset_clock_rule;
  
positive.code: 
      rule dackint_rule;
          Bit#(10) dout = 0;
          for (Integer i = 0; i < 10; i = i + 1)
              dout[i] = iserdes_data[i].read();
          dackint_last <= dackint.read();
          if (dackint.read() == 1 && dackint_last == 0)
              ctrl_data <= dout;
          serbvi.dataout(dout);
          dfifo.di({6'b0,dout});
          dfifo.wren(fifo_wren_sync.read());
      endrule
  
negative.code:     method                  manual_tap(MANUAL_TAP) enable((*inhigh*) en9) clocked_by (clock);
      method                  reset(RESET) enable((*inhigh*) en17) clocked_by (clkdiv) reset_by(clkdiv_reset);
      method                  dataout(CTRL_DATA) enable((*inhigh*) en18) clocked_by(clock);
      method                  edgeint(EDGE_INT) enable((*inhigh*) en19) clocked_by(clock);
      method                  edgeintor(EDGE_INT_OR) enable((*inhigh*) en21) clocked_by(clock);
      method CTRL_BITSLIP     ctrl_bitslip() clocked_by(clkdiv) reset_by(clkdiv_reset);
      method CTRL_FIFO_RESET   ctrl_fifo_reset() clocked_by(clkdiv) reset_by(clkdiv_reset);
      method CTRL_RESET_INC_CE ctrl_reset_inc_ce() clocked_by(clkdiv) reset_by(clkdiv_reset);
      method                  endhandshake(end_handshake) enable((*inhigh*) en20) clocked_by(clock);
      method start_handshake starthandshake();
      schedule (edgeintor, edgeint, endhandshake, starthandshake, ctrl_reset_inc_ce, ctrl_bitslip, ctrl_fifo_reset, reset, dataout, align_busy, aligned, samplein, align_start, autoalign, training, manual_tap)
           CF (edgeintor, edgeint, endhandshake, starthandshake, ctrl_reset_inc_ce, ctrl_bitslip, ctrl_fifo_reset, reset, dataout, align_busy, aligned, samplein, align_start, autoalign, training, manual_tap);
  endmodule: mkIserdesbvi
  
  interface IserdesDatadeser;
  