IP设置

代码
aurora_8b10b aurora_8b10b_inst (/**********************************************************************************///axi_stream tx.s_axi_tx_tdata(s_axi_tx_tdata),                  // input wire [0 : 31] s_axi_tx_tdata.s_axi_tx_tkeep(s_axi_tx_tkeep),                  // input wire [0 : 3] s_axi_tx_tkeep.s_axi_tx_tlast(s_axi_tx_tlast),                  // input wire s_axi_tx_tlast.s_axi_tx_tvalid(s_axi_tx_tvalid),                // input wire s_axi_tx_tvalid.s_axi_tx_tready(s_axi_tx_tready),                // output wire s_axi_tx_tready
/**********************************************************************************///ufc no use tx frame.s_axi_ufc_tx_tvalid(s_axi_ufc_tx_tvalid),        // input wire s_axi_ufc_tx_tvalid.s_axi_ufc_tx_tdata(s_axi_ufc_tx_tdata),          // input wire [0 : 2] s_axi_ufc_tx_tdata.s_axi_ufc_tx_tready(s_axi_ufc_tx_tready),        // output wire s_axi_ufc_tx_tready
/**********************************************************************************///axi_stream rx.m_axi_rx_tdata(m_axi_rx_tdata),                  // output wire [0 : 31] m_axi_rx_tdata.m_axi_rx_tkeep(m_axi_rx_tkeep),                  // output wire [0 : 3] m_axi_rx_tkeep.m_axi_rx_tlast(m_axi_rx_tlast),                  // output wire m_axi_rx_tlast.m_axi_rx_tvalid(m_axi_rx_tvalid),                // output wire m_axi_rx_tvalid
/**********************************************************************************///ufc no use rx frame.m_axi_ufc_rx_tdata(m_axi_ufc_rx_tdata),          // output wire [0 : 31] m_axi_ufc_rx_tdata.m_axi_ufc_rx_tkeep(m_axi_ufc_rx_tkeep),          // output wire [0 : 3] m_axi_ufc_rx_tkeep.m_axi_ufc_rx_tlast(m_axi_ufc_rx_tlast),          // output wire m_axi_ufc_rx_tlast.m_axi_ufc_rx_tvalid(m_axi_ufc_rx_tvalid),        // output wire m_axi_ufc_rx_tvalid
/**********************************************************************************///.hard_err(hard_err),                              // output wire hard_err.soft_err(soft_err),                              // output wire soft_err.frame_err(frame_err),                            // output wire frame_err
/**********************************************************************************///error.channel_up(channel_up),                          // output wire channel_up.lane_up(lane_up),                                // output wire [0 : 0] lane_up.txp(txp),                                        // output wire [0 : 0] txp.txn(txn),                                        // output wire [0 : 0] txn
/**********************************************************************************///reset .reset(reset),                                    // input wire reset.gt_reset(gt_reset),                              // input wire gt_reset
/**********************************************************************************///.loopback(3'b000),                              // input wire [2 : 0] loopback.rxp(rxp),                                        // input wire [0 : 0] rxp.rxn(rxn),                                        // input wire [0 : 0] rxn
/**********************************************************************************///crc.crc_valid(crc_valid),                            // output wire crc_valid.crc_pass_fail_n(crc_pass_fail_n),                // output wire crc_pass_fail_n //1 is pass ,0 is fail
/**********************************************************************************///dynamic setup.drpclk_in(drpclk_in),                            // input wire drpclk_in.drpaddr_in(drpaddr_in),                          // input wire [8 : 0] drpaddr_in.drpen_in(1'b0),                              // input wire drpen_in.drpdi_in(drpdi_in),                              // input wire [15 : 0] drpdi_in.drprdy_out(drprdy_out),                          // output wire drprdy_out.drpdo_out(drpdo_out),                            // output wire [15 : 0] drpdo_out.drpwe_in(1'b0),                              // input wire drpwe_in
/**********************************************************************************///power down  mode.power_down(1'b0),                               // input wire power_down
/**********************************************************************************///.tx_lock(tx_lock),                                // output wire tx_lock.tx_resetdone_out(tx_resetdone_out),              // output wire tx_resetdone_out.rx_resetdone_out(rx_resetdone_out),              // output wire rx_resetdone_out.link_reset_out(link_reset_out),                  // output wire link_reset_out
/**********************************************************************************///initial clk signle.init_clk_in(init_clk_in),                        // input wire init_clk_in
/**********************************************************************************///user clk.user_clk_out(user_clk_out),                      // output wire user_clk_out.pll_not_locked_out(pll_not_locked_out),          // output wire pll_not_locked_out
/**********************************************************************************///high en.sys_reset_out(sys_reset_out),                    // output wire sys_reset_out
/**********************************************************************************///pin refclk.gt_refclk1_p(gt_refclk1_p),                      // input wire gt_refclk1_p.gt_refclk1_n(gt_refclk1_n),                      // input wire gt_refclk1_n.sync_clk_out(sync_clk_out),                      // output wire sync_clk_out.gt_reset_out(gt_reset_out),                      // output wire gt_reset_out.gt_refclk1_out(gt_refclk1_out),                  // output wire gt_refclk1_out.gt0_pll0refclklost_out(gt0_pll0refclklost_out),  // output wire gt0_pll0refclklost_out.quad1_common_lock_out(quad1_common_lock_out),    // output wire quad1_common_lock_out.gt0_pll0outclk_out(gt0_pll0outclk_out),          // output wire gt0_pll0outclk_out.gt0_pll1outclk_out(gt0_pll1outclk_out),          // output wire gt0_pll1outclk_out.gt0_pll0outrefclk_out(gt0_pll0outrefclk_out),    // output wire gt0_pll0outrefclk_out.gt0_pll1outrefclk_out(gt0_pll1outrefclk_out)    // output wire gt0_pll1outrefclk_out
);channel up
lane up
在仿真的时候大概需要700us才会有效,不然数据一直处于复位状态。

ufc在没帧之后有一个周期的发送,(设置为一周期4byte,发送32bit)
