checkpoint: Added icache struct

This commit is contained in:
felsabbagh3
2019-09-03 16:19:06 -04:00
parent cde45648ea
commit 2d0e41db63
31 changed files with 544 additions and 101 deletions

View File

@@ -1,25 +1,42 @@
`include "buses.vh"
`include "VX_define.v"
module VX_f_d_reg (
input wire clk,
input wire reset,
input wire[31:0] in_instruction,
input wire in_valid[`NT_M1:0],
input wire[31:0] in_curr_PC,
input wire in_fwd_stall,
input wire in_freeze,
input wire in_clone_stall,
input wire[`NW_M1:0] in_warp_num,
output wire[31:0] out_instruction,
output wire[31:0] out_curr_PC,
output wire out_valid[`NT_M1:0],
output wire[`NW_M1:0] out_warp_num
output wire[`NW_M1:0] out_warp_num,
/* verilator lint_off UNUSED */
input wire[31:0] in_instruction,
input wire[31:0] in_curr_PC,
input wire[`NW_M1:0] in_warp_num,
input fe_inst_meta_de_t fe_inst_meta_fd
/* verilator lint_on UNUSED */
);
// genvar index;
// always @(posedge clk) begin
// $display("Fetch Inst: %d\tDecode Inst: %d", in_instruction, out_instruction);
// // $display("in_instruction: %x\tfe_inst_meta_fd.instruction: %x",in_instruction, fe_inst_meta_fd.instruction);
// $error("finally");
// assert (in_instruction == fe_inst_meta_fd.instruction);
// assert (in_curr_PC == fe_inst_meta_fd.inst_pc);
// assert (in_warp_num == fe_inst_meta_fd.warp_num);
// for (index = 0; index <= `NT_M1; index = index + 1) assert (in_valid[index] == fe_inst_meta_fd.valid[index]);
// end
// var match;
// always @(*) begin
// match = ;
// if (!match)
// $display("in_instruction: %x, fe_inst_meta_fd.instruction: %x",in_instruction ,fe_inst_meta_fd.instruction);
// end
reg[31:0] instruction;
@@ -29,9 +46,6 @@ module VX_f_d_reg (
integer reset_cur_thread = 0;
// always @(in_instruction) begin
// $display("in_instruction: %h",in_instruction);
// end
always @(posedge clk or posedge reset) begin
if(reset) begin
@@ -50,6 +64,11 @@ module VX_f_d_reg (
valid <= in_valid;
curr_PC <= in_curr_PC;
warp_num <= in_warp_num;
// instruction <= fe_inst_meta_fd.instruction;
// valid <= fe_inst_meta_fd.valid;
// curr_PC <= fe_inst_meta_fd.inst_pc;
// warp_num <= fe_inst_meta_fd.warp_num;
end
end