|
6 | 6 | `include "modules/register_file.v" |
7 | 7 | `include "modules/data_memory.v" |
8 | 8 | `include "modules/control_unit.v" |
9 | | -`include "modules/param_register.v" |
| 9 | +`include "modules/if_id_register.v" |
| 10 | +`include "modules/id_ex_register.v" |
| 11 | +`include "modules/ex_mem_register.v" |
| 12 | +`include "modules/mem_wb_register.v" |
10 | 13 |
|
11 | 14 | module cpu_pipelined( |
12 | 15 | input clk, |
@@ -37,10 +40,11 @@ module cpu_pipelined( |
37 | 40 | wire [63:0] if_id_pc; |
38 | 41 | wire [31:0] if_id_instruction; |
39 | 42 |
|
40 | | - param_register #(96) if_id( |
| 43 | + if_id_register if_id( |
41 | 44 | .clk(clk), |
42 | 45 | .reset(reset), |
43 | | - .d({pc_current, instruction}), |
| 46 | + .en(1'b1), |
| 47 | + .d({pc_current, instruction}), |
44 | 48 | .q({ if_id_pc, if_id_instruction}) |
45 | 49 | ); |
46 | 50 |
|
@@ -92,9 +96,10 @@ module cpu_pipelined( |
92 | 96 | wire [31:0] id_ex_instruction; |
93 | 97 | wire id_ex_branch, id_ex_mem_read, id_ex_mem_write, id_ex_mem_to_reg, id_ex_reg_write, id_ex_alu_src; |
94 | 98 |
|
95 | | - param_register #(230) id_ex( |
| 99 | + id_ex_register id_ex( |
96 | 100 | .clk(clk), |
97 | 101 | .reset(reset), |
| 102 | + .en(1'b1), |
98 | 103 | .d({if_id_pc, reg_read_data1, reg_read_data2, if_id_instruction, branch, mem_read, mem_write, mem_to_reg, reg_write, alu_src}), |
99 | 104 | .q({id_ex_pc, id_ex_reg_read_data1, id_ex_reg_read_data2, id_ex_instruction, id_ex_branch, id_ex_mem_read, id_ex_mem_write, id_ex_mem_to_reg, id_ex_reg_write, id_ex_alu_src}) |
100 | 105 | ); |
@@ -129,9 +134,10 @@ module cpu_pipelined( |
129 | 134 | wire [31:0] ex_mem_instruction; |
130 | 135 | wire ex_mem_zero, ex_mem_branch, ex_mem_mem_read, ex_mem_mem_write, ex_mem_mem_to_reg, ex_mem_reg_write; |
131 | 136 |
|
132 | | - param_register #(294) ex_mem( |
| 137 | + ex_mem_register ex_mem( |
133 | 138 | .clk(clk), |
134 | 139 | .reset(reset), |
| 140 | + .en(1'b1), |
135 | 141 | .d({id_ex_pc , alu_result , id_ex_reg_read_data2 , branch_target , id_ex_instruction , zero , id_ex_branch , id_ex_mem_read , id_ex_mem_write , id_ex_mem_to_reg , id_ex_reg_write}), |
136 | 142 | .q({ex_mem_pc, ex_mem_alu_result, ex_mem_reg_read_data2, ex_mem_branch_target, ex_mem_instruction, ex_mem_zero, ex_mem_branch, ex_mem_mem_read, ex_mem_mem_write, ex_mem_mem_to_reg, ex_mem_reg_write}) |
137 | 143 | ); |
@@ -159,9 +165,10 @@ module cpu_pipelined( |
159 | 165 | wire [31:0] mem_wb_instruction; |
160 | 166 | wire mem_wb_mem_to_reg, mem_wb_reg_write; |
161 | 167 |
|
162 | | - param_register #(162) mem_wb( |
| 168 | + mem_wb_register mem_wb( |
163 | 169 | .clk(clk), |
164 | 170 | .reset(reset), |
| 171 | + .en(1'b1), |
165 | 172 | .d({mem_read_data , ex_mem_alu_result, ex_mem_instruction, ex_mem_mem_to_reg, ex_mem_reg_write}), |
166 | 173 | .q({mem_wb_mem_read_data, mem_wb_alu_result, mem_wb_instruction, mem_wb_mem_to_reg, mem_wb_reg_write}) |
167 | 174 | ); |
|
0 commit comments