Less expensive but slower fetch logic

This commit is contained in:
felsabbagh3
2019-05-05 22:55:47 -04:00
parent f21eaec79f
commit 191ed73415
28 changed files with 904 additions and 1672 deletions

View File

@@ -3,7 +3,9 @@
module VX_memory (
/* verilator lint_off UNUSED */
input wire clk,
/* verilator lint_on UNUSED */
input wire[31:0] in_alu_result[`NT_M1:0],
input wire[2:0] in_mem_read,
input wire[2:0] in_mem_write,
@@ -43,11 +45,11 @@ module VX_memory (
// end
// end
wire[15:0] addr_0 = in_alu_result[0][31:16];
// wire[15:0] addr_0 = in_alu_result[0][31:16];
wire sm_valid[`NT_M1:0];
// wire sm_valid[`NT_M1:0];
assign sm_valid = (addr_0 != 16'hFFFF) ? in_valid : in_valid;
// assign sm_valid = (addr_0 != 16'hFFFF) ? in_valid : in_valid;
// wire z_valid[`NT_M1:0];
@@ -63,21 +65,22 @@ module VX_memory (
wire[31:0] sm_out_data[`NT_M1:0];
// wire[31:0] sm_out_data[`NT_M1:0];
VX_shared_memory vx_shared_memory(
.clk (clk),
.in_address (in_alu_result),
.in_mem_read (in_mem_read),
.in_mem_write(in_mem_write),
.in_valid (sm_valid),
.in_data (in_rd2),
.out_data (sm_out_data)
);
// VX_shared_memory vx_shared_memory(
// .clk (clk),
// .in_address (in_alu_result),
// .in_mem_read (in_mem_read),
// .in_mem_write(in_mem_write),
// .in_valid (sm_valid),
// .in_data (in_rd2),
// .out_data (sm_out_data)
// );
assign out_mem_result = sm_valid ? sm_out_data : in_cache_driver_out_data;
// assign out_mem_result = sm_valid ? sm_out_data : in_cache_driver_out_data;
assign out_mem_result = in_cache_driver_out_data;
assign out_alu_result = in_alu_result;
assign out_rd = in_rd;
assign out_wb = in_wb;