Fixed incorrect valid and'ing in execute
This commit is contained in:
@@ -115,7 +115,7 @@ module VX_execute_unit (
|
|||||||
// Actual Writeback
|
// Actual Writeback
|
||||||
assign VX_inst_exec_wb.rd = VX_exec_unit_req.rd;
|
assign VX_inst_exec_wb.rd = VX_exec_unit_req.rd;
|
||||||
assign VX_inst_exec_wb.wb = VX_exec_unit_req.wb;
|
assign VX_inst_exec_wb.wb = VX_exec_unit_req.wb;
|
||||||
assign VX_inst_exec_wb.wb_valid = VX_exec_unit_req.valid && !internal_stall;
|
assign VX_inst_exec_wb.wb_valid = VX_exec_unit_req.valid & {`NT{!internal_stall}};
|
||||||
assign VX_inst_exec_wb.wb_warp_num = VX_exec_unit_req.warp_num;
|
assign VX_inst_exec_wb.wb_warp_num = VX_exec_unit_req.warp_num;
|
||||||
assign VX_inst_exec_wb.alu_result = VX_exec_unit_req.jal ? duplicate_PC_data : alu_result;
|
assign VX_inst_exec_wb.alu_result = VX_exec_unit_req.jal ? duplicate_PC_data : alu_result;
|
||||||
|
|
||||||
|
|||||||
@@ -50,9 +50,9 @@ module VX_scheduler (
|
|||||||
wire rename_valid = rs1_rename_qual || rs2_rename_qual || rd_rename_qual;
|
wire rename_valid = rs1_rename_qual || rs2_rename_qual || rd_rename_qual;
|
||||||
|
|
||||||
assign schedule_delay = ((rename_valid) && (|VX_bckE_req.valid))
|
assign schedule_delay = ((rename_valid) && (|VX_bckE_req.valid))
|
||||||
|| (memory_delay && is_mem)
|
|| (memory_delay && is_mem)
|
||||||
|| (gpr_stage_delay && (is_mem || is_exec))
|
|| (gpr_stage_delay && (is_mem || is_exec))
|
||||||
|| (exec_delay && is_exec);
|
|| (exec_delay && is_exec);
|
||||||
|
|
||||||
integer i;
|
integer i;
|
||||||
integer w;
|
integer w;
|
||||||
|
|||||||
Reference in New Issue
Block a user