Line 47... |
Line 47... |
// Inputs
|
// Inputs
|
clk, se, reset, rst_tri_en, rml_ecl_wtype_e, rml_ecl_other_e,
|
clk, se, reset, rst_tri_en, rml_ecl_wtype_e, rml_ecl_other_e,
|
exu_tlu_spill_e, tlu_exu_cwpccr_update_m, tlu_exu_cwp_retry_m,
|
exu_tlu_spill_e, tlu_exu_cwpccr_update_m, tlu_exu_cwp_retry_m,
|
tlu_exu_cwp_m, thr_d, ecl_rml_thr_m, ecl_rml_thr_w, tid_e,
|
tlu_exu_cwp_m, thr_d, ecl_rml_thr_m, ecl_rml_thr_w, tid_e,
|
next_cwp_w, next_cwp_e, cwp_wen_w, save_e, restore_e,
|
next_cwp_w, next_cwp_e, cwp_wen_w, save_e, restore_e,
|
ifu_exu_flushw_e, ecl_rml_cwp_wen_e, full_swap_e, rml_kill_w
|
ifu_exu_flushw_e, ecl_rml_cwp_wen_e, full_swap_e, rml_kill_w, next_cwp
|
) ;
|
) ;
|
input clk;
|
input clk;
|
input se;
|
input se;
|
input reset;
|
input reset;
|
input rst_tri_en;
|
input rst_tri_en;
|
Line 93... |
Line 93... |
output [3:0] rml_ecl_swap_done;
|
output [3:0] rml_ecl_swap_done;
|
output exu_tlu_cwp_cmplt;
|
output exu_tlu_cwp_cmplt;
|
output [1:0] exu_tlu_cwp_cmplt_tid;
|
output [1:0] exu_tlu_cwp_cmplt_tid;
|
output exu_tlu_cwp_retry;
|
output exu_tlu_cwp_retry;
|
output [3:0] oddwin_w;
|
output [3:0] oddwin_w;
|
|
output [11:0] next_cwp;
|
|
|
wire can_swap;
|
wire can_swap;
|
wire swapping;
|
wire swapping;
|
wire just_swapped;
|
wire just_swapped;
|
wire full_swap_m;
|
wire full_swap_m;
|
Line 253... |
Line 254... |
assign cwp_wen_l[3:0] = ~(cwp_wen_tlu_w[3:0] | cwp_wen_spill[3:0] |
|
assign cwp_wen_l[3:0] = ~(cwp_wen_tlu_w[3:0] | cwp_wen_spill[3:0] |
|
{cwp_wen_thr3_w,cwp_wen_thr2_w, cwp_wen_thr1_w,cwp_wen_thr0_w});
|
{cwp_wen_thr3_w,cwp_wen_thr2_w, cwp_wen_thr1_w,cwp_wen_thr0_w});
|
|
|
// oddwin_w is the new value of cwp[0]
|
// oddwin_w is the new value of cwp[0]
|
assign oddwin_w[3:0] = {cwp_thr3_next[0],cwp_thr2_next[0],cwp_thr1_next[0],cwp_thr0_next[0]};
|
assign oddwin_w[3:0] = {cwp_thr3_next[0],cwp_thr2_next[0],cwp_thr1_next[0],cwp_thr0_next[0]};
|
|
assign next_cwp={cwp_thr3_next,cwp_thr2_next,cwp_thr1_next,cwp_thr0_next};
|
// mux between new and current value
|
// mux between new and current value
|
mux4ds #(3) cwp_next0_mux(.dout(cwp_thr0_next[2:0]),
|
mux4ds #(3) cwp_next0_mux(.dout(cwp_thr0_next[2:0]),
|
.in0(cwp_thr0[2:0]),
|
.in0(cwp_thr0[2:0]),
|
.in1(next_cwp_w[2:0]),
|
.in1(next_cwp_w[2:0]),
|
.in2(tlu_exu_cwp_w[2:0]),
|
.in2(tlu_exu_cwp_w[2:0]),
|