diff options
Diffstat (limited to 'projects/U50-HBM/verilog/channel_selector.v')
| -rw-r--r-- | projects/U50-HBM/verilog/channel_selector.v | 497 |
1 files changed, 497 insertions, 0 deletions
diff --git a/projects/U50-HBM/verilog/channel_selector.v b/projects/U50-HBM/verilog/channel_selector.v new file mode 100644 index 0000000..c51b6e2 --- /dev/null +++ b/projects/U50-HBM/verilog/channel_selector.v @@ -0,0 +1,497 @@ +`include "project.vh" +`include "parameters.vh" + + +module channel_selector ( + // Input these to HBM adapter + input [2*`ROW_ADDR_WIDTH-1:0] row_addr, + input [2*`COL_ADDR_WIDTH-1:0] col_addr, + input [2*`BA_ADDR_WIDTH-1:0] ba_addr, + input [2*`WR_DATA_WIDTH-1:0] i_wrdata, + input [2*`CMD_TYPE_WIDTH-1:0] cmd_type, + input [2*`PC_WIDTH-1:0] BA4, // indicates target PC + input [2*`HBM_CH_WIDTH-1:0] channel_id, + + input dfi_clk, + input dfi_rst_n, + + // CH0 + /*input dfi_0_init_complete, + input [255 : 0] dfi_0_dw_rddata_p0, + input [255 : 0] dfi_0_dw_rddata_p1, + input [3 : 0] dfi_0_dw_rddata_valid, + input dfi_0_out_rst_n, + input ready_0, + + // CH1 + input dfi_1_init_complete, + input [255 : 0] dfi_1_dw_rddata_p0, + input [255 : 0] dfi_1_dw_rddata_p1, + input [3 : 0] dfi_1_dw_rddata_valid, + input dfi_1_out_rst_n, + input ready_1, + + // CH2 + input dfi_2_init_complete, + input [255 : 0] dfi_2_dw_rddata_p0, + input [255 : 0] dfi_2_dw_rddata_p1, + input [3 : 0] dfi_2_dw_rddata_valid, + input dfi_2_out_rst_n, + input ready_2, + + // CH3 + input dfi_3_init_complete, + input [255 : 0] dfi_3_dw_rddata_p0, + input [255 : 0] dfi_3_dw_rddata_p1, + input [3 : 0] dfi_3_dw_rddata_valid, + input dfi_3_out_rst_n, + input ready_3, + + // CH4 + input dfi_4_init_complete, + input [255 : 0] dfi_4_dw_rddata_p0, + input [255 : 0] dfi_4_dw_rddata_p1, + input [3 : 0] dfi_4_dw_rddata_valid, + input dfi_4_out_rst_n, + input ready_4, + + // CH5 + input dfi_5_init_complete, + input [255 : 0] dfi_5_dw_rddata_p0, + input [255 : 0] dfi_5_dw_rddata_p1, + input [3 : 0] dfi_5_dw_rddata_valid, + input dfi_5_out_rst_n, + input ready_5, + + // CH6 + input dfi_6_init_complete, + input [255 : 0] dfi_6_dw_rddata_p0, + input [255 : 0] dfi_6_dw_rddata_p1, + input [3 : 0] dfi_6_dw_rddata_valid, + input dfi_6_out_rst_n, + input ready_6, + + // CH7 + input dfi_7_init_complete, + input [255 : 0] dfi_7_dw_rddata_p0, + input [255 : 0] dfi_7_dw_rddata_p1, + input [3 : 0] dfi_7_dw_rddata_valid, + input dfi_7_out_rst_n, + input ready_7,*/ + + // CH8 + input dfi_8_init_complete, + input [255 : 0] dfi_8_dw_rddata_p0, + input [255 : 0] dfi_8_dw_rddata_p1, + input [3 : 0] dfi_8_dw_rddata_valid, + input dfi_8_out_rst_n, + input ready_8, + + // CH9 + input dfi_9_init_complete, + input [255 : 0] dfi_9_dw_rddata_p0, + input [255 : 0] dfi_9_dw_rddata_p1, + input [3 : 0] dfi_9_dw_rddata_valid, + input dfi_9_out_rst_n, + input ready_9, + + // CH10 + input dfi_10_init_complete, + input [255 : 0] dfi_10_dw_rddata_p0, + input [255 : 0] dfi_10_dw_rddata_p1, + input [3 : 0] dfi_10_dw_rddata_valid, + input dfi_10_out_rst_n, + input ready_10, + + // CH11 + input dfi_11_init_complete, + input [255 : 0] dfi_11_dw_rddata_p0, + input [255 : 0] dfi_11_dw_rddata_p1, + input [3 : 0] dfi_11_dw_rddata_valid, + input dfi_11_out_rst_n, + input ready_11, + + // CH12 + input dfi_12_init_complete, + input [255 : 0] dfi_12_dw_rddata_p0, + input [255 : 0] dfi_12_dw_rddata_p1, + input [3 : 0] dfi_12_dw_rddata_valid, + input dfi_12_out_rst_n, + input ready_12, + + // CH13 + input dfi_13_init_complete, + input [255 : 0] dfi_13_dw_rddata_p0, + input [255 : 0] dfi_13_dw_rddata_p1, + input [3 : 0] dfi_13_dw_rddata_valid, + input dfi_13_out_rst_n, + input ready_13, + + // CH14 + input dfi_14_init_complete, + input [255 : 0] dfi_14_dw_rddata_p0, + input [255 : 0] dfi_14_dw_rddata_p1, + input [3 : 0] dfi_14_dw_rddata_valid, + input dfi_14_out_rst_n, + input ready_14, + + // CH15 + input dfi_15_init_complete, + input [255 : 0] dfi_15_dw_rddata_p0, + input [255 : 0] dfi_15_dw_rddata_p1, + input [3 : 0] dfi_15_dw_rddata_valid, + input dfi_15_out_rst_n, + input ready_15, + + // output depending on channel chosen + output o_ch_dfi_init_complete, + output [255 : 0] o_ch_dfi_dw_rddata_p0, + output [255 : 0] o_ch_dfi_dw_rddata_p1, + output [3 : 0] o_ch_dfi_dw_rddata_valid, + output o_ch_dfi_out_rst_n, + output o_ch_ready, + + /*output [2*`CMD_TYPE_WIDTH-1:0] o_0_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_1_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_2_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_3_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_4_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_5_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_6_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_7_cmd_type,*/ + output [2*`CMD_TYPE_WIDTH-1:0] o_8_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_9_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_10_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_11_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_12_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_13_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_14_cmd_type, + output [2*`CMD_TYPE_WIDTH-1:0] o_15_cmd_type, + + output [2*`ROW_ADDR_WIDTH-1:0] o_row_addr, + output [2*`COL_ADDR_WIDTH-1:0] o_col_addr, + output [2*`BA_ADDR_WIDTH-1:0] o_ba_addr, + output [2*`WR_DATA_WIDTH-1:0] o_i_wrdata, + output [2*`PC_WIDTH-1:0] o_BA4 // indicates target PC + + ); + + /*reg [2*`CMD_TYPE_WIDTH-1:0] r_0_cmd_type, ns_0_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_1_cmd_type, ns_1_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_2_cmd_type, ns_2_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_3_cmd_type, ns_3_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_4_cmd_type, ns_4_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_5_cmd_type, ns_5_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_6_cmd_type, ns_6_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_7_cmd_type, ns_7_cmd_type;*/ + reg [2*`CMD_TYPE_WIDTH-1:0] r_8_cmd_type, ns_8_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_9_cmd_type, ns_9_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_10_cmd_type, ns_10_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_11_cmd_type, ns_11_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_12_cmd_type, ns_12_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_13_cmd_type, ns_13_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_14_cmd_type, ns_14_cmd_type; + reg [2*`CMD_TYPE_WIDTH-1:0] r_15_cmd_type, ns_15_cmd_type; + + reg r_ch_dfi_init_complete, ns_ch_dfi_init_complete; + reg [255 : 0] r_ch_dfi_dw_rddata_p0, ns_ch_dfi_dw_rddata_p0; + reg [255 : 0] r_ch_dfi_dw_rddata_p1, ns_ch_dfi_dw_rddata_p1; + reg [3 : 0] r_ch_dfi_dw_rddata_valid, ns_ch_dfi_dw_rddata_valid; + reg r_ch_dfi_out_rst_n, ns_ch_dfi_out_rst_n; + reg r_ch_ready, ns_ch_ready; + + reg [2*`ROW_ADDR_WIDTH-1:0] r_row_addr, ns_row_addr; + reg [2*`COL_ADDR_WIDTH-1:0] r_col_addr, ns_col_addr; + reg [2*`BA_ADDR_WIDTH-1:0] r_ba_addr, ns_ba_addr; + reg [2*`WR_DATA_WIDTH-1:0] r_i_wrdata, ns_i_wrdata; + reg [2*`PC_WIDTH-1:0] r_BA4, ns_BA4; // indicates target PC + + + always @* begin +/* ns_0_cmd_type = `RNOP & `RNOP; + ns_1_cmd_type = `RNOP & `RNOP; + ns_2_cmd_type = `RNOP & `RNOP; + ns_3_cmd_type = `RNOP & `RNOP; + ns_4_cmd_type = `RNOP & `RNOP; + ns_5_cmd_type = `RNOP & `RNOP; + ns_6_cmd_type = `RNOP & `RNOP; + ns_7_cmd_type = `RNOP & `RNOP;*/ + ns_8_cmd_type = `RNOP & `RNOP; + ns_9_cmd_type = `RNOP & `RNOP; + ns_10_cmd_type = `RNOP & `RNOP; + ns_11_cmd_type = `RNOP & `RNOP; + ns_12_cmd_type = `RNOP & `RNOP; + ns_13_cmd_type = `RNOP & `RNOP; + ns_14_cmd_type = `RNOP & `RNOP; + ns_15_cmd_type = `RNOP & `RNOP; + + ns_row_addr = row_addr; + ns_col_addr = col_addr; + ns_ba_addr = ba_addr; + ns_i_wrdata = i_wrdata; + ns_BA4 = BA4; + + case (channel_id) + /*4'b0000 : begin + ns_ch_dfi_init_complete = dfi_0_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_0_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_0_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_0_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_0_out_rst_n; + ns_ch_ready = ready_0; + ns_0_cmd_type = cmd_type; + end + 4'b0001 : begin + ns_ch_dfi_init_complete = dfi_1_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_1_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_1_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_1_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_1_out_rst_n; + ns_ch_ready = ready_1; + ns_1_cmd_type = cmd_type; + end + 4'b0010 : begin + ns_ch_dfi_init_complete = dfi_2_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_2_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_2_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_2_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_2_out_rst_n; + ns_ch_ready = ready_2; + ns_2_cmd_type = cmd_type; + end + 4'b0011 : begin + ns_ch_dfi_init_complete = dfi_3_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_3_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_3_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_3_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_3_out_rst_n; + ns_ch_ready = ready_3; + ns_3_cmd_type = cmd_type; + end + 4'b0100 : begin + ns_ch_dfi_init_complete = dfi_4_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_4_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_4_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_4_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_4_out_rst_n; + ns_ch_ready = ready_4; + ns_4_cmd_type = cmd_type; + end + 4'b0101 : begin + ns_ch_dfi_init_complete = dfi_5_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_5_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_5_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_5_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_5_out_rst_n; + ns_ch_ready = ready_5; + ns_5_cmd_type = cmd_type; + end + 4'b0110 : begin + ns_ch_dfi_init_complete = dfi_6_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_6_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_6_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_6_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_6_out_rst_n; + ns_ch_ready = ready_6; + ns_6_cmd_type = cmd_type; + end + 4'b0111 : begin + ns_ch_dfi_init_complete = dfi_7_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_7_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_7_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_7_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_7_out_rst_n; + ns_ch_ready = ready_7; + ns_7_cmd_type = cmd_type; + end*/ + 4'b1000 : begin + ns_ch_dfi_init_complete = dfi_8_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_8_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_8_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_8_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_8_out_rst_n; + ns_ch_ready = ready_8; + ns_8_cmd_type = cmd_type; + end + 4'b1001 : begin + ns_ch_dfi_init_complete = dfi_9_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_9_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_9_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_9_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_9_out_rst_n; + ns_ch_ready = ready_9; + ns_9_cmd_type = cmd_type; + end + 4'b1010 : begin + ns_ch_dfi_init_complete = dfi_10_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_10_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_10_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_10_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_10_out_rst_n; + ns_ch_ready = ready_10; + ns_10_cmd_type = cmd_type; + end + 4'b1011 : begin + ns_ch_dfi_init_complete = dfi_11_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_11_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_11_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_11_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_11_out_rst_n; + ns_ch_ready = ready_11; + ns_11_cmd_type = cmd_type; + end + 4'b1100 : begin + ns_ch_dfi_init_complete = dfi_12_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_12_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_12_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_12_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_12_out_rst_n; + ns_ch_ready = ready_12; + ns_12_cmd_type = cmd_type; + end + 4'b1101 : begin + ns_ch_dfi_init_complete = dfi_13_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_13_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_13_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_13_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_13_out_rst_n; + ns_ch_ready = ready_13; + ns_13_cmd_type = cmd_type; + end + 4'b1110 : begin + ns_ch_dfi_init_complete = dfi_14_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_14_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_14_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_14_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_14_out_rst_n; + ns_ch_ready = ready_14; + ns_14_cmd_type = cmd_type; + end + 4'b1111 : begin + ns_ch_dfi_init_complete = dfi_15_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_15_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_15_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_15_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_15_out_rst_n; + ns_ch_ready = ready_15; + ns_15_cmd_type = cmd_type; + end + default : begin + ns_ch_dfi_init_complete = dfi_8_init_complete; + ns_ch_dfi_dw_rddata_p0 = dfi_8_dw_rddata_p0; + ns_ch_dfi_dw_rddata_p1 = dfi_8_dw_rddata_p1; + ns_ch_dfi_dw_rddata_valid = dfi_8_dw_rddata_valid; + ns_ch_dfi_out_rst_n = dfi_8_out_rst_n; + ns_ch_ready = ready_8; + ns_8_cmd_type = cmd_type; + /* ns_0_cmd_type = `RNOP & `RNOP; + ns_1_cmd_type = `RNOP & `RNOP; + ns_2_cmd_type = `RNOP & `RNOP; + ns_3_cmd_type = `RNOP & `RNOP; + ns_4_cmd_type = `RNOP & `RNOP; + ns_5_cmd_type = `RNOP & `RNOP; + ns_6_cmd_type = `RNOP & `RNOP; + ns_7_cmd_type = `RNOP & `RNOP;*/ + /* ns_8_cmd_type = `RNOP & `RNOP; + ns_9_cmd_type = `RNOP & `RNOP; + ns_10_cmd_type = `RNOP & `RNOP; + ns_11_cmd_type = `RNOP & `RNOP; + ns_12_cmd_type = `RNOP & `RNOP; + ns_13_cmd_type = `RNOP & `RNOP; + ns_14_cmd_type = `RNOP & `RNOP; + ns_15_cmd_type = `RNOP & `RNOP;*/ + end + endcase + end + + always @ (posedge dfi_clk) begin + if (!dfi_rst_n) begin + r_ch_dfi_init_complete = 0; + r_ch_dfi_dw_rddata_p0 = 0; + r_ch_dfi_dw_rddata_p1 = 0; + r_ch_dfi_dw_rddata_valid = 0; + r_ch_dfi_out_rst_n = 0; + r_ch_ready = 0; + /* r_0_cmd_type = `RNOP & `RNOP; + r_1_cmd_type = `RNOP & `RNOP; + r_2_cmd_type = `RNOP & `RNOP; + r_3_cmd_type = `RNOP & `RNOP; + r_4_cmd_type = `RNOP & `RNOP; + r_5_cmd_type = `RNOP & `RNOP; + r_6_cmd_type = `RNOP & `RNOP; + r_7_cmd_type = `RNOP & `RNOP;*/ + r_8_cmd_type = `RNOP & `RNOP; + r_9_cmd_type = `RNOP & `RNOP; + r_10_cmd_type = `RNOP & `RNOP; + r_11_cmd_type = `RNOP & `RNOP; + r_12_cmd_type = `RNOP & `RNOP; + r_13_cmd_type = `RNOP & `RNOP; + r_14_cmd_type = `RNOP & `RNOP; + r_15_cmd_type = `RNOP & `RNOP; + r_row_addr = 0; + r_col_addr = 0; + r_ba_addr = 0; + r_i_wrdata = 0; + r_BA4 = 0; + end else begin + r_ch_dfi_init_complete = ns_ch_dfi_init_complete; + r_ch_dfi_dw_rddata_p0 = ns_ch_dfi_dw_rddata_p0; + r_ch_dfi_dw_rddata_p1 = ns_ch_dfi_dw_rddata_p1; + r_ch_dfi_dw_rddata_valid = ns_ch_dfi_dw_rddata_valid; + r_ch_dfi_out_rst_n = ns_ch_dfi_out_rst_n; + r_ch_ready = ns_ch_ready; + /* r_0_cmd_type = ns_0_cmd_type; + r_1_cmd_type = ns_1_cmd_type; + r_2_cmd_type = ns_2_cmd_type; + r_3_cmd_type = ns_3_cmd_type; + r_4_cmd_type = ns_4_cmd_type; + r_5_cmd_type = ns_5_cmd_type; + r_6_cmd_type = ns_6_cmd_type; + r_7_cmd_type = ns_7_cmd_type;*/ + r_8_cmd_type = ns_8_cmd_type; + r_9_cmd_type = ns_9_cmd_type; + r_10_cmd_type = ns_10_cmd_type; + r_11_cmd_type = ns_11_cmd_type; + r_12_cmd_type = ns_12_cmd_type; + r_13_cmd_type = ns_13_cmd_type; + r_14_cmd_type = ns_14_cmd_type; + r_15_cmd_type = ns_15_cmd_type; + r_row_addr = ns_row_addr; + r_col_addr = ns_col_addr; + r_ba_addr = ns_ba_addr; + r_i_wrdata = ns_i_wrdata; + r_BA4 = ns_BA4; + end + end + + assign o_ch_dfi_init_complete = r_ch_dfi_init_complete; + assign o_ch_dfi_dw_rddata_p0 = r_ch_dfi_dw_rddata_p0; + assign o_ch_dfi_dw_rddata_p1 = r_ch_dfi_dw_rddata_p1; + assign o_ch_dfi_dw_rddata_valid = r_ch_dfi_dw_rddata_valid; + assign o_ch_dfi_out_rst_n = r_ch_dfi_out_rst_n; + assign o_ch_ready = r_ch_dfi_out_rst_n; +/* + assign o_0_cmd_type = r_0_cmd_type; + assign o_1_cmd_type = r_1_cmd_type; + assign o_2_cmd_type = r_2_cmd_type; + assign o_3_cmd_type = r_3_cmd_type; + assign o_4_cmd_type = r_4_cmd_type; + assign o_5_cmd_type = r_5_cmd_type; + assign o_6_cmd_type = r_6_cmd_type; + assign o_7_cmd_type = r_7_cmd_type;*/ + assign o_8_cmd_type = r_8_cmd_type; + assign o_9_cmd_type = r_9_cmd_type; + assign o_10_cmd_type = r_10_cmd_type; + assign o_11_cmd_type = r_11_cmd_type; + assign o_12_cmd_type = r_12_cmd_type; + assign o_13_cmd_type = r_13_cmd_type; + assign o_14_cmd_type = r_14_cmd_type; + assign o_15_cmd_type = r_15_cmd_type; + + assign o_row_addr = r_row_addr; + assign o_col_addr = r_col_addr; + assign o_ba_addr = r_ba_addr; + assign o_i_wrdata = r_i_wrdata; + assign o_BA4 = r_BA4; + +endmodule |
