anchor.diff:        pcie_ep.tx_st.sop(info.sop);
         pcie_ep.tx_st.eop(info.eop);
         let txStEmpty = getTxStEmpty(info.be);
  +`ifdef BOARD_de5
         pcie_ep.tx_st.empty(txStEmpty);
  +`elsif BOARD_htg4
  +      pcie_ep.tx_st.empty(txStEmpty[0]);
  +`endif
         pcie_ep.tx_st.err(0);
         pcie_ep.tx_st.data(info.data);
      endrule
  
positive.code:    // Test Altera Application
  //   PcieS5App pcie_app <- mkPcieS5App(core_clk, reset_high);
  //   mkConnection(pcie_app, pcie_ep);
  
     AlteraPcieHipRs hip_rs <- mkAlteraPcieHipRs(core_clk, core_resetn);
  
     Reg#(PciId) deviceReg <- mkReg(?, clocked_by core_clk, reset_by core_resetn);
  
  
negative.code:       AvalonStRx#(16) beat;
        beat.sop = pcie_ep.rx_st.sop;
        beat.eop = pcie_ep.rx_st.eop;
        beat.be  = pcie_ep.rx_st.be;
        // bar[7] is reserved for endpoints.
        beat.hit = pcie_ep.rx_st.bar[6:0];
  
        // 128-bit interface
        // when rx_st_empty==1, rx_st_data[63:0] are valid
        if (pcie_ep.rx_st.empty[0] == 1 && pcie_ep.rx_st.eop == 1) begin
           if (pcie_ep.rx_st.be == 16'h000f) begin
              beat.data = {96'h0, pcie_ep.rx_st.data[31:0]};
           end
           else if (pcie_ep.rx_st.be == 16'h00ff) begin
              beat.data = {64'h0, pcie_ep.rx_st.data[63:0]};
           end
           else begin
  