URL
https://opencores.org/ocsvn/amber/amber/trunk
Subversion Repositories amber
Compare Revisions
- This comparison shows the changes necessary to convert path
/amber/trunk/hw/vlog/amber25
- from Rev 83 to Rev 86
- ↔ Reverse comparison
Rev 83 → Rev 86
/a25_execute.v
185,8 → 185,8
wire [31:0] read_data_filtered; |
wire [31:0] read_data_filtered_c; |
reg [31:0] read_data_filtered_r = 'd0; |
reg [3:0] load_rd_r = 'd0; |
wire [3:0] load_rd_c; |
reg [5:0] load_rd_r = 'd0; |
wire [5:0] load_rd_c; |
|
wire write_enable_nxt; |
wire daddress_valid_nxt; |
483,10 → 483,10
// ======================================================== |
// Use read value from data memory instead of from register |
// ======================================================== |
assign rn = i_rn_use_read && i_rn_sel == load_rd_c ? read_data_filtered_c : reg_bank_rn; |
assign rm = i_rm_use_read && i_rm_sel == load_rd_c ? read_data_filtered_c : reg_bank_rm; |
assign rs = i_rs_use_read && i_rs_sel == load_rd_c ? read_data_filtered_c : reg_bank_rs; |
assign rd = i_rd_use_read && i_rs_sel == load_rd_c ? read_data_filtered_c : reg_bank_rd; |
assign rn = i_rn_use_read && i_rn_sel == load_rd_c[3:0] && status_bits_mode == load_rd_c[5:4] ? read_data_filtered_c : reg_bank_rn; |
assign rm = i_rm_use_read && i_rm_sel == load_rd_c[3:0] && status_bits_mode == load_rd_c[5:4] ? read_data_filtered_c : reg_bank_rm; |
assign rs = i_rs_use_read && i_rs_sel == load_rd_c[3:0] && status_bits_mode == load_rd_c[5:4] ? read_data_filtered_c : reg_bank_rs; |
assign rd = i_rd_use_read && i_rs_sel == load_rd_c[3:0] && status_bits_mode == load_rd_c[5:4] ? read_data_filtered_c : reg_bank_rd; |
|
|
always@( posedge i_clk ) |
493,13 → 493,15
if ( i_wb_read_data_valid ) |
begin |
read_data_filtered_r <= read_data_filtered; |
load_rd_r <= i_wb_load_rd[3:0]; |
load_rd_r <= {i_wb_load_rd[6:5], i_wb_load_rd[3:0]}; |
end |
|
assign read_data_filtered_c = i_wb_read_data_valid ? read_data_filtered : read_data_filtered_r; |
assign load_rd_c = i_wb_read_data_valid ? i_wb_load_rd[3:0] : load_rd_r; |
|
// the register number and the mode |
assign load_rd_c = i_wb_read_data_valid ? {i_wb_load_rd[6:5], i_wb_load_rd[3:0]} : load_rd_r; |
|
|
// ======================================================== |
// Set mode for the destination registers of a mem read |
// ======================================================== |