-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmemory_stage.sv
44 lines (35 loc) · 1.39 KB
/
memory_stage.sv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* Copyright (c) 2024 Tobias Scheipel, David Beikircher, Florian Riedl
* Embedded Architectures & Systems Group, Graz University of Technology
* SPDX-License-Identifier: MIT
* ---------------------------------------------------------------------
* File: memory_stage.sv
*/
module memory_stage (
input logic clk,
input logic rst,
// Memory interface
wishbone_interface.master wb,
// Inputs
input logic [31:0] source_data_in,
input logic [31:0] rd_data_in,
input instruction::t instruction_in,
input logic [31:0] program_counter_in,
input logic [31:0] next_program_counter_in,
// Outputs
output logic [31:0] source_data_reg_out,
output logic [31:0] rd_data_reg_out,
output instruction::t instruction_reg_out,
output logic [31:0] program_counter_reg_out,
output logic [31:0] next_program_counter_reg_out,
output forwarding::t forwarding_out,
// Pipeline control
input pipeline_status::forwards_t status_forwards_in,
output pipeline_status::forwards_t status_forwards_out,
input pipeline_status::backwards_t status_backwards_in,
output pipeline_status::backwards_t status_backwards_out,
input logic [31:0] jump_address_backwards_in,
output logic [31:0] jump_address_backwards_out
);
// TODO: Delete the following line and implement this module.
ref_memory_stage golden(.*);
endmodule