• 测试代码


      1 `timescale 1ns / 1ps
      2 //////////////////////////////////////////////////////////////////////////////////
      3 // Company: 
      4 // Engineer: 
      5 // 
      6 // Create Date:    19:06:11 01/02/2014 
      7 // Design Name: 
      8 // Module Name:    k7_srio_top 
      9 // Project Name: 
     10 // Target Devices: 
     11 // Tool versions: 
     12 // Description: 
     13 //
     14 // Dependencies: 
     15 //
     16 // Revision: 
     17 // Revision 0.01 - File Created
     18 // Additional Comments: 
     19 //
     20 //////////////////////////////////////////////////////////////////////////////////
     21 module k7_srio_top(
     22     k7_rstn,
     23     srio_refclk_p,
     24     srio_refclk_n,
     25     
     26     p0_srio_rxn0,
     27     p0_srio_rxp0,
     28     p0_srio_rxn1,
     29     p0_srio_rxp1,
     30     p1_srio_rxn0,
     31     p1_srio_rxp0,
     32     p1_srio_rxn1,
     33     p1_srio_rxp1,
     34     
     35     p0_srio_txn0,
     36     p0_srio_txp0,
     37     p0_srio_txn1,
     38     p0_srio_txp1,
     39     p1_srio_txn0,
     40     p1_srio_txp0,
     41     p1_srio_txn1,
     42     p1_srio_txp1
     43     );
     44 
     45 input                   k7_rstn;
     46 input                   srio_refclk_p;
     47 input                   srio_refclk_n;
     48     
     49 input                   p0_srio_rxn0;
     50 input                   p0_srio_rxp0;
     51 input                   p0_srio_rxn1;
     52 input                   p0_srio_rxp1;
     53 input                   p1_srio_rxn0;
     54 input                   p1_srio_rxp0;
     55 input                   p1_srio_rxn1;
     56 input                   p1_srio_rxp1;
     57             
     58 output                  p0_srio_txn0;
     59 output                  p0_srio_txp0;
     60 output                  p0_srio_txn1;
     61 output                  p0_srio_txp1;
     62 output                  p1_srio_txn0;
     63 output                  p1_srio_txp0;
     64 output                  p1_srio_txn1;
     65 output                  p1_srio_txp1;
     66 
     67 // {{{ wire declarations ----------------
     68 wire            p0_log_clk;
     69 wire            p0_phy_clk;
     70 wire            p0_gt_pcs_clk;
     71 wire            p0_log_rst;
     72 wire            p0_phy_rst;
     73 wire            p0_sim_train_en = 0;
     74 
     75 // signals into the DUT
     76 wire            p0_iotx_tvalid;
     77 wire            p0_iotx_tready;
     78 wire            p0_iotx_tlast;
     79 wire   [63:0]   p0_iotx_tdata;
     80 wire   [7:0]    p0_iotx_tkeep;
     81 wire   [31:0]   p0_iotx_tuser;
     82 
     83 wire            p0_iorx_tvalid;
     84 wire            p0_iorx_tready;
     85 wire            p0_iorx_tlast;
     86 wire    [63:0]  p0_iorx_tdata;
     87 wire    [7:0]   p0_iorx_tkeep;
     88 wire    [31:0]  p0_iorx_tuser;
     89 
     90 wire            p0_maintr_rst = 1'b0;
     91 
     92 wire            p0_maintr_awvalid;
     93 wire            p0_maintr_awready;
     94 wire   [31:0]   p0_maintr_awaddr;
     95 wire            p0_maintr_wvalid;
     96 wire            p0_maintr_wready;
     97 wire   [31:0]   p0_maintr_wdata;
     98 wire            p0_maintr_bvalid;
     99 wire            p0_maintr_bready;
    100 wire   [1:0]    p0_maintr_bresp;
    101 
    102 wire            p0_maintr_arvalid;
    103 wire            p0_maintr_arready;
    104 wire   [31:0]   p0_maintr_araddr;
    105 wire            p0_maintr_rvalid;
    106 wire            p0_maintr_rready;
    107 wire   [31:0]   p0_maintr_rdata;
    108 wire   [1:0]    p0_maintr_rresp;
    109 
    110 
    111 // other core output signals that may be used by the user
    112 wire     [23:0] p0_port_timeout;           // Timeout value user can use to detect a lost packet
    113 wire            p0_phy_rcvd_mce;           // MCE control symbol received
    114 wire            p0_phy_rcvd_link_reset;    // Received 4 consecutive reset symbols
    115 wire            p0_port_error;             // In Port Error State
    116 wire            p0_mode_1x;                // Link is trained down to 1x mode
    117 wire            p0_srio_host;              // Endpoint is the system host
    118 wire    [223:0] p0_phy_debug;              // Useful debug signals
    119 wire            p0_gtrx_disperr_or;        // GT disparity error (reduce ORed)
    120 wire            p0_gtrx_notintable_or;     // GT not in table error (reduce ORed)
    121 wire     [15:0] p0_deviceid;               // Device ID
    122 wire            p0_port_decode_error;      // No valid output port for the RX transaction
    123 wire            p0_idle_selected;          // The IDLE sequence has been selected
    124 wire            p0_idle2_selected;         // The PHY is operating in IDLE2 mode
    125 wire            p0_autocheck_error;        // when set, packet didn't match expected
    126 wire            p0_port_initialized;       // Port is Initialized
    127 wire            p0_link_initialized;       // Link is Initialized
    128 wire            p0_exercise_done;          // sets when the generator(s) has completed
    129 wire            p0_clk_lock;               // asserts from the MMCM
    130 
    131 // other core output signals that may be used by the user
    132 wire            p0_phy_mce = 1'b0;         // Send MCE control symbol
    133 wire            p0_phy_link_reset = 1'b0;  // Send link reset control symbols
    134 wire            p0_force_reinit = 1'b0;    // Force reinitialization
    135 
    136 wire            p1_gt0_qplloutclk_i;
    137 wire            p1_gt0_qplloutrefclk_i;
    138 
    139 wire            p1_log_clk;
    140 wire            p1_phy_clk;
    141 wire            p1_gt_pcs_clk;
    142 wire            p1_log_rst;
    143 wire            p1_phy_rst;
    144 wire            p1_sim_train_en = 0;
    145 
    146 // signals into the DUT
    147 wire            p1_iotx_tvalid;
    148 wire            p1_iotx_tready;
    149 wire            p1_iotx_tlast;
    150 wire   [63:0]   p1_iotx_tdata;
    151 wire   [7:0]    p1_iotx_tkeep;
    152 wire   [31:0]   p1_iotx_tuser;
    153 
    154 wire            p1_iorx_tvalid;
    155 wire            p1_iorx_tready;
    156 wire            p1_iorx_tlast;
    157 wire    [63:0]  p1_iorx_tdata;
    158 wire    [7:0]   p1_iorx_tkeep;
    159 wire    [31:0]  p1_iorx_tuser;
    160 
    161 wire            p1_maintr_rst = 1'b0;
    162 
    163 wire            p1_maintr_awvalid;
    164 wire            p1_maintr_awready;
    165 wire   [31:0]   p1_maintr_awaddr;
    166 wire            p1_maintr_wvalid;
    167 wire            p1_maintr_wready;
    168 wire   [31:0]   p1_maintr_wdata;
    169 wire            p1_maintr_bvalid;
    170 wire            p1_maintr_bready;
    171 wire   [1:0]    p1_maintr_bresp;
    172 
    173 wire            p1_maintr_arvalid;
    174 wire            p1_maintr_arready;
    175 wire   [31:0]   p1_maintr_araddr;
    176 wire            p1_maintr_rvalid;
    177 wire            p1_maintr_rready;
    178 wire   [31:0]   p1_maintr_rdata;
    179 wire   [1:0]    p1_maintr_rresp;
    180 
    181 
    182 // other core output signals that may be used by the user
    183 wire     [23:0] p1_port_timeout;           // Timeout value user can use to detect a lost packet
    184 wire            p1_phy_rcvd_mce;           // MCE control symbol received
    185 wire            p1_phy_rcvd_link_reset;    // Received 4 consecutive reset symbols
    186 wire            p1_port_error;             // In Port Error State
    187 wire            p1_mode_1x;                // Link is trained down to 1x mode
    188 wire            p1_srio_host;              // Endpoint is the system host
    189 wire    [223:0] p1_phy_debug;              // Useful debug signals
    190 wire            p1_gtrx_disperr_or;        // GT disparity error (reduce ORed)
    191 wire            p1_gtrx_notintable_or;     // GT not in table error (reduce ORed)
    192 wire     [15:0] p1_deviceid;               // Device ID
    193 wire            p1_port_decode_error;      // No valid output port for the RX transaction
    194 wire            p1_idle_selected;          // The IDLE sequence has been selected
    195 wire            p1_idle2_selected;         // The PHY is operating in IDLE2 mode
    196 wire            p1_autocheck_error;        // when set, packet didn't match expected
    197 wire            p1_port_initialized;       // Port is Initialized
    198 wire            p1_link_initialized;       // Link is Initialized
    199 wire            p1_exercise_done;          // sets when the generator(s) has completed
    200 wire            p1_clk_lock;               // asserts from the MMCM
    201 
    202 // other core output signals that may be used by the user
    203 wire            p1_phy_mce = 1'b0;         // Send MCE control symbol
    204 wire            p1_phy_link_reset = 1'b0;  // Send link reset control symbols
    205 wire            p1_force_reinit = 1'b0;    // Force reinitialization
    206 
    207 wire    [35:0]  CONTROL0;
    208 wire    [35:0]  CONTROL1;
    209 wire    [35:0]  CONTROL2;
    210 wire    [35:0]  CONTROL3;
    211 
    212 srio_clk_rst u_srio_clk_rst (
    213     .sys_clkp(srio_refclk_p), 
    214     .sys_clkn(srio_refclk_n), 
    215     .sys_rst(!k7_rstn), 
    216     .p0_port_initialized(p0_port_initialized), 
    217     .p0_phy_rcvd_link_reset(p0_phy_rcvd_link_reset), 
    218     .p0_force_reinit(p0_force_reinit), 
    219     .p0_mode_1x(p0_mode_1x), 
    220     .p0_log_clk(p0_log_clk), 
    221     .p0_phy_clk(p0_phy_clk), 
    222     .p0_gt_pcs_clk(p0_gt_pcs_clk), 
    223     .p0_gt_clk(p0_gt_clk), 
    224     .p0_refclk(p0_refclk), 
    225     .p0_drpclk(p0_drpclk), 
    226     .p0_controlled_force_reinit(p0_controlled_force_reinit), 
    227     .p0_cfg_rst(p0_cfg_rst), 
    228     .p0_log_rst(p0_log_rst), 
    229     .p0_buf_rst(p0_buf_rst), 
    230     .p0_phy_rst(p0_phy_rst), 
    231     .p0_gt_pcs_rst(p0_gt_pcs_rst), 
    232     .p0_clk_lock(p0_clk_lock), 
    233     .p1_port_initialized(p1_port_initialized), 
    234     .p1_phy_rcvd_link_reset(p1_phy_rcvd_link_reset), 
    235     .p1_force_reinit(p1_force_reinit), 
    236     .p1_mode_1x(p1_mode_1x), 
    237     .p1_log_clk(p1_log_clk), 
    238     .p1_phy_clk(p1_phy_clk), 
    239     .p1_gt_pcs_clk(p1_gt_pcs_clk), 
    240     .p1_gt_clk(p1_gt_clk), 
    241     .p1_refclk(p1_refclk), 
    242     .p1_drpclk(p1_drpclk), 
    243     .p1_controlled_force_reinit(p1_controlled_force_reinit), 
    244     .p1_cfg_rst(p1_cfg_rst), 
    245     .p1_log_rst(p1_log_rst), 
    246     .p1_buf_rst(p1_buf_rst), 
    247     .p1_phy_rst(p1_phy_rst), 
    248     .p1_gt_pcs_rst(p1_gt_pcs_rst), 
    249     .p1_clk_lock(p1_clk_lock)
    250     );
    251     
    252 p0_srio_dut_2x u_p0_srio_dut_2x (
    253     .log_clk(p0_log_clk), 
    254     .phy_clk(p0_phy_clk), 
    255     .gt_pcs_clk(p0_gt_pcs_clk), 
    256     .gt_clk(p0_gt_clk), 
    257     .refclk(p0_refclk), 
    258     .drpclk(p0_drpclk), 
    259     .controlled_force_reinit(p0_controlled_force_reinit), 
    260     .cfg_rst(p0_cfg_rst), 
    261     .log_rst(p0_log_rst), 
    262     .buf_rst(p0_buf_rst), 
    263     .phy_rst(p0_phy_rst), 
    264     .gt_pcs_rst(p0_gt_pcs_rst), 
    265     .maintr_rst(p0_maintr_rst),
    266     .clk_lock(p0_clk_lock),
    267     .srio_rxn0(p0_srio_rxn0), 
    268     .srio_rxp0(p0_srio_rxp0), 
    269     .srio_rxn1(p0_srio_rxn1), 
    270     .srio_rxp1(p0_srio_rxp1), 
    271     .srio_txn0(p0_srio_txn0), 
    272     .srio_txp0(p0_srio_txp0), 
    273     .srio_txn1(p0_srio_txn1), 
    274     .srio_txp1(p0_srio_txp1), 
    275     .iotx_tvalid(p0_iotx_tvalid), 
    276     .iotx_tready(p0_iotx_tready), 
    277     .iotx_tlast(p0_iotx_tlast), 
    278     .iotx_tdata(p0_iotx_tdata), 
    279     .iotx_tkeep(p0_iotx_tkeep), 
    280     .iotx_tuser(p0_iotx_tuser), 
    281     .iorx_tvalid(p0_iorx_tvalid), 
    282     .iorx_tready(p0_iorx_tready), 
    283     .iorx_tlast(p0_iorx_tlast), 
    284     .iorx_tdata(p0_iorx_tdata), 
    285     .iorx_tkeep(p0_iorx_tkeep), 
    286     .iorx_tuser(p0_iorx_tuser), 
    287     .usrtx_tvalid(p0_usrtx_tvalid), 
    288     .usrtx_tready(p0_usrtx_tready), 
    289     .usrtx_tlast(p0_usrtx_tlast), 
    290     .usrtx_tdata(p0_usrtx_tdata), 
    291     .usrtx_tkeep(p0_usrtx_tkeep), 
    292     .usrtx_tuser(p0_usrtx_tuser), 
    293     .usrrx_tvalid(p0_usrrx_tvalid), 
    294     .usrrx_tready(p0_usrrx_tready), 
    295     .usrrx_tlast(p0_usrrx_tlast), 
    296     .usrrx_tdata(p0_usrrx_tdata), 
    297     .usrrx_tkeep(p0_usrrx_tkeep), 
    298     .usrrx_tuser(p0_usrrx_tuser), 
    299     .maintr_awvalid(p0_maintr_awvalid), 
    300     .maintr_awready(p0_maintr_awready), 
    301     .maintr_awaddr(p0_maintr_awaddr), 
    302     .maintr_wvalid(p0_maintr_wvalid), 
    303     .maintr_wready(p0_maintr_wready), 
    304     .maintr_wdata(p0_maintr_wdata), 
    305     .maintr_bvalid(p0_maintr_bvalid), 
    306     .maintr_bready(p0_maintr_bready), 
    307     .maintr_bresp(p0_maintr_bresp), 
    308     .maintr_arvalid(p0_maintr_arvalid), 
    309     .maintr_arready(p0_maintr_arready), 
    310     .maintr_araddr(p0_maintr_araddr), 
    311     .maintr_rvalid(p0_maintr_rvalid), 
    312     .maintr_rready(p0_maintr_rready), 
    313     .maintr_rdata(p0_maintr_rdata), 
    314     .maintr_rresp(p0_maintr_rresp), 
    315     .sim_train_en(p0_sim_train_en), 
    316     .phy_mce(p0_phy_mce), 
    317     .phy_link_reset(p0_phy_link_reset), 
    318     .force_reinit(p0_force_reinit), 
    319     .port_initialized(p0_port_initialized), 
    320     .link_initialized(p0_link_initialized), 
    321     .idle_selected(p0_idle_selected), 
    322     .idle2_selected(p0_idle2_selected), 
    323     .phy_rcvd_mce(p0_phy_rcvd_mce), 
    324     .phy_rcvd_link_reset(p0_phy_rcvd_link_reset), 
    325     .port_error(p0_port_error), 
    326     .mode_1x(p0_mode_1x), 
    327     .port_timeout(p0_port_timeout), 
    328     .srio_host(p0_srio_host), 
    329     .phy_debug(p0_phy_debug), 
    330     .gtrx_disperr_or(p0_gtrx_disperr_or), 
    331     .gtrx_notintable_or(p0_gtrx_notintable_or), 
    332     .deviceid(p0_deviceid), 
    333     .port_decode_error(p0_port_decode_error),
    334     .p1_gt0_qplloutclk_i(p1_gt0_qplloutclk_i), 
    335     .p1_gt0_qplloutrefclk_i(p1_gt0_qplloutrefclk_i)    
    336     );
    337  
    338 
    339 p1_srio_dut_2x u_p1_srio_dut_2x (
    340     .log_clk(p1_log_clk), 
    341     .phy_clk(p1_phy_clk), 
    342     .gt_pcs_clk(p1_gt_pcs_clk), 
    343     .gt_clk(p1_gt_clk), 
    344     .refclk(p1_refclk), 
    345     .drpclk(p1_drpclk), 
    346     .controlled_force_reinit(p1_controlled_force_reinit), 
    347     .cfg_rst(p1_cfg_rst), 
    348     .log_rst(p1_log_rst), 
    349     .buf_rst(p1_buf_rst), 
    350     .phy_rst(p1_phy_rst), 
    351     .gt_pcs_rst(p1_gt_pcs_rst), 
    352     .maintr_rst(p1_maintr_rst),
    353     .clk_lock(p1_clk_lock),
    354     .srio_rxn0(p1_srio_rxn0), 
    355     .srio_rxp0(p1_srio_rxp0), 
    356     .srio_rxn1(p1_srio_rxn1), 
    357     .srio_rxp1(p1_srio_rxp1), 
    358     .srio_txn0(p1_srio_txn0), 
    359     .srio_txp0(p1_srio_txp0), 
    360     .srio_txn1(p1_srio_txn1), 
    361     .srio_txp1(p1_srio_txp1), 
    362     .iotx_tvalid(p1_iotx_tvalid), 
    363     .iotx_tready(p1_iotx_tready), 
    364     .iotx_tlast(p1_iotx_tlast), 
    365     .iotx_tdata(p1_iotx_tdata), 
    366     .iotx_tkeep(p1_iotx_tkeep), 
    367     .iotx_tuser(p1_iotx_tuser), 
    368     .iorx_tvalid(p1_iorx_tvalid), 
    369     .iorx_tready(p1_iorx_tready), 
    370     .iorx_tlast(p1_iorx_tlast), 
    371     .iorx_tdata(p1_iorx_tdata), 
    372     .iorx_tkeep(p1_iorx_tkeep), 
    373     .iorx_tuser(p1_iorx_tuser), 
    374     .usrtx_tvalid(p1_usrtx_tvalid), 
    375     .usrtx_tready(p1_usrtx_tready), 
    376     .usrtx_tlast(p1_usrtx_tlast), 
    377     .usrtx_tdata(p1_usrtx_tdata), 
    378     .usrtx_tkeep(p1_usrtx_tkeep), 
    379     .usrtx_tuser(p1_usrtx_tuser), 
    380     .usrrx_tvalid(p1_usrrx_tvalid), 
    381     .usrrx_tready(p1_usrrx_tready), 
    382     .usrrx_tlast(p1_usrrx_tlast), 
    383     .usrrx_tdata(p1_usrrx_tdata), 
    384     .usrrx_tkeep(p1_usrrx_tkeep), 
    385     .usrrx_tuser(p1_usrrx_tuser), 
    386     .maintr_awvalid(p1_maintr_awvalid), 
    387     .maintr_awready(p1_maintr_awready), 
    388     .maintr_awaddr(p1_maintr_awaddr), 
    389     .maintr_wvalid(p1_maintr_wvalid), 
    390     .maintr_wready(p1_maintr_wready), 
    391     .maintr_wdata(p1_maintr_wdata), 
    392     .maintr_bvalid(p1_maintr_bvalid), 
    393     .maintr_bready(p1_maintr_bready), 
    394     .maintr_bresp(p1_maintr_bresp), 
    395     .maintr_arvalid(p1_maintr_arvalid), 
    396     .maintr_arready(p1_maintr_arready), 
    397     .maintr_araddr(p1_maintr_araddr), 
    398     .maintr_rvalid(p1_maintr_rvalid), 
    399     .maintr_rready(p1_maintr_rready), 
    400     .maintr_rdata(p1_maintr_rdata), 
    401     .maintr_rresp(p1_maintr_rresp), 
    402     .sim_train_en(p1_sim_train_en), 
    403     .phy_mce(p1_phy_mce), 
    404     .phy_link_reset(p1_phy_link_reset), 
    405     .force_reinit(p1_force_reinit), 
    406     .port_initialized(p1_port_initialized), 
    407     .link_initialized(p1_link_initialized), 
    408     .idle_selected(p1_idle_selected), 
    409     .idle2_selected(p1_idle2_selected), 
    410     .phy_rcvd_mce(p1_phy_rcvd_mce), 
    411     .phy_rcvd_link_reset(p1_phy_rcvd_link_reset), 
    412     .port_error(p1_port_error), 
    413     .mode_1x(p1_mode_1x), 
    414     .port_timeout(p1_port_timeout), 
    415     .srio_host(p1_srio_host), 
    416     .phy_debug(p1_phy_debug), 
    417     .gtrx_disperr_or(p1_gtrx_disperr_or), 
    418     .gtrx_notintable_or(p1_gtrx_notintable_or), 
    419     .deviceid(p1_deviceid), 
    420     .port_decode_error(p1_port_decode_error),
    421     .p1_gt0_qplloutclk_i(p1_gt0_qplloutclk_i), 
    422     .p1_gt0_qplloutrefclk_i(p1_gt0_qplloutrefclk_i)       
    423     );    
    424 /*srio_dut srio_dut_inst
    425    (.sys_clkp                (srio_refclk_p),
    426     .sys_clkn                (srio_refclk_n),
    427     .log_clk                 (log_clk),
    428     .phy_clk                 (phy_clk),
    429     .gt_pcs_clk              (gt_pcs_clk),
    430 
    431     .sys_rst                 (!k7_rstn),
    432     .log_rst                 (log_rst),
    433     .phy_rst                 (phy_rst),
    434     .clk_lock                (clk_lock),
    435 
    436     .srio_rxn0               (srio_rxn0),
    437     .srio_rxp0               (srio_rxp0),
    438     .srio_rxn1               (srio_rxn1),
    439     .srio_rxp1               (srio_rxp1),
    440     .srio_rxn2               (srio_rxn2),
    441     .srio_rxp2               (srio_rxp2),
    442     .srio_rxn3               (srio_rxn3),
    443     .srio_rxp3               (srio_rxp3),
    444 
    445     .srio_txn0               (srio_txn0),
    446     .srio_txp0               (srio_txp0),
    447     .srio_txn1               (srio_txn1),
    448     .srio_txp1               (srio_txp1),
    449     .srio_txn2               (srio_txn2),
    450     .srio_txp2               (srio_txp2),
    451     .srio_txn3               (srio_txn3),
    452     .srio_txp3               (srio_txp3),
    453 
    454     .iotx_tvalid             (iotx_tvalid),
    455     .iotx_tready             (iotx_tready),
    456     .iotx_tlast              (iotx_tlast),
    457     .iotx_tdata              (iotx_tdata),
    458     .iotx_tkeep              (iotx_tkeep),
    459     .iotx_tuser              (iotx_tuser),
    460 
    461     .iorx_tvalid             (iorx_tvalid),
    462     .iorx_tready             (iorx_tready),
    463     .iorx_tlast              (iorx_tlast),
    464     .iorx_tdata              (iorx_tdata),
    465     .iorx_tkeep              (iorx_tkeep),
    466     .iorx_tuser              (iorx_tuser),
    467 
    468     .maintr_rst              (maintr_rst),
    469 
    470     .maintr_awvalid          (maintr_awvalid),
    471     .maintr_awready          (maintr_awready),
    472     .maintr_awaddr           (maintr_awaddr),
    473     .maintr_wvalid           (maintr_wvalid),
    474     .maintr_wready           (maintr_wready),
    475     .maintr_wdata            (maintr_wdata),
    476     .maintr_bvalid           (maintr_bvalid),
    477     .maintr_bready           (maintr_bready),
    478     .maintr_bresp            (maintr_bresp),
    479 
    480     .maintr_arvalid          (maintr_arvalid),
    481     .maintr_arready          (maintr_arready),
    482     .maintr_araddr           (maintr_araddr),
    483     .maintr_rvalid           (maintr_rvalid),
    484     .maintr_rready           (maintr_rready),
    485     .maintr_rdata            (maintr_rdata),
    486     .maintr_rresp            (maintr_rresp),
    487 
    488     .sim_train_en            (sim_train_en),
    489     .phy_mce                 (phy_mce),
    490     .phy_link_reset          (phy_link_reset),
    491     .force_reinit            (force_reinit),
    492 
    493     .port_initialized        (port_initialized),
    494     .link_initialized        (link_initialized),
    495     .idle_selected           (idle_selected),
    496     .idle2_selected          (idle2_selected),
    497     .phy_rcvd_mce            (phy_rcvd_mce),
    498     .phy_rcvd_link_reset     (phy_rcvd_link_reset),
    499     .port_error              (port_error),
    500     .mode_1x                 (mode_1x),
    501     .port_timeout            (port_timeout),
    502     .srio_host               (srio_host),
    503     .phy_debug               (phy_debug),
    504     .gtrx_disperr_or         (gtrx_disperr_or),
    505     .gtrx_notintable_or      (gtrx_notintable_or),
    506 
    507     .deviceid                (deviceid),
    508     .port_decode_error       (port_decode_error),
    509     .CONTROL                 (CONTROL2)
    510    );*/
    511    
    512 srio_user #
    513 (
    514     .DSP_ADD(34'h108F0000)
    515 )
    516 u_p0_srio_user (
    517     .log_clk(p0_log_clk), 
    518     .log_rst(p0_log_rst), 
    519     .port_initialized(p0_port_initialized),
    520     .iorx_tvalid(p0_iorx_tvalid), 
    521     .iorx_tready(p0_iorx_tready), 
    522     .iorx_tlast(p0_iorx_tlast), 
    523     .iorx_tdata(p0_iorx_tdata), 
    524     .iorx_tkeep(p0_iorx_tkeep), 
    525     .iorx_tuser(p0_iorx_tuser), 
    526     .iotx_tvalid(p0_iotx_tvalid), 
    527     .iotx_tready(p0_iotx_tready), 
    528     .iotx_tlast(p0_iotx_tlast), 
    529     .iotx_tdata(p0_iotx_tdata), 
    530     .iotx_tkeep(p0_iotx_tkeep), 
    531     .iotx_tuser(p0_iotx_tuser)
    532     );  
    533     
    534 srio_user #
    535 (
    536     .DSP_ADD(34'h118F0000)
    537 )
    538 u_p1_srio_user (
    539     .log_clk(p1_log_clk), 
    540     .log_rst(p1_log_rst), 
    541     .port_initialized(p1_port_initialized),    
    542     .iorx_tvalid(p1_iorx_tvalid), 
    543     .iorx_tready(p1_iorx_tready), 
    544     .iorx_tlast(p1_iorx_tlast), 
    545     .iorx_tdata(p1_iorx_tdata), 
    546     .iorx_tkeep(p1_iorx_tkeep), 
    547     .iorx_tuser(p1_iorx_tuser), 
    548     .iotx_tvalid(p1_iotx_tvalid), 
    549     .iotx_tready(p1_iotx_tready), 
    550     .iotx_tlast(p1_iotx_tlast), 
    551     .iotx_tdata(p1_iotx_tdata), 
    552     .iotx_tkeep(p1_iotx_tkeep), 
    553     .iotx_tuser(p1_iotx_tuser)
    554     );
    555 
    556 
    557 chipscope_icon u_icon (
    558     .CONTROL0(CONTROL0), // INOUT BUS [35:0]
    559     .CONTROL1(CONTROL1), // INOUT BUS [35:0]
    560     .CONTROL2(CONTROL2),
    561     .CONTROL3(CONTROL3)
    562 );
    563 
    564 chipscope_ila u0_ila (
    565     .CONTROL(CONTROL0), // INOUT BUS [35:0]
    566     .CLK(p0_log_clk), // IN
    567     .TRIG0(
    568             {
    569             p0_port_decode_error,
    570             p0_iorx_tready,
    571             p0_iorx_tval,
    572             full,
    573             empty,
    574             fifo_prog_full,
    575             p0_iorx_tdata,
    576             fifo_dout_v,
    577             fifo_rden,
    578             state_cnt,
    579             state,
    580             p0_clk_lock,
    581             p0_iotx_tdata,
    582             p0_iotx_tkeep,
    583             p0_iotx_tuser,
    584             p0_iotx_tvalid,
    585             p0_iotx_tready,            
    586             p0_iotx_tlast           
    587             }
    588           ) // IN BUS [255:0]
    589 );
    590 
    591 
    592 
    593 chipscope_ila u1_ila (
    594     .CONTROL(CONTROL1), // INOUT BUS [35:0]
    595     .CLK(p0_log_clk), // IN
    596     .TRIG0(
    597             {
    598             p0_deviceid,
    599             p0_iorx_tdata,
    600             p0_iorx_tkeep,
    601             p0_iorx_tuser,
    602             p0_iorx_tvalid,
    603             p0_iorx_tready,            
    604             p0_iorx_tlast,
    605             p0_port_initialized,            
    606             p0_link_initialized,         
    607             p0_mode_1x,          
    608             p0_phy_rcvd_link_reset
    609             }
    610           ) // IN BUS [255:0]
    611 );
    612 
    613 
    614 chipscope_ila u2_ila (
    615     .CONTROL(CONTROL2), // INOUT BUS [35:0]
    616     .CLK(p1_log_clk), // IN
    617     .TRIG0(
    618             {
    619             p1_port_decode_error,
    620             p1_iorx_tready,
    621             p1_iorx_tval,
    622             full,
    623             empty,
    624             fifo_prog_full,
    625             p1_iorx_tdata,
    626             fifo_dout_v,
    627             fifo_rden,
    628             state_cnt,
    629             state,
    630             p1_clk_lock,
    631             p1_iotx_tdata,
    632             p1_iotx_tkeep,
    633             p1_iotx_tuser,
    634             p1_iotx_tvalid,
    635             p1_iotx_tready,            
    636             p1_iotx_tlast           
    637             }
    638           ) // IN BUS [255:0]
    639 );
    640 
    641 
    642 
    643 chipscope_ila u3_ila (
    644     .CONTROL(CONTROL3), // INOUT BUS [35:0]
    645     .CLK(p1_log_clk), // IN
    646     .TRIG0(
    647             {
    648             p1_deviceid,
    649             p1_iorx_tdata,
    650             p1_iorx_tkeep,
    651             p1_iorx_tuser,
    652             p1_iorx_tvalid,
    653             p1_iorx_tready,            
    654             p1_iorx_tlast,
    655             p1_port_initialized,            
    656             p1_link_initialized,         
    657             p1_mode_1x,          
    658             p1_phy_rcvd_link_reset
    659             }
    660           ) // IN BUS [255:0]
    661 );
    662 endmodule
  • 相关阅读:
    python—9个基础常识-python小白入门系列
    学完Python,我决定熬夜整理这篇总结...
    Python中时间戳、时间字符串、时间结构对象之间的相互转化
    [Python3] 超级码力在线编程大赛初赛 第2场 题解
    利用人工智能算法让古代皇帝画像以及古代四大美女画像动起来(模仿偶像胡歌剧中角色表情动作
    python爬取酷我音乐(收费也可)
    Python基础入门:从变量到异常处理–阿里云天池
    python 使用 wechatsogou wkthmltopdf 导出微信公众号文章
    ASP.NET WebAPI 连接数据库
    从头开始一步一步实现EF6+Autofac+MVC5+Bootstarp极简的实现前后台ajax表格展示及分页实现
  • 原文地址:https://www.cnblogs.com/fpga/p/4032370.html
Copyright © 2020-2023  润新知