PCIe的IP核接口信号介绍

xapp1052给的IP核接口,From pg054:
1.tx是针对用户逻辑说的,实际对应IP个接收。
2.rx采用雷同于tx接口,只说几个关键的信号。
3.物理层接口为用户监控链接状态时使用,简单介绍一下,具体查阅pg054。
4.用户通过配置接口能监控终端模式下PCI Express的配置空间。用户给出10-bit的配置地址,选择1024个DWORD配置寄存器中的一个,终端通过32-bit的数据输出端口返回选择的寄存器的状态。

//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
pcie_7x_0 your_instance_name (
  //pcie的接口信号
  .pci_exp_txp(pci_exp_txp),                                                                // output wire [0 : 0] pci_exp_txp
  .pci_exp_txn(pci_exp_txn),                                                                // output wire [0 : 0] pci_exp_txn
  .pci_exp_rxp(pci_exp_rxp),                                                                // input wire [0 : 0] pci_exp_rxp
  .pci_exp_rxn(pci_exp_rxn),                                                                // input wire [0 : 0] pci_exp_rxn
  
  //通用事务接口信号
  .user_clk_out(user_clk_out),                                                              // output wire user_clk_out。事务、配置、物理层控制和状态接口的操作都参照该时钟,并与上升沿同步
  .user_reset_out(user_reset_out),                                                          // output wire user_reset_out。事务层重置信号,用户逻辑必须使用该信号重置用户逻辑程序
  .user_lnk_up(user_lnk_up),                                                                // output wire user_lnk_up。当IP核与与之相连的上游的端口进入ready状态,并可相互发送数据包时,该信号变为有效位
  .user_app_rdy(user_app_rdy),                                                              // output wire user_app_rdy


//传输接收信号
  .tx_buf_av(tx_buf_av),                                                                    // output wire [5 : 0] tx_buf_av。表示IP核中的传输Buffer资源可用
  .tx_cfg_req(tx_cfg_req),                                                                  // output wire tx_cfg_req。传输配置请求,表示IP核准备好传输一个完整的配置包或者其它的内部产生的TLP(事务层的包)
  .tx_err_drop(tx_err_drop),                                                                // output wire tx_err_drop。表示IP核抛弃了包数据
  .s_axis_tx_tready(s_axis_tx_tready),                                                      // output wire s_axis_tx_tready。表示IP核准备好接收传输数据
  .s_axis_tx_tdata(s_axis_tx_tdata),                                                        // input wire [63 : 0] s_axis_tx_tdata。被传递的包数据
  .s_axis_tx_tkeep(s_axis_tx_tkeep),                                                        // input wire [7 : 0] s_axis_tx_tkeep。传输数据选通
  .s_axis_tx_tlast(s_axis_tx_tlast),                                                        // input wire s_axis_tx_tlast。表示传输的最后一帧(End-Of-Frame,EOF)
  .s_axis_tx_tvalid(s_axis_tx_tvalid),                                                      // input wire s_axis_tx_tvalid。表示用户程序已经在s_axis_tx_tdata上准备好了有效的传输数据
  .s_axis_tx_tuser(s_axis_tx_tuser),                                                        // input wire [3 : 0] s_axis_tx_tuser。
  //s_axis_tx_tuser[3],Input,传输资源中止,可以在SOF(start-of-frame)后的任何时间声明有效位,与s_axis_tx_tlast同时声明有效位
  //s_asix_tx_tuser[2],tx_str,Input,表示数据包存在于连续的时钟周期。通常用于直通式的传输模式。
  //s_axis_tx_tuser[1],tx_err_fwd,Input,表示正在发送的数据包出现错误
  //启用端对端的循环冗余校验(ECRC),通常在TLP包的开始位置声明有效位。
  .tx_cfg_gnt(tx_cfg_gnt),                                                                  // input wire tx_cfg_gnt。由用户响应tx_cfg_req信号,表示授权允许IP核传输一个内部产生的TLP包



  .m_axis_rx_tdata(m_axis_rx_tdata),                                                        // output wire [63 : 0] m_axis_rx_tdata
  .m_axis_rx_tkeep(m_axis_rx_tkeep),                                                        // output wire [7 : 0] m_axis_rx_tkeep
  .m_axis_rx_tlast(m_axis_rx_tlast),                                                        // output wire m_axis_rx_tlast
  .m_axis_rx_tvalid(m_axis_rx_tvalid),                                                      // output wire m_axis_rx_tvalid
  //m_axis_rx_tvalid,Output,表示IP核已经将有效数据传输过来,并希望用户接收。
  .m_axis_rx_tready(m_axis_rx_tready),                                                      // input wire m_axis_rx_tready
  //m_axis_rx_tready,Input,表示接收端准备就绪,由用户进行设置,当用户程序希望接收数据时,置有效位
  .m_axis_rx_tuser(m_axis_rx_tuser),                                                        // output wire [21 : 0] m_axis_rx_tuser
  //m_axis_rx_tuser[14:10],rx_is_sof[4:0],Output,表示包头的开始帧。当有一个新包存在时,bit4声明有效。bit0-3,表示新包的起始位置。
  //如:5’b10000 = SOF在AXI的byte0,即m_axis_rx_tdata[7:0]。5’b11000=SOF在AXI的byte8,即m_axis_rx_tdata[71:64]。5’b00000 = SOF不存在。
  //m_axis_rx_tuser[21:17],rx_is_eof[4:0],Output,表示包的最后一帧。当包要结束时,bit4声明有效。bit0-3,表示包的结束位置。
  //m_axis_rx_tuser[1],rx_err_fwd,Output,表示正在处理的包有错误。
  //m_axis_rx_tuser[9:2],rx_bar_hit[7:0],Output,用来表示当前接收到事务的BAR。
  //在包的起始位置到m_axis_rx_tlast置有效位时,该信号有效。rx_bar_hit[0]:BAR0;rx_bar_hit[1]:BAR1;
  //rx_bar_hit[2]:BAR2;rx_bar_hit[3]:BAR3;rx_bar_hit[4]:BAR0;rx_bar_hit[5]:BAR5;rx_bar_hit[6]:
  //Expansion ROM地址。m_axis_rx_tuser[9]为预留位。
  //m_axis_rx_tuser[16:15],为预留信号。
  .rx_np_ok(rx_np_ok),                                                                      // input wire rx_np_ok。用户准备好接收Non_Posted请求的TLPs包的时候,置有效位
  .rx_np_req(rx_np_req),                                                                    // input wire rx_np_req。请求IP核发送Non-Posted TLPs包。
  
  
   //通用事务接口信号
   .fc_cpld(fc_cpld),                                                                        // output wire [11 : 0] fc_cpld
  .fc_cplh(fc_cplh),                                                                        // output wire [7 : 0] fc_cplh
  .fc_npd(fc_npd),                                                                          // output wire [11 : 0] fc_npd
  .fc_nph(fc_nph),                                                                          // output wire [7 : 0] fc_nph。非Posted头包流控制认证,定义了该非Posted头包流控制的类型
  .fc_pd(fc_pd),                                                                            // output wire [11 : 0] fc_pd。Posted数据流控制认证,定义了该Posted数据流控制的类型
  .fc_ph(fc_ph),                                                                            // output wire [7 : 0] fc_ph。Posted头包流控制认证,定义了该Posted头包流控制的类型
  .fc_sel(fc_sel),                                                                          // input wire [2 : 0] fc_sel。流控制信息类型选择
 
  //配置接口
   .cfg_mgmt_do(cfg_mgmt_do),                                                                // output wire [31 : 0] cfg_mgmt_do。32-bit的配置寄存器的状态输出数据。
  .cfg_mgmt_rd_wr_done(cfg_mgmt_rd_wr_done),                                                // output wire cfg_mgmt_rd_wr_done。表示配置读写完成的信号。该信号为有效位时cfg_mgmt_do[31:0]信号有效。
  .cfg_status(cfg_status),                                                                  // output wire [15 : 0] cfg_status。配置空间的头寄存器中的状态寄存器的数据,表示配置的状态
  .cfg_command(cfg_command),                                                                // output wire [15 : 0] cfg_command。配置命令
  .cfg_dstatus(cfg_dstatus),                                                                // output wire [15 : 0] cfg_dstatus
  .cfg_dcommand(cfg_dcommand),                                                              // output wire [15 : 0] cfg_dcommand
  .cfg_lstatus(cfg_lstatus),                                                                // output wire [15 : 0] cfg_lstatus
  .cfg_lcommand(cfg_lcommand),                                                              // output wire [15 : 0] cfg_lcommand
  .cfg_dcommand2(cfg_dcommand2),                                                            // output wire [15 : 0] cfg_dcommand2
  .cfg_pcie_link_state(cfg_pcie_link_state),                                                // output wire [2 : 0] cfg_pcie_link_state
  .cfg_pmcsr_pme_en(cfg_pmcsr_pme_en),                                                      // output wire cfg_pmcsr_pme_en
  .cfg_pmcsr_powerstate(cfg_pmcsr_powerstate),                                              // output wire [1 : 0] cfg_pmcsr_powerstate
  .cfg_pmcsr_pme_status(cfg_pmcsr_pme_status),                                              // output wire cfg_pmcsr_pme_status
  .cfg_received_func_lvl_rst(cfg_received_func_lvl_rst),                                    // output wire cfg_received_func_lvl_rst
  .cfg_mgmt_di(cfg_mgmt_di),                                                                // input wire [31 : 0] cfg_mgmt_di。配置数据输入
  .cfg_mgmt_byte_en(cfg_mgmt_byte_en),                                                      // input wire [3 : 0] cfg_mgmt_byte_en。配置数据的Byte使能
  .cfg_mgmt_dwaddr(cfg_mgmt_dwaddr),                                                        // input wire [9 : 0] cfg_mgmt_dwaddr。配置寄存器的地址
  .cfg_mgmt_wr_en(cfg_mgmt_wr_en),                                                          // input wire cfg_mgmt_wr_en。配置数据的写使能
  .cfg_mgmt_rd_en(cfg_mgmt_rd_en),                                                          // input wire cfg_mgmt_rd_en。配置数据的读使能
  .cfg_mgmt_wr_readonly(cfg_mgmt_wr_readonly),                                              // input wire cfg_mgmt_wr_readonly
  .cfg_err_ecrc(cfg_err_ecrc),                                                              // input wire cfg_err_ecrc
  .cfg_err_ur(cfg_err_ur),                                                                  // input wire cfg_err_ur
  .cfg_err_cpl_timeout(cfg_err_cpl_timeout),                                                // input wire cfg_err_cpl_timeout
  .cfg_err_cpl_unexpect(cfg_err_cpl_unexpect),                                              // input wire cfg_err_cpl_unexpect
  .cfg_err_cpl_abort(cfg_err_cpl_abort),                                                    // input wire cfg_err_cpl_abort
  .cfg_err_posted(cfg_err_posted),                                                          // input wire cfg_err_posted
  .cfg_err_cor(cfg_err_cor),                                                                // input wire cfg_err_cor
  .cfg_err_atomic_egress_blocked(cfg_err_atomic_egress_blocked),                            // input wire cfg_err_atomic_egress_blocked
  .cfg_err_internal_cor(cfg_err_internal_cor),                                              // input wire cfg_err_internal_cor
  .cfg_err_malformed(cfg_err_malformed),                                                    // input wire cfg_err_malformed
  .cfg_err_mc_blocked(cfg_err_mc_blocked),                                                  // input wire cfg_err_mc_blocked
  .cfg_err_poisoned(cfg_err_poisoned),                                                      // input wire cfg_err_poisoned
  .cfg_err_norecovery(cfg_err_norecovery),                                                  // input wire cfg_err_norecovery
  .cfg_err_tlp_cpl_header(cfg_err_tlp_cpl_header),                                          // input wire [47 : 0] cfg_err_tlp_cpl_header
  .cfg_err_cpl_rdy(cfg_err_cpl_rdy),                                                        // output wire cfg_err_cpl_rdy
  .cfg_err_locked(cfg_err_locked),                                                          // input wire cfg_err_locked
  .cfg_err_acs(cfg_err_acs),                                                                // input wire cfg_err_acs
  .cfg_err_internal_uncor(cfg_err_internal_uncor),                                          // input wire cfg_err_internal_uncor
  .cfg_trn_pending(cfg_trn_pending),                                                        // input wire cfg_trn_pending
  .cfg_pm_halt_aspm_l0s(cfg_pm_halt_aspm_l0s),                                              // input wire cfg_pm_halt_aspm_l0s
  .cfg_pm_halt_aspm_l1(cfg_pm_halt_aspm_l1),                                                // input wire cfg_pm_halt_aspm_l1
  .cfg_pm_force_state_en(cfg_pm_force_state_en),                                            // input wire cfg_pm_force_state_en
  .cfg_pm_force_state(cfg_pm_force_state),                                                  // input wire [1 : 0] cfg_pm_force_state
   .cfg_dsn(cfg_dsn),                                                                        // input wire [63 : 0] cfg_dsn
  

//中断接口信号
   .cfg_interrupt(cfg_interrupt),                                                            // input wire cfg_interrupt。中断请求信号,用户程序声明该信号来产生一个中断消息。该信号需要一直保持高有效,直到cfg_interrupt_rdy信号被置有效位。
  .cfg_interrupt_rdy(cfg_interrupt_rdy),                                                    // output wire cfg_interrupt_rdy。中断授权(Grant)信号,该信号和之前的cfg_interrupt信号同时为有效位时,表示IP核成功发送一个中断消息
  .cfg_interrupt_assert(cfg_interrupt_assert),                                              // input wire cfg_interrupt_assert。是否配置老版本的中断机制
  .cfg_interrupt_di(cfg_interrupt_di),                                                      // input wire [7 : 0] cfg_interrupt_di。
  //配置中断的输入矢量的数量,对于MSI类型的中断,消息数据部分的数据,终端必须给出MSI的中断矢量号。
  //如果存在多个终端矢量,由cfg_interrupt_mmenable[2:0]信号决定中断消息数据的下级bits。
  //cfg_interrupt_di[7:0]的上级bits将不被使用。对于单个中断矢量,cfg_interrupt_di[7:0]不被使用。
  //对于老的中断消息(声明INTx)时,只支持INTA中断。.
  .cfg_interrupt_do(cfg_interrupt_do),                                                      // output wire [7 : 0] cfg_interrupt_do。MSI capability structure 的Message Data属性最低8bits的值
  .cfg_interrupt_mmenable(cfg_interrupt_mmenable),                                          // output wire [2 : 0] cfg_interrupt_mmenable
  //配置MSI可以接受的中断矢量数。该数值的范围为:000b-101b,其中000b表示单个MSI中断矢量。其值可被cfg_interrupt_di[7:0]所覆盖
  .cfg_interrupt_msienable(cfg_interrupt_msienable),                                        // output wire cfg_interrupt_msienable。配置是否启用MSI中断
  .cfg_interrupt_msixenable(cfg_interrupt_msixenable),                                      // output wire cfg_interrupt_msixenable。配置启用MSI-X中断
  .cfg_interrupt_msixfm(cfg_interrupt_msixfm),                                              // output wire cfg_interrupt_msixfm。配置PCI Express Capabilities 中的中断消息数量属性。该信号只有当MSI中断启用时需要
  .cfg_interrupt_stat(cfg_interrupt_stat),                                                  // input wire cfg_interrupt_stat。配置中断的状态



  .cfg_pciecap_interrupt_msgnum(cfg_pciecap_interrupt_msgnum),                              // input wire [4 : 0] cfg_pciecap_interrupt_msgnum
  .cfg_to_turnoff(cfg_to_turnoff),                                                          // output wire cfg_to_turnoff
  .cfg_turnoff_ok(cfg_turnoff_ok),                                                          // input wire cfg_turnoff_ok
  .cfg_bus_number(cfg_bus_number),                                                          // output wire [7 : 0] cfg_bus_number
  .cfg_device_number(cfg_device_number),                                                    // output wire [4 : 0] cfg_device_number
  .cfg_function_number(cfg_function_number),                                                // output wire [2 : 0] cfg_function_number
  .cfg_pm_wake(cfg_pm_wake),                                                                // input wire cfg_pm_wake
  .cfg_pm_send_pme_to(cfg_pm_send_pme_to),                                                  // input wire cfg_pm_send_pme_to
  .cfg_ds_bus_number(cfg_ds_bus_number),                                                    // input wire [7 : 0] cfg_ds_bus_number
  .cfg_ds_device_number(cfg_ds_device_number),                                              // input wire [4 : 0] cfg_ds_device_number
  .cfg_ds_function_number(cfg_ds_function_number),                                          // input wire [2 : 0] cfg_ds_function_number
  .cfg_mgmt_wr_rw1c_as_rw(cfg_mgmt_wr_rw1c_as_rw),                                          // input wire cfg_mgmt_wr_rw1c_as_rw
  .cfg_msg_received(cfg_msg_received),                                                      // output wire cfg_msg_received
  .cfg_msg_data(cfg_msg_data),                                                              // output wire [15 : 0] cfg_msg_data
  .cfg_bridge_serr_en(cfg_bridge_serr_en),                                                  // output wire cfg_bridge_serr_en
  .cfg_slot_control_electromech_il_ctl_pulse(cfg_slot_control_electromech_il_ctl_pulse),    // output wire cfg_slot_control_electromech_il_ctl_pulse
  .cfg_root_control_syserr_corr_err_en(cfg_root_control_syserr_corr_err_en),                // output wire cfg_root_control_syserr_corr_err_en
  .cfg_root_control_syserr_non_fatal_err_en(cfg_root_control_syserr_non_fatal_err_en),      // output wire cfg_root_control_syserr_non_fatal_err_en
  .cfg_root_control_syserr_fatal_err_en(cfg_root_control_syserr_fatal_err_en),              // output wire cfg_root_control_syserr_fatal_err_en
  .cfg_root_control_pme_int_en(cfg_root_control_pme_int_en),                                // output wire cfg_root_control_pme_int_en
  .cfg_aer_rooterr_corr_err_reporting_en(cfg_aer_rooterr_corr_err_reporting_en),            // output wire cfg_aer_rooterr_corr_err_reporting_en
  .cfg_aer_rooterr_non_fatal_err_reporting_en(cfg_aer_rooterr_non_fatal_err_reporting_en),  // output wire cfg_aer_rooterr_non_fatal_err_reporting_en
  .cfg_aer_rooterr_fatal_err_reporting_en(cfg_aer_rooterr_fatal_err_reporting_en),          // output wire cfg_aer_rooterr_fatal_err_reporting_en
  .cfg_aer_rooterr_corr_err_received(cfg_aer_rooterr_corr_err_received),                    // output wire cfg_aer_rooterr_corr_err_received
  .cfg_aer_rooterr_non_fatal_err_received(cfg_aer_rooterr_non_fatal_err_received),          // output wire cfg_aer_rooterr_non_fatal_err_received
  .cfg_aer_rooterr_fatal_err_received(cfg_aer_rooterr_fatal_err_received),                  // output wire cfg_aer_rooterr_fatal_err_received
  .cfg_msg_received_err_cor(cfg_msg_received_err_cor),                                      // output wire cfg_msg_received_err_cor
  .cfg_msg_received_err_non_fatal(cfg_msg_received_err_non_fatal),                          // output wire cfg_msg_received_err_non_fatal
  .cfg_msg_received_err_fatal(cfg_msg_received_err_fatal),                                  // output wire cfg_msg_received_err_fatal
  .cfg_msg_received_pm_as_nak(cfg_msg_received_pm_as_nak),                                  // output wire cfg_msg_received_pm_as_nak
  .cfg_msg_received_pm_pme(cfg_msg_received_pm_pme),                                        // output wire cfg_msg_received_pm_pme
  .cfg_msg_received_pme_to_ack(cfg_msg_received_pme_to_ack),                                // output wire cfg_msg_received_pme_to_ack
  .cfg_msg_received_assert_int_a(cfg_msg_received_assert_int_a),                            // output wire cfg_msg_received_assert_int_a
  .cfg_msg_received_assert_int_b(cfg_msg_received_assert_int_b),                            // output wire cfg_msg_received_assert_int_b
  .cfg_msg_received_assert_int_c(cfg_msg_received_assert_int_c),                            // output wire cfg_msg_received_assert_int_c
  .cfg_msg_received_assert_int_d(cfg_msg_received_assert_int_d),                            // output wire cfg_msg_received_assert_int_d
  .cfg_msg_received_deassert_int_a(cfg_msg_received_deassert_int_a),                        // output wire cfg_msg_received_deassert_int_a
  .cfg_msg_received_deassert_int_b(cfg_msg_received_deassert_int_b),                        // output wire cfg_msg_received_deassert_int_b
  .cfg_msg_received_deassert_int_c(cfg_msg_received_deassert_int_c),                        // output wire cfg_msg_received_deassert_int_c
  .cfg_msg_received_deassert_int_d(cfg_msg_received_deassert_int_d),                        // output wire cfg_msg_received_deassert_int_d
  .cfg_msg_received_setslotpowerlimit(cfg_msg_received_setslotpowerlimit),                  // output wire cfg_msg_received_setslotpowerlimit
  
   //物理层接口
  .pl_directed_link_change(pl_directed_link_change),                                        // input wire [1 : 0] pl_directed_link_change
  .pl_directed_link_width(pl_directed_link_width),                                          // input wire [1 : 0] pl_directed_link_width
  .pl_directed_link_speed(pl_directed_link_speed),                                          // input wire pl_directed_link_speed
  .pl_directed_link_auton(pl_directed_link_auton),                                          // input wire pl_directed_link_auton
  .pl_upstream_prefer_deemph(pl_upstream_prefer_deemph),                                    // input wire pl_upstream_prefer_deemph
  .pl_sel_lnk_rate(pl_sel_lnk_rate),                                                        // output wire pl_sel_lnk_rate
  .pl_sel_lnk_width(pl_sel_lnk_width),                                                      // output wire [1 : 0] pl_sel_lnk_width
  .pl_ltssm_state(pl_ltssm_state),                                                          // output wire [5 : 0] pl_ltssm_state。表示当前的LTSSM(Link Training Status State Machine)的状态
  .pl_lane_reversal_mode(pl_lane_reversal_mode),                                            // output wire [1 : 0] pl_lane_reversal_mode。表示预留的通道
  .pl_phy_lnk_up(pl_phy_lnk_up),                                                            // output wire pl_phy_lnk_up。表示物理层的连接状态
  .pl_tx_pm_state(pl_tx_pm_state),                                                          // output wire [2 : 0] pl_tx_pm_state
  .pl_rx_pm_state(pl_rx_pm_state),                                                          // output wire [1 : 0] pl_rx_pm_state
  .pl_link_upcfg_cap(pl_link_upcfg_cap),                                                    // output wire pl_link_upcfg_cap。表示链路可以在上游配置的能力
  .pl_link_gen2_cap(pl_link_gen2_cap),                                                      // output wire pl_link_gen2_cap。表示链路是否具有二代(Gen2 5.0Gb/s)的能力
  .pl_link_partner_gen2_supported(pl_link_partner_gen2_supported),                          // output wire pl_link_partner_gen2_supported。表示链路另一端是否有Gen2的能力
  .pl_initial_link_width(pl_initial_link_width),                                            // output wire [2 : 0] pl_initial_link_width。表示PCI Express端口已经成功连接的通道数。
  .pl_directed_change_done(pl_directed_change_done),                                        // output wire pl_directed_change_done。表示连接模式变更完成
  .pl_received_hot_rst(pl_received_hot_rst),                                                // output wire pl_received_hot_rst
  .pl_transmit_hot_rst(pl_transmit_hot_rst),                                                // input wire pl_transmit_hot_rst
  .pl_downstream_deemph_source(pl_downstream_deemph_source),                                // input wire pl_downstream_deemph_source
  

   .cfg_err_aer_headerlog(cfg_err_aer_headerlog),                                            // input wire [127 : 0] cfg_err_aer_headerlog
  .cfg_aer_interrupt_msgnum(cfg_aer_interrupt_msgnum),                                      // input wire [4 : 0] cfg_aer_interrupt_msgnum
  .cfg_err_aer_headerlog_set(cfg_err_aer_headerlog_set),                                    // output wire cfg_err_aer_headerlog_set
  .cfg_aer_ecrc_check_en(cfg_aer_ecrc_check_en),                                            // output wire cfg_aer_ecrc_check_en
  .cfg_aer_ecrc_gen_en(cfg_aer_ecrc_gen_en),                                                // output wire cfg_aer_ecrc_gen_en
  .cfg_vc_tcvc_map(cfg_vc_tcvc_map),                                                        // output wire [6 : 0] cfg_vc_tcvc_map
  
  //系统的时钟,复位
  .sys_clk(sys_clk),                                                                        // input wire sys_clk
  .sys_rst_n(sys_rst_n)                                                                    // input wire sys_rst_n
);
// INST_TAG_END ------ End INSTANTIATION Template ---------

// You must compile the wrapper file pcie_7x_0.v when simulating
// the core, pcie_7x_0. When compiling the wrapper file, be sure to
// reference the Verilog simulation library.


你可能感兴趣的:(FPGA开发)