mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-23 13:27:10 -04:00
Started implementing JAL/JALR target calculation in ALU, improved a few defaults
This commit is contained in:
parent
d7e8aba2f9
commit
5d96d3e7a1
2 changed files with 8 additions and 10 deletions
|
@ -207,7 +207,7 @@ module controller
|
|||
extend_immediate_o = 1'b0;
|
||||
alu_op_a_mux_sel_o = `OP_A_REGA_OR_FWD;
|
||||
alu_op_b_mux_sel_o = `OP_B_REGB_OR_FWD;
|
||||
alu_pc_mux_sel_o = 1'b0;
|
||||
alu_pc_mux_sel_o = 1'b1;
|
||||
|
||||
vector_mode_o = `VEC_MODE32;
|
||||
scalar_replication_o = 1'b0;
|
||||
|
@ -315,12 +315,11 @@ module controller
|
|||
|
||||
`OPCODE_JAL: begin // Jump and Link
|
||||
if (instr_rdata_i ==? `INSTR_JAL) begin
|
||||
pc_mux_sel_o = `PC_FROM_IMM;
|
||||
alu_pc_mux_sel_o = 1'b1;
|
||||
pc_mux_sel_o = `PC_FROM_ALU;
|
||||
alu_op_a_mux_sel_o = `OP_A_CURRPC;
|
||||
alu_op_b_mux_sel_o = `OP_B_IMM;
|
||||
immediate_mux_sel_o = `IMM_C4;
|
||||
alu_operator = `ALU_ADD;
|
||||
immediate_mux_sel_o = `IMM_UJ;
|
||||
alu_operator = `ALU_JAL;
|
||||
regfile_alu_we = 1'b1;
|
||||
end else begin
|
||||
illegal_insn_o = 1'b1;
|
||||
|
@ -329,11 +328,10 @@ module controller
|
|||
|
||||
`OPCODE_JALR: begin // Jump and Link Register
|
||||
if (instr_rdata_i ==? `INSTR_JALR) begin
|
||||
pc_mux_sel_o = `PC_FROM_REGFILE;
|
||||
alu_op_a_mux_sel_o = `OP_A_CURRPC;
|
||||
pc_mux_sel_o = `PC_FROM_ALU;
|
||||
alu_op_b_mux_sel_o = `OP_B_IMM;
|
||||
immediate_mux_sel_o = `IMM_C4;
|
||||
alu_operator = `ALU_ADD;
|
||||
immediate_mux_sel_o = `IMM_I;
|
||||
alu_operator = `ALU_JAL;
|
||||
regfile_alu_we = 1'b1;
|
||||
rega_used = 1'b1;
|
||||
end else begin
|
||||
|
|
|
@ -346,7 +346,7 @@ module id_stage
|
|||
always_comb
|
||||
begin : alu_pc_mux
|
||||
case (alu_pc_mux_sel)
|
||||
1'b0: current_pc = current_pc_if_i;
|
||||
1'b0: current_pc = current_pc_if_i; // TODO: FIXME 1'b0 is never used
|
||||
1'b1: current_pc = current_pc_id_i;
|
||||
endcase; // case (alu_pc_mux_sel)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue