anchor.diff:      SyncBitIfc#(Bit#(1)) fifo_reset_sync <- mkSyncBit(defaultClock, defaultReset, serdes_clock);
       Reg#(Bit#(1)) sync_bitslip <- mkReg(0, clocked_by serdes_clock, reset_by serdes_reset);
       Reg#(Bit#(3)) sync_reset_inc_ce <- mkReg(0, clocked_by serdes_clock, reset_by serdes_reset);
  +    Reg#(Bit#(1)) reset_hack <- mkReg(0, clocked_by serdes_clock, reset_by serdes_reset);
       Reg#(Bit#(3)) ctrl_sample <- mkReg(0);
       SyncBitIfc#(Bit#(1)) samplein_reset_null <- mkSyncBit(defaultClock, defaultReset, serdes_clock);
   
  -    SyncBitIfc#(Bit#(1)) fifo_wren_sync <- mkSyncBit(serdes_clock, serdes_reset, defaultClock);
  +    SyncBitIfc#(Bit#(1)) fifo_wren_sync <- mkSyncBit(serdes_clock, serdes_reset, serdes_clock);
       SyncBitIfc#(Bit#(10)) iserdes_data <-  mkSyncBits(serdes_clock, serdes_reset, defaultClock);
       SyncFIFOIfc#(Bit#(1)) serdes_end <- mkSyncFIFO(2, serdes_clock, serdes_reset, defaultClock);
   
  
positive.code:            master_data.q7(), master_data.q6(), master_data.q5(),
             master_data.q4(), master_data.q3(), master_data.q2(), master_data.q1()};
          ctrl_data_temp <= dout;
          iserdes_data.send(dout);
      endrule
  
      rule datain_rule;
          Bit#(10) dout = 0;
          dout = iserdes_data.read();
          if (fifo_wren_sync.read() == 1)
              begin
              dfifo.di({6'b0,dout});
              dfifo.wren(1);
              end
          else
              begin
              dfifo.di(16'b0);
              dfifo.wren(0);
              end
      endrule
  
      rule serdesrule;
          dfifo.rden(rden);
      endrule
  
      method Action ibufdso(Bit#(1) v);
  
negative.code: import Vector::*;
  import Clocks :: *;
  import FIFO::*;
  import FIFOF::*;
  import SyncBits::*;
  import XilinxCells::*;
  import XbsvXilinxCells::*;
  