fix
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
module VX_scheduler (
|
module VX_scheduler (
|
||||||
input wire clk,
|
input wire clk,
|
||||||
|
input wire reset,
|
||||||
input wire memory_delay,
|
input wire memory_delay,
|
||||||
VX_frE_to_bckE_req_inter VX_bckE_req,
|
VX_frE_to_bckE_req_inter VX_bckE_req,
|
||||||
VX_wb_inter VX_writeback_inter,
|
VX_wb_inter VX_writeback_inter,
|
||||||
@@ -16,11 +17,6 @@ module VX_scheduler (
|
|||||||
|
|
||||||
reg rename_table[31:0];
|
reg rename_table[31:0];
|
||||||
|
|
||||||
initial begin
|
|
||||||
integer i;
|
|
||||||
for (i = 0; i < 32; i = i + 1) rename_table[i] = 0;
|
|
||||||
end
|
|
||||||
|
|
||||||
wire valid_wb = (VX_writeback_inter.wb != 0) && (|VX_writeback_inter.wb_valid) && (VX_writeback_inter.rd != 0);
|
wire valid_wb = (VX_writeback_inter.wb != 0) && (|VX_writeback_inter.wb_valid) && (VX_writeback_inter.rd != 0);
|
||||||
wire wb_inc = (VX_bckE_req.wb != 0) && (VX_bckE_req.rd != 0);
|
wire wb_inc = (VX_bckE_req.wb != 0) && (VX_bckE_req.rd != 0);
|
||||||
|
|
||||||
@@ -41,10 +37,16 @@ module VX_scheduler (
|
|||||||
|
|
||||||
assign schedule_delay = (rename_valid) && (|VX_bckE_req.valid) || memory_delay;
|
assign schedule_delay = (rename_valid) && (|VX_bckE_req.valid) || memory_delay;
|
||||||
|
|
||||||
|
integer i;
|
||||||
|
|
||||||
always @(posedge clk) begin
|
always @(posedge clk or posedge reset) begin
|
||||||
if (valid_wb ) rename_table[VX_writeback_inter.rd] <= 0;
|
|
||||||
if (!schedule_delay && wb_inc) rename_table[VX_bckE_req.rd] <= 1;
|
if (reset) begin
|
||||||
|
for (i = 0; i < 32; i = i + 1) rename_table[i] = 0;
|
||||||
|
end else begin
|
||||||
|
if (valid_wb ) rename_table[VX_writeback_inter.rd] <= 0;
|
||||||
|
if (!schedule_delay && wb_inc) rename_table[VX_bckE_req.rd] <= 1;
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ VX_front_end vx_front_end(
|
|||||||
|
|
||||||
VX_scheduler schedule(
|
VX_scheduler schedule(
|
||||||
.clk (clk),
|
.clk (clk),
|
||||||
|
.reset (reset),
|
||||||
.memory_delay (memory_delay),
|
.memory_delay (memory_delay),
|
||||||
.VX_bckE_req (VX_bckE_req),
|
.VX_bckE_req (VX_bckE_req),
|
||||||
.VX_writeback_inter(VX_writeback_inter),
|
.VX_writeback_inter(VX_writeback_inter),
|
||||||
|
|||||||
Reference in New Issue
Block a user