anchor.diff:      let data_last_cycle <- toGet(unparsed_parse_ethernet_fifo).get;
       Bit#(144) data = {data_this_cycle, data_last_cycle};
       internal_fifo_144.enq(data);
  -
  +    $display("(%0d) parseipv4 %x", $time, data);
     endaction
     action
       let data_this_cycle = packet_in_wire;
  
positive.code:   let verbose = True;
    FIFOF#(Bit#(16)) unparsed_parse_ipv4_fifo <- mkSizedFIFOF(1);
  
  
    Wire#(Bit#(128)) packet_in_wire <- mkDWire(0);
    Vector#(4, Wire#(Maybe#(ParserState))) next_state_wire <- replicateM(mkDWire(tagged Invalid));
  
negative.code:   endrule
  
    Empty init_state <- mkStateStart(curr_state, data_in_fifo, start_fsm);
    ParseIpv4 parse_ipv4 <- mkStateParseIpv4(curr_state, data_in_fifo, parse_state_in_fifo[0]);
    ParseEthernet parse_ethernet <- mkStateParseEthernet(curr_state, data_in_fifo);
    mkConnection(parse_ipv4.parse_ethernet, parse_ethernet.parse_ipv4);
    rule start if (start_fsm);
  