anchor.diff:        pcie_ep.s_axis_tx.tdata(wAxiTxData);
         pcie_ep.s_axis_tx.tkeep(wAxiTxKeep);
      endrule
  -   
  +
      (* fire_when_enabled *)
      rule drive_axi_tx_info if (pcie_ep.s_axis_tx.tready != 0);
         let info <- toGet(fAxiTx).get;
  
positive.code:       wAxiTxData  <= info.data;
        wAxiTxKeep  <= info.keep;
     endrule
     
     (* fire_when_enabled, no_implicit_conditions *)
     rule drive_axi_rx_ready;
        pcie_ep.m_axis_rx.tready(pack(fAxiRx.notFull));
     endrule
     
     (* fire_when_enabled *)
     rule sink_axi_rx if (pcie_ep.m_axis_rx.tvalid != 0);
        let info = AxiRx {
  
negative.code:       method configuration_completion_request  = (pcie_ep.tx.cfg_req != 0);
        method configuration_completion_grant(i) = pcie_ep.tx.cfg_gnt(pack(i));
     endinterface
  
     interface PCIE_TRN_RECV_X7 trn_rx;
        method ActionValue#(Tuple3#(Bool, Bool, TLPData#(8))) recv();
  	 let info <- toGet(fAxiRx).get;
  