scoreboard optimization - using writeback's end-of-packet status

This commit is contained in:
Blaise Tine
2020-12-30 06:47:56 -08:00
parent e431162347
commit 9f128085d5
15 changed files with 76 additions and 57 deletions

View File

@@ -44,12 +44,6 @@ module VX_fp_ncomp #(
fp_type_t [LANES-1:0] tmp_a_type, tmp_b_type;
wire [LANES-1:0] tmp_a_smaller, tmp_ab_equal;
wire [LANES-1:0][31:0] fclass_mask; // generate a 10-bit mask for integer reg
wire [LANES-1:0][31:0] fminmax_res; // result of fmin/fmax
wire [LANES-1:0][31:0] fsgnj_res; // result of sign injection
wire [LANES-1:0][31:0] fcmp_res; // result of comparison
fflags_t [LANES-1:0] fcmp_fflags; // comparison fflags
// Setup
for (genvar i = 0; i < LANES; i++) begin
assign tmp_a_sign[i] = dataa[i][31];
@@ -103,6 +97,7 @@ module VX_fp_ncomp #(
);
// FCLASS
reg [LANES-1:0][31:0] fclass_mask; // generate a 10-bit mask for integer reg
for (genvar i = 0; i < LANES; i++) begin
always @(*) begin
if (a_type_s0[i].is_normal) begin
@@ -126,7 +121,8 @@ module VX_fp_ncomp #(
end
end
// Min/Max
// Min/Max
reg [LANES-1:0][31:0] fminmax_res; // result of fmin/fmax
for (genvar i = 0; i < LANES; i++) begin
always @(*) begin
if (a_type_s0[i].is_nan && b_type_s0[i].is_nan)
@@ -145,7 +141,8 @@ module VX_fp_ncomp #(
end
end
// Sign injection
// Sign injection
reg [LANES-1:0][31:0] fsgnj_res; // result of sign injection
for (genvar i = 0; i < LANES; i++) begin
always @(*) begin
case (frm_s0)
@@ -158,6 +155,8 @@ module VX_fp_ncomp #(
end
// Comparison
reg [LANES-1:0][31:0] fcmp_res; // result of comparison
fflags_t [LANES-1:0] fcmp_fflags; // comparison fflags
for (genvar i = 0; i < LANES; i++) begin
always @(*) begin
case (frm_s0)