| 1 | // ========== Copyright Header Begin ========================================== |
| 2 | // |
| 3 | // OpenSPARC T2 Processor File: niu_smx_resp_dmc.v |
| 4 | // Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved |
| 5 | // 4150 Network Circle, Santa Clara, California 95054, U.S.A. |
| 6 | // |
| 7 | // * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| 8 | // |
| 9 | // This program is free software; you can redistribute it and/or modify |
| 10 | // it under the terms of the GNU General Public License as published by |
| 11 | // the Free Software Foundation; version 2 of the License. |
| 12 | // |
| 13 | // This program is distributed in the hope that it will be useful, |
| 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 16 | // GNU General Public License for more details. |
| 17 | // |
| 18 | // You should have received a copy of the GNU General Public License |
| 19 | // along with this program; if not, write to the Free Software |
| 20 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 21 | // |
| 22 | // For the avoidance of doubt, and except that if any non-GPL license |
| 23 | // choice is available it will apply instead, Sun elects to use only |
| 24 | // the General Public License version 2 (GPLv2) at this time for any |
| 25 | // software where a choice of GPL license versions is made |
| 26 | // available with the language indicating that GPLv2 or any later version |
| 27 | // may be used, or where a choice of which version of the GPL is applied is |
| 28 | // otherwise unspecified. |
| 29 | // |
| 30 | // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| 31 | // CA 95054 USA or visit www.sun.com if you need additional information or |
| 32 | // have any questions. |
| 33 | // |
| 34 | // ========== Copyright Header End ============================================ |
| 35 | module niu_smx_resp_dmc( |
| 36 | /*AUTOARG*/ |
| 37 | // Outputs |
| 38 | meta_dmc_resp_ready, meta_dmc_resp_cmd, meta_dmc_resp_cmd_status, |
| 39 | meta_dmc_resp_address, meta_dmc_resp_length, |
| 40 | meta_dmc_resp_transID, meta_dmc_resp_port_num, |
| 41 | meta_dmc_resp_dma_num, meta_dmc_resp_client, meta_dmc_data_valid, |
| 42 | meta_dmc_data, meta_dmc_resp_byteenable, meta_dmc_data_status, |
| 43 | meta_dmc_resp_complete, meta_dmc_resp_transfer_cmpl, |
| 44 | meta_dmc_ack_ready, meta_dmc_ack_cmd, meta_dmc_ack_cmd_status, |
| 45 | meta_dmc_ack_transID, meta_dmc_ack_dma_num, meta_dmc_ack_client, |
| 46 | meta_dmc_ack_complete, meta_dmc_ack_transfer_cmpl, niu_sio_dq, |
| 47 | xtb_rd, xtb_raddr, xtb_rcvfile_update, xtb_rcvfile_update_addr, |
| 48 | resp_cmdff_rd, resp_dataff_rd, tid_valid_rst0, |
| 49 | tid_valid_rst_addr0, tid_valid_rd, tid_valid_raddr, resp_rcv_set, |
| 50 | resp_rcv_set_addr, cmdl_tohdl_ack, cmdl_cs, dv_cs, proc_cs, |
| 51 | // Inputs |
| 52 | clk, reset_l, dmc_meta_resp_accept, dmc_meta_ack_accept, |
| 53 | xtb_rdata, xtb_rd_ack, xtb_rdata_err, resp_cmdff_empty, |
| 54 | resp_cmdff_rdata, resp_dataff_empty, resp_dataff_rdata, |
| 55 | tid_valid_rdata, tohdl_cmdl_req, tohdl_cmdl_cmd, tohdl_cmdl_addr, |
| 56 | tohdl_cmdl_len, tohdl_cmdl_xid, tohdl_cmdl_port, tohdl_cmdl_dma, |
| 57 | tohdl_cmdl_client, pio_resp_err_inject_cfg, tid_dirty_rdata_bus |
| 58 | ); |
| 59 | |
| 60 | input clk; |
| 61 | input reset_l; |
| 62 | |
| 63 | // dmc cmd if |
| 64 | output meta_dmc_resp_ready; |
| 65 | output [7:0] meta_dmc_resp_cmd; |
| 66 | output [3:0] meta_dmc_resp_cmd_status; |
| 67 | output [63:0] meta_dmc_resp_address; |
| 68 | output [13:0] meta_dmc_resp_length; |
| 69 | output [5:0] meta_dmc_resp_transID; |
| 70 | output [1:0] meta_dmc_resp_port_num; |
| 71 | output [4:0] meta_dmc_resp_dma_num; |
| 72 | output [7:0] meta_dmc_resp_client; |
| 73 | input [7:0] dmc_meta_resp_accept; |
| 74 | |
| 75 | // dmc data if |
| 76 | output [7:0] meta_dmc_data_valid; |
| 77 | output [127:0] meta_dmc_data; |
| 78 | output [15:0] meta_dmc_resp_byteenable; |
| 79 | output [3:0] meta_dmc_data_status; |
| 80 | output [7:0] meta_dmc_resp_complete; |
| 81 | output [7:0] meta_dmc_resp_transfer_cmpl; |
| 82 | |
| 83 | // dmc ack if |
| 84 | output meta_dmc_ack_ready; |
| 85 | output [7:0] meta_dmc_ack_cmd; |
| 86 | output [3:0] meta_dmc_ack_cmd_status; |
| 87 | // output [63:0] meta_dmc_ack_address; |
| 88 | // output [13:0] meta_dmc_ack_length; |
| 89 | output [5:0] meta_dmc_ack_transID; |
| 90 | // output [1:0] meta_dmc_ack_port_num; |
| 91 | output [4:0] meta_dmc_ack_dma_num; |
| 92 | output [7:0] meta_dmc_ack_client; |
| 93 | input [7:0] dmc_meta_ack_accept; |
| 94 | // output [7:0] meta_dmc_ack_complete; |
| 95 | output meta_dmc_ack_complete; |
| 96 | output [7:0] meta_dmc_ack_transfer_cmpl; |
| 97 | |
| 98 | |
| 99 | // sio if |
| 100 | output niu_sio_dq; |
| 101 | |
| 102 | // xtb if |
| 103 | output xtb_rd; |
| 104 | output [5:0] xtb_raddr; |
| 105 | input [128:0] xtb_rdata; |
| 106 | input xtb_rd_ack; // rst client rd signal |
| 107 | input xtb_rdata_err; |
| 108 | |
| 109 | output xtb_rcvfile_update; |
| 110 | output [5:0] xtb_rcvfile_update_addr; |
| 111 | |
| 112 | // resp cmdff if |
| 113 | input resp_cmdff_empty; |
| 114 | input [21:0] resp_cmdff_rdata; |
| 115 | output resp_cmdff_rd; |
| 116 | |
| 117 | // resp dataff if |
| 118 | input resp_dataff_empty; |
| 119 | input [143:0] resp_dataff_rdata; |
| 120 | output resp_dataff_rd; |
| 121 | |
| 122 | // status if |
| 123 | output tid_valid_rst0; // rst by resp_cmdproc |
| 124 | output [5:0] tid_valid_rst_addr0; |
| 125 | |
| 126 | output tid_valid_rd; // rd by resp_cmdproc |
| 127 | output [5:0] tid_valid_raddr; |
| 128 | input tid_valid_rdata; |
| 129 | |
| 130 | output resp_rcv_set; // set by resp_cmdproc |
| 131 | output [5:0] resp_rcv_set_addr; |
| 132 | |
| 133 | // TO handler if |
| 134 | input tohdl_cmdl_req; |
| 135 | input [7:0] tohdl_cmdl_cmd; |
| 136 | input [63:0] tohdl_cmdl_addr; |
| 137 | input [13:0] tohdl_cmdl_len; |
| 138 | input [5:0] tohdl_cmdl_xid; |
| 139 | input [1:0] tohdl_cmdl_port; |
| 140 | input [4:0] tohdl_cmdl_dma; |
| 141 | input [7:0] tohdl_cmdl_client; |
| 142 | output cmdl_tohdl_ack; |
| 143 | |
| 144 | // pio i/f |
| 145 | input [2:0] pio_resp_err_inject_cfg; // [0] - one pkt |
| 146 | // [1] - alt pkt |
| 147 | // [2] - all pkt |
| 148 | |
| 149 | output [2:0] cmdl_cs; |
| 150 | output [2:0] dv_cs; |
| 151 | output [1:0] proc_cs; |
| 152 | |
| 153 | input [63:0] tid_dirty_rdata_bus; |
| 154 | |
| 155 | |
| 156 | /*AUTOWIRE*/ |
| 157 | // Beginning of automatic wires (for undeclared instantiated-module outputs) |
| 158 | wire dv_idle; // From resp_dv of niu_smx_sm_resp_dv.v |
| 159 | wire dvflag; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 160 | wire [7:0] dvflag_client; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 161 | wire [15:0] dvflag_eop_byte_en; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 162 | wire [3:0] dvflag_eop_pos; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 163 | wire [3:0] dvflag_line_en; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 164 | wire [15:0] dvflag_sop_byte_en; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 165 | wire [3:0] dvflag_sop_pos; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 166 | wire [3:0] dvflag_status; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 167 | wire [1:0] dvflag_with_data; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 168 | wire [3:0] dvflag_xcomp; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 169 | wire early_dvflag; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 170 | wire [7:0] early_dvflag_client; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 171 | wire [15:0] early_dvflag_eop_byte_en;// From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 172 | wire [3:0] early_dvflag_eop_pos; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 173 | wire [3:0] early_dvflag_line_en; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 174 | wire [15:0] early_dvflag_sop_byte_en;// From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 175 | wire [3:0] early_dvflag_sop_pos; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 176 | wire [3:0] early_dvflag_status; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 177 | wire [1:0] early_dvflag_with_data; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 178 | wire [3:0] early_dvflag_xcomp; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 179 | wire procflag; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 180 | wire [63:0] procflag_addr; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 181 | wire [7:0] procflag_client; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 182 | wire [7:0] procflag_cmd; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 183 | wire [4:0] procflag_dma; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 184 | wire procflag_eop; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 185 | wire [3:0] procflag_eop_byte_en; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 186 | wire [3:0] procflag_eop_line_en; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 187 | wire [2:0] procflag_err; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 188 | wire [1:0] procflag_port; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 189 | wire procflag_rd; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 190 | wire procflag_sop; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 191 | wire [3:0] procflag_sop_byte_en; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 192 | wire [3:0] procflag_sop_line_en; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 193 | wire procflag_with_data; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 194 | wire procflag_xcomp; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 195 | wire [5:0] procflag_xid; // From resp_cmdproc of niu_smx_sm_resp_cmdproc.v |
| 196 | wire rst_dvflag; // From resp_dv of niu_smx_sm_resp_dv.v |
| 197 | wire rst_procflag; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 198 | wire [7:0] smx_dmc_ack_client; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 199 | wire [7:0] smx_dmc_ack_cmd; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 200 | wire [3:0] smx_dmc_ack_cmd_status; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 201 | wire [7:0] smx_dmc_ack_comp; // From resp_dv of niu_smx_sm_resp_dv.v |
| 202 | wire [4:0] smx_dmc_ack_dma; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 203 | wire smx_dmc_ack_rdy; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 204 | wire [7:0] smx_dmc_ack_xcomp; // From resp_dv of niu_smx_sm_resp_dv.v |
| 205 | wire [5:0] smx_dmc_ack_xid; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 206 | wire [63:0] smx_dmc_addr; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 207 | wire [15:0] smx_dmc_byte_en; // From resp_dv of niu_smx_sm_resp_dv.v |
| 208 | wire [7:0] smx_dmc_client; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 209 | wire [7:0] smx_dmc_cmd; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 210 | wire [3:0] smx_dmc_cmd_status; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 211 | wire [127:0] smx_dmc_data; // From resp_dv of niu_smx_sm_resp_dv.v |
| 212 | wire [4:0] smx_dmc_dma; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 213 | wire [7:0] smx_dmc_dv; // From resp_dv of niu_smx_sm_resp_dv.v |
| 214 | wire [13:0] smx_dmc_len; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 215 | wire [1:0] smx_dmc_port; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 216 | wire smx_dmc_rdy; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 217 | wire [7:0] smx_dmc_resp_comp; // From resp_dv of niu_smx_sm_resp_dv.v |
| 218 | wire [3:0] smx_dmc_status; // From resp_dv of niu_smx_sm_resp_dv.v |
| 219 | wire [7:0] smx_dmc_xcomp; // From resp_dv of niu_smx_sm_resp_dv.v |
| 220 | wire [5:0] smx_dmc_xid; // From resp_cmdlaunch of niu_smx_sm_resp_cmdlaunch.v |
| 221 | // End of automatics |
| 222 | |
| 223 | |
| 224 | wire meta_dmc_resp_ready= smx_dmc_rdy; |
| 225 | wire [7:0] meta_dmc_resp_cmd= smx_dmc_cmd; |
| 226 | wire [3:0] meta_dmc_resp_cmd_status= smx_dmc_cmd_status; |
| 227 | wire [63:0] meta_dmc_resp_address= smx_dmc_addr; |
| 228 | wire [13:0] meta_dmc_resp_length= smx_dmc_len; |
| 229 | wire [5:0] meta_dmc_resp_transID= smx_dmc_xid; |
| 230 | wire [1:0] meta_dmc_resp_port_num= smx_dmc_port; |
| 231 | wire [4:0] meta_dmc_resp_dma_num= smx_dmc_dma; |
| 232 | wire [7:0] meta_dmc_resp_client= smx_dmc_client; |
| 233 | wire [7:0] dmc_smx_accept= dmc_meta_resp_accept; |
| 234 | |
| 235 | // dmc data if |
| 236 | wire [7:0] meta_dmc_data_valid= smx_dmc_dv; |
| 237 | wire [127:0] meta_dmc_data= smx_dmc_data; |
| 238 | wire [15:0] meta_dmc_resp_byteenable= smx_dmc_byte_en; |
| 239 | wire [3:0] meta_dmc_data_status= smx_dmc_status; |
| 240 | wire [7:0] meta_dmc_resp_complete= smx_dmc_resp_comp; |
| 241 | wire [7:0] meta_dmc_resp_transfer_cmpl= smx_dmc_xcomp; |
| 242 | |
| 243 | // dmc ack if |
| 244 | wire meta_dmc_ack_ready= smx_dmc_ack_rdy; |
| 245 | wire [7:0] meta_dmc_ack_cmd= smx_dmc_ack_cmd; |
| 246 | wire [3:0] meta_dmc_ack_cmd_status= smx_dmc_ack_cmd_status; |
| 247 | // wire [63:0] meta_dmc_ack_address= smx_dmc_ack_addr; |
| 248 | // wire [13:0] meta_dmc_ack_length= smx_dmc_ack_len; |
| 249 | wire [5:0] meta_dmc_ack_transID= smx_dmc_ack_xid; |
| 250 | // wire [1:0] meta_dmc_ack_port_num= smx_dmc_ack_port; |
| 251 | wire [4:0] meta_dmc_ack_dma_num= smx_dmc_ack_dma; |
| 252 | wire [7:0] meta_dmc_ack_client= smx_dmc_ack_client; |
| 253 | wire [7:0] dmc_smx_ack_accept= dmc_meta_ack_accept; |
| 254 | // wire [7:0] meta_dmc_ack_complete= smx_dmc_ack_comp; |
| 255 | wire meta_dmc_ack_complete= smx_dmc_ack_comp[2]; // only tdmc uses this |
| 256 | // do this for vlint |
| 257 | wire [7:0] meta_dmc_ack_transfer_cmpl= smx_dmc_ack_xcomp; |
| 258 | |
| 259 | |
| 260 | niu_smx_sm_resp_cmdproc resp_cmdproc( /*AUTOINST*/ |
| 261 | // Outputs |
| 262 | .resp_cmdff_rd(resp_cmdff_rd), |
| 263 | .xtb_rd(xtb_rd), |
| 264 | .xtb_raddr(xtb_raddr[5:0]), |
| 265 | .xtb_rcvfile_update(xtb_rcvfile_update), |
| 266 | .xtb_rcvfile_update_addr(xtb_rcvfile_update_addr[5:0]), |
| 267 | .tid_valid_rst0(tid_valid_rst0), |
| 268 | .tid_valid_rst_addr0(tid_valid_rst_addr0[5:0]), |
| 269 | .tid_valid_rd(tid_valid_rd), |
| 270 | .tid_valid_raddr(tid_valid_raddr[5:0]), |
| 271 | .resp_rcv_set(resp_rcv_set), |
| 272 | .resp_rcv_set_addr(resp_rcv_set_addr[5:0]), |
| 273 | .procflag(procflag), |
| 274 | .procflag_cmd(procflag_cmd[7:0]), |
| 275 | .procflag_addr(procflag_addr[63:0]), |
| 276 | .procflag_xid(procflag_xid[5:0]), |
| 277 | .procflag_port(procflag_port[1:0]), |
| 278 | .procflag_dma(procflag_dma[4:0]), |
| 279 | .procflag_client(procflag_client[7:0]), |
| 280 | .procflag_sop_line_en(procflag_sop_line_en[3:0]), |
| 281 | .procflag_eop_line_en(procflag_eop_line_en[3:0]), |
| 282 | .procflag_sop_byte_en(procflag_sop_byte_en[3:0]), |
| 283 | .procflag_eop_byte_en(procflag_eop_byte_en[3:0]), |
| 284 | .procflag_err(procflag_err[2:0]), |
| 285 | .procflag_rd(procflag_rd), |
| 286 | .procflag_with_data(procflag_with_data), |
| 287 | .procflag_sop(procflag_sop), |
| 288 | .procflag_eop(procflag_eop), |
| 289 | .procflag_xcomp(procflag_xcomp), |
| 290 | .niu_sio_dq(niu_sio_dq), |
| 291 | .proc_cs(proc_cs[1:0]), |
| 292 | // Inputs |
| 293 | .clk(clk), |
| 294 | .reset_l(reset_l), |
| 295 | .resp_cmdff_empty(resp_cmdff_empty), |
| 296 | .resp_cmdff_rdata(resp_cmdff_rdata[21:0]), |
| 297 | .xtb_rdata(xtb_rdata[128:0]), |
| 298 | .xtb_rd_ack(xtb_rd_ack), |
| 299 | .xtb_rdata_err(xtb_rdata_err), |
| 300 | .tid_valid_rdata(tid_valid_rdata), |
| 301 | .rst_procflag(rst_procflag)); |
| 302 | /* |
| 303 | .resp_cmdff_empty (resp_cmdff_empty), |
| 304 | .resp_cmdff_rdata (resp_cmdff_rdata), |
| 305 | .resp_cmdff_rd (resp_cmdff_rd), |
| 306 | .xtb_rd (xtb_rd), |
| 307 | .xtb_raddr (xtb_raddr), |
| 308 | .xtb_rdata (xtb_rdata), |
| 309 | .procflag (procflag), |
| 310 | .procflag_cmd (procflag_cmd), |
| 311 | .procflag_addr (procflag_addr), |
| 312 | .procflag_len (procflag_len), |
| 313 | .procflag_xid (procflag_xid), |
| 314 | .procflag_port (procflag_port), |
| 315 | .procflag_dma (procflag_dma), |
| 316 | .procflag_client (procflag_client), |
| 317 | .procflag_sop_line_en (procflag_sop_line_en), |
| 318 | .procflag_eop_line_en (procflag_eop_line_en), |
| 319 | .procflag_sop_byte_en (procflag_sop_byte_en), |
| 320 | .procflag_eop_byte_en (procflag_eop_byte_en), |
| 321 | .procflag_err (procflag_err), |
| 322 | .procflag_rd (procflag_rd), |
| 323 | .procflag_with_data (procflag_with_data), |
| 324 | .procflag_sop (procflag_sop), |
| 325 | .procflag_eop (procflag_eop), |
| 326 | .procflag_xcomp (procflag_xcomp), |
| 327 | .rst_procflag (rst_procflag), |
| 328 | .cmdlaunch_idle (cmdlaunch_idle), |
| 329 | .early_procflag (early_procflag), |
| 330 | .early_procflag_data (early_procflag_data) |
| 331 | */ |
| 332 | |
| 333 | // ??? instantiate |
| 334 | niu_smx_sm_resp_cmdlaunch resp_cmdlaunch( /*AUTOINST*/ |
| 335 | // Outputs |
| 336 | .smx_dmc_rdy(smx_dmc_rdy), |
| 337 | .smx_dmc_cmd(smx_dmc_cmd[7:0]), |
| 338 | .smx_dmc_cmd_status(smx_dmc_cmd_status[3:0]), |
| 339 | .smx_dmc_addr(smx_dmc_addr[63:0]), |
| 340 | .smx_dmc_len(smx_dmc_len[13:0]), |
| 341 | .smx_dmc_xid(smx_dmc_xid[5:0]), |
| 342 | .smx_dmc_port(smx_dmc_port[1:0]), |
| 343 | .smx_dmc_dma(smx_dmc_dma[4:0]), |
| 344 | .smx_dmc_client(smx_dmc_client[7:0]), |
| 345 | .smx_dmc_ack_rdy(smx_dmc_ack_rdy), |
| 346 | .smx_dmc_ack_cmd(smx_dmc_ack_cmd[7:0]), |
| 347 | .smx_dmc_ack_cmd_status(smx_dmc_ack_cmd_status[3:0]), |
| 348 | .smx_dmc_ack_xid(smx_dmc_ack_xid[5:0]), |
| 349 | .smx_dmc_ack_dma(smx_dmc_ack_dma[4:0]), |
| 350 | .smx_dmc_ack_client(smx_dmc_ack_client[7:0]), |
| 351 | .rst_procflag(rst_procflag), |
| 352 | .dvflag(dvflag), |
| 353 | .dvflag_with_data(dvflag_with_data[1:0]), |
| 354 | .dvflag_line_en(dvflag_line_en[3:0]), |
| 355 | .dvflag_sop_pos(dvflag_sop_pos[3:0]), |
| 356 | .dvflag_eop_pos(dvflag_eop_pos[3:0]), |
| 357 | .dvflag_sop_byte_en(dvflag_sop_byte_en[15:0]), |
| 358 | .dvflag_eop_byte_en(dvflag_eop_byte_en[15:0]), |
| 359 | .dvflag_client(dvflag_client[7:0]), |
| 360 | .dvflag_xcomp(dvflag_xcomp[3:0]), |
| 361 | .dvflag_status(dvflag_status[3:0]), |
| 362 | .early_dvflag(early_dvflag), |
| 363 | .early_dvflag_with_data(early_dvflag_with_data[1:0]), |
| 364 | .early_dvflag_line_en(early_dvflag_line_en[3:0]), |
| 365 | .early_dvflag_sop_pos(early_dvflag_sop_pos[3:0]), |
| 366 | .early_dvflag_eop_pos(early_dvflag_eop_pos[3:0]), |
| 367 | .early_dvflag_sop_byte_en(early_dvflag_sop_byte_en[15:0]), |
| 368 | .early_dvflag_eop_byte_en(early_dvflag_eop_byte_en[15:0]), |
| 369 | .early_dvflag_client(early_dvflag_client[7:0]), |
| 370 | .early_dvflag_xcomp(early_dvflag_xcomp[3:0]), |
| 371 | .early_dvflag_status(early_dvflag_status[3:0]), |
| 372 | .cmdl_tohdl_ack(cmdl_tohdl_ack), |
| 373 | .cmdl_cs(cmdl_cs[2:0]), |
| 374 | // Inputs |
| 375 | .clk(clk), |
| 376 | .reset_l(reset_l), |
| 377 | .dmc_smx_accept(dmc_smx_accept[7:0]), |
| 378 | .dmc_smx_ack_accept(dmc_smx_ack_accept[7:0]), |
| 379 | .procflag(procflag), |
| 380 | .procflag_cmd(procflag_cmd[7:0]), |
| 381 | .procflag_addr(procflag_addr[63:0]), |
| 382 | .procflag_xid(procflag_xid[5:0]), |
| 383 | .procflag_port(procflag_port[1:0]), |
| 384 | .procflag_dma(procflag_dma[4:0]), |
| 385 | .procflag_client(procflag_client[7:0]), |
| 386 | .procflag_sop_line_en(procflag_sop_line_en[3:0]), |
| 387 | .procflag_eop_line_en(procflag_eop_line_en[3:0]), |
| 388 | .procflag_sop_byte_en(procflag_sop_byte_en[3:0]), |
| 389 | .procflag_eop_byte_en(procflag_eop_byte_en[3:0]), |
| 390 | .procflag_err(procflag_err[2:0]), |
| 391 | .procflag_rd(procflag_rd), |
| 392 | .procflag_with_data(procflag_with_data), |
| 393 | .procflag_xcomp(procflag_xcomp), |
| 394 | .procflag_sop(procflag_sop), |
| 395 | .procflag_eop(procflag_eop), |
| 396 | .rst_dvflag(rst_dvflag), |
| 397 | .dv_idle(dv_idle), |
| 398 | .tohdl_cmdl_req(tohdl_cmdl_req), |
| 399 | .tohdl_cmdl_cmd(tohdl_cmdl_cmd[7:0]), |
| 400 | .tohdl_cmdl_addr(tohdl_cmdl_addr[63:0]), |
| 401 | .tohdl_cmdl_len(tohdl_cmdl_len[13:0]), |
| 402 | .tohdl_cmdl_xid(tohdl_cmdl_xid[5:0]), |
| 403 | .tohdl_cmdl_port(tohdl_cmdl_port[1:0]), |
| 404 | .tohdl_cmdl_dma(tohdl_cmdl_dma[4:0]), |
| 405 | .tohdl_cmdl_client(tohdl_cmdl_client[7:0]), |
| 406 | .tid_dirty_rdata_bus(tid_dirty_rdata_bus[63:0])); |
| 407 | |
| 408 | niu_smx_sm_resp_dv resp_dv( /*AUTOINST*/ |
| 409 | // Outputs |
| 410 | .smx_dmc_dv (smx_dmc_dv[7:0]), |
| 411 | .smx_dmc_data(smx_dmc_data[127:0]), |
| 412 | .smx_dmc_byte_en(smx_dmc_byte_en[15:0]), |
| 413 | .smx_dmc_status(smx_dmc_status[3:0]), |
| 414 | .smx_dmc_resp_comp(smx_dmc_resp_comp[7:0]), |
| 415 | .smx_dmc_xcomp(smx_dmc_xcomp[7:0]), |
| 416 | .smx_dmc_ack_comp(smx_dmc_ack_comp[7:0]), |
| 417 | .smx_dmc_ack_xcomp(smx_dmc_ack_xcomp[7:0]), |
| 418 | .rst_dvflag (rst_dvflag), |
| 419 | .dv_idle (dv_idle), |
| 420 | .resp_dataff_rd(resp_dataff_rd), |
| 421 | .dv_cs (dv_cs[2:0]), |
| 422 | // Inputs |
| 423 | .clk (clk), |
| 424 | .reset_l (reset_l), |
| 425 | .dvflag (dvflag), |
| 426 | .dvflag_with_data(dvflag_with_data[1:0]), |
| 427 | .dvflag_line_en(dvflag_line_en[3:0]), |
| 428 | .dvflag_sop_pos(dvflag_sop_pos[3:0]), |
| 429 | .dvflag_eop_pos(dvflag_eop_pos[3:0]), |
| 430 | .dvflag_sop_byte_en(dvflag_sop_byte_en[15:0]), |
| 431 | .dvflag_eop_byte_en(dvflag_eop_byte_en[15:0]), |
| 432 | .dvflag_client(dvflag_client[7:0]), |
| 433 | .dvflag_xcomp(dvflag_xcomp[3:0]), |
| 434 | .dvflag_status(dvflag_status[3:0]), |
| 435 | .early_dvflag(early_dvflag), |
| 436 | .early_dvflag_with_data(early_dvflag_with_data[1:0]), |
| 437 | .early_dvflag_line_en(early_dvflag_line_en[3:0]), |
| 438 | .early_dvflag_sop_pos(early_dvflag_sop_pos[3:0]), |
| 439 | .early_dvflag_eop_pos(early_dvflag_eop_pos[3:0]), |
| 440 | .early_dvflag_sop_byte_en(early_dvflag_sop_byte_en[15:0]), |
| 441 | .early_dvflag_eop_byte_en(early_dvflag_eop_byte_en[15:0]), |
| 442 | .early_dvflag_client(early_dvflag_client[7:0]), |
| 443 | .early_dvflag_xcomp(early_dvflag_xcomp[3:0]), |
| 444 | .early_dvflag_status(early_dvflag_status[3:0]), |
| 445 | .resp_dataff_empty(resp_dataff_empty), |
| 446 | .resp_dataff_rdata(resp_dataff_rdata[143:0]), |
| 447 | .pio_resp_err_inject_cfg(pio_resp_err_inject_cfg[2:0])); |
| 448 | |
| 449 | endmodule |