Quartus + GPR evaluation

This commit is contained in:
felsabbagh3
2019-09-10 20:23:01 -04:00
parent 4e8da1811a
commit 8d143d7739
68 changed files with 5345 additions and 3066 deletions

View File

@@ -8,7 +8,7 @@ module VX_d_e_reg (
input wire in_fwd_stall,
input wire in_branch_stall,
input wire in_freeze,
input wire in_clone_stall,
input wire in_gpr_stall,
VX_frE_to_bckE_req_inter VX_frE_to_bckE_req,
@@ -17,7 +17,7 @@ module VX_d_e_reg (
wire stall = in_freeze;
wire flush = (in_fwd_stall == `STALL) || (in_branch_stall == `STALL) || (in_clone_stall == `STALL);
wire flush = (in_fwd_stall == `STALL) || (in_branch_stall == `STALL) || (in_gpr_stall == `STALL);
VX_generic_register #(.N(490)) d_e_reg
@@ -31,137 +31,6 @@ module VX_d_e_reg (
);
// wire[`NT_M1:0][31:0] temp_out_a_reg_data;
// wire[`NT_M1:0][31:0] temp_out_b_reg_data;
// wire[`NT_M1:0] temp_out_valid;
// genvar index;
// for (index = 0; index <= `NT_M1; index = index + 1) begin
// assign out_valid[index] = temp_out_valid[index];
// assign out_a_reg_data[index] = temp_out_a_reg_data[index];
// assign out_b_reg_data[index] = temp_out_b_reg_data[index];
// end
// reg[4:0] rd;
// reg[4:0] rs1;
// reg[4:0] rs2;
// reg[31:0] a_reg_data[`NT_M1:0];
// reg[31:0] b_reg_data[`NT_M1:0];
// reg[4:0] alu_op;
// reg[1:0] wb;
// reg[31:0] PC_next_out;
// reg rs2_src;
// reg[31:0] itype_immed;
// reg[2:0] mem_read;
// reg[2:0] mem_write;
// reg[2:0] branch_type;
// reg[19:0] upper_immed;
// reg[11:0] csr_address;
// reg is_csr;
// reg[31:0] csr_mask;
// reg[31:0] curr_PC;
// reg jal;
// reg[31:0] jal_offset;
// reg valid[`NT_M1:0];
// reg[31:0] reg_data_z[`NT_M1:0];
// reg valid_z[`NT_M1:0];
// reg[`NW_M1:0] warp_num;
// integer ini_reg;
// initial begin
// rd = 0;
// rs1 = 0;
// for (ini_reg = 0; ini_reg < `NT; ini_reg = ini_reg + 1)
// begin
// a_reg_data[ini_reg] = 0;
// b_reg_data[ini_reg] = 0;
// reg_data_z[ini_reg] = 0;
// valid[ini_reg] = 0;
// valid_z[ini_reg] = 0;
// end
// rs2 = 0;
// alu_op = 0;
// wb = `NO_WB;
// PC_next_out = 0;
// rs2_src = 0;
// itype_immed = 0;
// mem_read = `NO_MEM_READ;
// mem_write = `NO_MEM_WRITE;
// branch_type = `NO_BRANCH;
// upper_immed = 0;
// csr_address = 0;
// is_csr = 0;
// csr_mask = 0;
// curr_PC = 0;
// jal = `NO_JUMP;
// jal_offset = 0;
// warp_num = 0;
// end
// wire stalling;
// assign stalling = (in_fwd_stall == `STALL) || (in_branch_stall == `STALL) || (in_clone_stall == `STALL);
// Freeze stall
// Stalling flush
// assign out_rd = rd;
// assign out_rs1 = rs1;
// assign out_rs2 = rs2;
// assign out_a_reg_data = a_reg_data;
// assign out_b_reg_data = b_reg_data;
// assign out_alu_op = alu_op;
// assign out_wb = wb;
// assign out_PC_next = PC_next_out;
// assign out_rs2_src = rs2_src;
// assign out_itype_immed = itype_immed;
// assign out_mem_read = mem_read;
// assign out_mem_write = mem_write;
// assign out_branch_type = branch_type;
// assign out_upper_immed = upper_immed;
// assign out_csr_address = csr_address;
// assign out_is_csr = is_csr;
// assign out_csr_mask = csr_mask;
// assign out_jal = jal;
// assign out_jal_offset = jal_offset;
// assign out_curr_PC = curr_PC;
// assign out_valid = valid;
// assign out_warp_num = warp_num;
// always @(posedge clk) begin
// if (in_freeze == 1'h0) begin
// rd <= stalling ? 5'h0 : in_rd;
// rs1 <= stalling ? 5'h0 : in_rs1;
// rs2 <= stalling ? 5'h0 : in_rs2;
// a_reg_data <= stalling ? reg_data_z : in_a_reg_data;
// b_reg_data <= stalling ? reg_data_z : in_b_reg_data;
// alu_op <= stalling ? `NO_ALU : in_alu_op;
// wb <= stalling ? `NO_WB : in_wb;
// PC_next_out <= stalling ? 32'h0 : in_PC_next;
// rs2_src <= stalling ? `RS2_REG : in_rs2_src;
// itype_immed <= stalling ? 32'hdeadbeef : in_itype_immed;
// mem_read <= stalling ? `NO_MEM_READ : in_mem_read;
// mem_write <= stalling ? `NO_MEM_WRITE: in_mem_write;
// branch_type <= stalling ? `NO_BRANCH : in_branch_type;
// upper_immed <= stalling ? 20'h0 : in_upper_immed;
// csr_address <= stalling ? 12'h0 : in_csr_address;
// is_csr <= stalling ? 1'h0 : in_is_csr;
// csr_mask <= stalling ? 32'h0 : in_csr_mask;
// jal <= stalling ? `NO_JUMP : in_jal;
// jal_offset <= stalling ? 32'h0 : in_jal_offset;
// curr_PC <= stalling ? 32'h0 : in_curr_PC;
// valid <= stalling ? valid_z : in_valid;
// warp_num <= stalling ? 0 : in_warp_num;
// end
// end
endmodule

View File

@@ -5,7 +5,7 @@ module VX_f_d_reg (
input wire reset,
input wire in_fwd_stall,
input wire in_freeze,
input wire in_clone_stall,
input wire in_gpr_stall,
VX_inst_meta_inter fe_inst_meta_fd,
VX_inst_meta_inter fd_inst_meta_de
@@ -13,7 +13,7 @@ module VX_f_d_reg (
);
wire flush = 1'b0;
wire stall = in_fwd_stall == 1'b1 || in_freeze == 1'b1 || in_clone_stall;
wire stall = in_fwd_stall == 1'b1 || in_freeze == 1'b1 || in_gpr_stall;