anchor.diff:  
     FIFO#(EtherData) deparse_ipv4_fifo <- mkFIFO;
     PulseWire start_wire <- mkPulseWire;
  -  PulseWire clear_wire <- mkPulseWire;
  +  PulseWire stop_wire <- mkPulseWire;
   
     function DeparserState compute_next_state(Bit#(16) v);
       DeparserState nextState = StateDeparseIdle;
  
positive.code:   endfunction
  endinstance
  
  function Ipv4T extract_Ipv4T(Bit#(160) data);
    Vector#(160, Bit#(1)) dataVec = unpack(data);
    Vector#(4, Bit#(1)) version = takeAt(0, dataVec);
    Vector#(4, Bit#(1)) ihl = takeAt(4, dataVec);
  
negative.code:       deparser_start_time <= clk_cnt;
      end
    endrule
    rule stop if (!start_fsm && curr_state == StateDeparseIdle);
      if (started) begin
        deparse_ethernet.stop;
        deparse_ipv4.stop;
        started <= False;
        deparser_end_time <= clk_cnt;
      end
  