Remove unused and unspecified immediate encoding types

This commit is contained in:
Pirmin Vogel 2019-05-07 10:55:41 +01:00 committed by Philipp Wagner
parent 6ac7f844a1
commit f40935aa7d
4 changed files with 1 additions and 25 deletions

View file

@ -581,7 +581,6 @@ module ibex_core #(
.imm_u_type ( id_stage_i.imm_u_type ),
.imm_uj_type ( id_stage_i.imm_uj_type ),
.imm_i_type ( id_stage_i.imm_i_type ),
.imm_iz_type ( id_stage_i.imm_iz_type[11:0] ),
.imm_z_type ( id_stage_i.imm_z_type ),
.imm_s_type ( id_stage_i.imm_s_type ),
.imm_sb_type ( id_stage_i.imm_sb_type )

View file

@ -148,16 +148,11 @@ typedef enum logic {
} op_b_sel_e;
// Immediate b selection
typedef enum logic [3:0] {
typedef enum logic [2:0] {
IMMB_I,
IMMB_S,
IMMB_U,
IMMB_PCINCR,
IMMB_S2,
IMMB_S3,
IMMB_VS,
IMMB_VU,
IMMB_BI,
IMMB_UJ,
IMMB_SB
} imm_b_sel_e;

View file

@ -174,17 +174,11 @@ module ibex_id_stage #(
// Immediate decoding and sign extension
logic [31:0] imm_i_type;
logic [31:0] imm_iz_type;
logic [31:0] imm_s_type;
logic [31:0] imm_sb_type;
logic [31:0] imm_u_type;
logic [31:0] imm_uj_type;
logic [31:0] imm_z_type;
logic [31:0] imm_s2_type;
logic [31:0] imm_bi_type;
logic [31:0] imm_s3_type;
logic [31:0] imm_vs_type;
logic [31:0] imm_vu_type;
logic [31:0] imm_a; // contains the immediate for operand b
logic [31:0] imm_b; // contains the immediate for operand b
@ -246,7 +240,6 @@ module ibex_id_stage #(
// immediate extraction and sign extension
assign imm_i_type = { {20 {instr[31]}}, instr[31:20] };
assign imm_iz_type = { 20'b0, instr[31:20] };
assign imm_s_type = { {20 {instr[31]}}, instr[31:25], instr[11:7] };
assign imm_sb_type = { {19 {instr[31]}}, instr[31], instr[7], instr[30:25], instr[11:8], 1'b0 };
assign imm_u_type = { instr[31:12], 12'b0 };
@ -255,11 +248,6 @@ module ibex_id_stage #(
// immediate for CSR manipulatin (zero extended)
assign imm_z_type = { 27'b0, instr[`REG_S1] };
assign imm_s2_type = { 27'b0, instr[24:20] };
assign imm_bi_type = { {27{instr[24]}}, instr[24:20] };
assign imm_s3_type = { 27'b0, instr[29:25] };
assign imm_vs_type = { {26 {instr[24]}}, instr[24:20], instr[25] };
assign imm_vu_type = { 26'b0, instr[24:20], instr[25] };
///////////////////////////////
// Source register selection //
@ -322,11 +310,6 @@ module ibex_id_stage #(
IMMB_S: imm_b = imm_s_type;
IMMB_U: imm_b = imm_u_type;
IMMB_PCINCR: imm_b = (is_compressed_i && !data_misaligned_i) ? 32'h2 : 32'h4;
IMMB_S2: imm_b = imm_s2_type;
IMMB_BI: imm_b = imm_bi_type;
IMMB_S3: imm_b = imm_s3_type;
IMMB_VS: imm_b = imm_vs_type;
IMMB_VU: imm_b = imm_vu_type;
IMMB_UJ: imm_b = imm_uj_type;
IMMB_SB: imm_b = imm_sb_type;
default: imm_b = imm_i_type;

View file

@ -75,7 +75,6 @@ module ibex_tracer #(
input logic [31:0] imm_u_type,
input logic [31:0] imm_uj_type,
input logic [31:0] imm_i_type,
input logic [11:0] imm_iz_type,
input logic [31:0] imm_z_type,
input logic [31:0] imm_s_type,
input logic [31:0] imm_sb_type