Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions dv/riscv_compliance/ibex_riscv_compliance.core
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ parameters:
paramtype: vlogdefine
description: "Bitmanip implementation parameter enum. See the ibex_pkg::rv32b_e enum in ibex_pkg.sv for permitted values."

RV32ZC:
datatype: str
default: ibex_pkg::RV32Zca
paramtype: vlogdefine
description: "Compressed instructions parameter enum. See the ibex_pkg::rv32zc_e enum in ibex_pkg.sv for permitted values."

RegFile:
datatype: str
default: ibex_pkg::RegFileFF
Expand Down Expand Up @@ -135,6 +141,7 @@ targets:
- RV32E
- RV32M
- RV32B
- RV32ZC
- RegFile
- ICache
- ICacheECC
Expand Down
2 changes: 2 additions & 0 deletions dv/riscv_compliance/rtl/ibex_riscv_compliance.sv
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ module ibex_riscv_compliance (
parameter bit RV32E = 1'b0;
parameter ibex_pkg::rv32m_e RV32M = ibex_pkg::RV32MFast;
parameter ibex_pkg::rv32b_e RV32B = ibex_pkg::RV32BNone;
parameter ibex_pkg::rv32zc_e RV32ZC = ibex_pkg::RV32Zca;
parameter ibex_pkg::regfile_e RegFile = ibex_pkg::RegFileFF;
parameter bit BranchTargetALU = 1'b0;
parameter bit WritebackStage = 1'b0;
Expand Down Expand Up @@ -146,6 +147,7 @@ module ibex_riscv_compliance (
.RV32E (RV32E ),
.RV32M (RV32M ),
.RV32B (RV32B ),
.RV32ZC (RV32ZC ),
.RegFile (RegFile ),
.BranchTargetALU (BranchTargetALU ),
.WritebackStage (WritebackStage ),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ parameters:
paramtype: vlogdefine
description: "Bitmanip implementation parameter enum. See the ibex_pkg::rv32b_e enum in ibex_pkg.sv for permitted values."

RV32ZC:
datatype: str
default: ibex_pkg::RV32ZcaZcbZcmp
paramtype: vlogdefine
description: "Compressed instructions parameter enum. See the ibex_pkg::rv32zc_e enum in ibex_pkg.sv for permitted values."

RegFile:
datatype: str
default: ibex_pkg::RegFileFF
Expand Down Expand Up @@ -133,6 +139,7 @@ targets:
- RV32E
- RV32M
- RV32B
- RV32ZC
- RegFile
- ICache
- ICacheECC
Expand Down
6 changes: 6 additions & 0 deletions examples/simple_system/rtl/ibex_simple_system.sv
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
`define RV32B ibex_pkg::RV32BNone
`endif

`ifndef RV32ZC
`define RV32ZC ibex_pkg::RV32ZcaZcbZcmp
`endif

`ifndef RegFile
`define RegFile ibex_pkg::RegFileFF
`endif
Expand Down Expand Up @@ -45,6 +49,7 @@ module ibex_simple_system (
parameter bit RV32E = 1'b0;
parameter ibex_pkg::rv32m_e RV32M = `RV32M;
parameter ibex_pkg::rv32b_e RV32B = `RV32B;
parameter ibex_pkg::rv32zc_e RV32ZC = `RV32ZC;
parameter ibex_pkg::regfile_e RegFile = `RegFile;
parameter bit BranchTargetALU = 1'b0;
parameter bit WritebackStage = 1'b0;
Expand Down Expand Up @@ -197,6 +202,7 @@ module ibex_simple_system (
.RV32E ( RV32E ),
.RV32M ( RV32M ),
.RV32B ( RV32B ),
.RV32ZC ( RV32ZC ),
.RegFile ( RegFile ),
.BranchTargetALU ( BranchTargetALU ),
.ICache ( ICache ),
Expand Down
9 changes: 8 additions & 1 deletion ibex_configs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ small:
RV32E : 0
RV32M : "ibex_pkg::RV32MFast"
RV32B : "ibex_pkg::RV32BNone"
RV32ZC : "ibex_pkg::RV32Zca"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 0
WritebackStage : 0
Expand All @@ -40,6 +41,7 @@ opentitan:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BOTEarlGrey"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand All @@ -63,6 +65,7 @@ maxperf:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BNone"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand All @@ -83,6 +86,7 @@ maxperf-pmp-bmbalanced:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BBalanced"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand All @@ -109,6 +113,7 @@ maxperf-pmp:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BNone"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand All @@ -130,6 +135,7 @@ maxperf-pmp-bmfull:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BFull"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand All @@ -150,6 +156,7 @@ maxperf-pmp-bmfull-icache:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BFull"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand Down Expand Up @@ -177,6 +184,7 @@ experimental-branch-predictor:
RV32E : 0
RV32M : "ibex_pkg::RV32MSingleCycle"
RV32B : "ibex_pkg::RV32BNone"
RV32ZC : "ibex_pkg::RV32ZcaZcbZcmp"
RegFile : "ibex_pkg::RegFileFF"
BranchTargetALU : 1
WritebackStage : 1
Expand All @@ -191,4 +199,3 @@ experimental-branch-predictor:
PMPNumRegions : 4
MHPMCounterNum : 0
MHPMCounterWidth : 40

6 changes: 6 additions & 0 deletions ibex_core.core
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ parameters:
paramtype: vlogdefine
description: "Bitmanip implementation parameter enum. See the ibex_pkg::rv32b_e enum in ibex_pkg.sv for permitted values."

RV32ZC:
datatype: str
default: ibex_pkg::RV32ZcaZcbZcmp
paramtype: vlogdefine
description: "Compressed instructions parameter enum. See the ibex_pkg::rv32zc_e enum in ibex_pkg.sv for permitted values."

RegFile:
datatype: str
default: ibex_pkg::RegFileFF
Expand Down
6 changes: 6 additions & 0 deletions ibex_top.core
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ parameters:
paramtype: vlogdefine
description: "Bitmanip implementation parameter enum. See the ibex_pkg::rv32b_e enum in ibex_pkg.sv for permitted values."

RV32ZC:
datatype: str
default: ibex_pkg::RV32ZcaZcbZcmp
paramtype: vlogdefine
description: "Compressed instructions parameter enum. See the ibex_pkg::rv32zc_e enum in ibex_pkg.sv for permitted values."

RegFile:
datatype: str
default: ibex_pkg::RegFileFF
Expand Down
7 changes: 7 additions & 0 deletions ibex_top_tracing.core
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ parameters:
paramtype: vlogdefine
description: "Bitmanip implementation parameter enum. See the ibex_pkg::rv32b_e enum in ibex_pkg.sv for permitted values."

RV32ZC:
datatype: str
default: ibex_pkg::RV32ZcaZcbZcmp
paramtype: vlogdefine
description: "Compressed instructions parameter enum. See the ibex_pkg::rv32zc_e enum in ibex_pkg.sv for permitted values."

RegFile:
datatype: str
default: ibex_pkg::RegFileFF
Expand Down Expand Up @@ -143,6 +149,7 @@ targets:
- RV32E
- RV32M
- RV32B
- RV32ZC
- RegFile
- ICache
- ICacheECC
Expand Down
2 changes: 2 additions & 0 deletions util/ibex_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ class Config:
('RV32E', bool),
('RV32M', str),
('RV32B', str),
('RV32ZC', str),
('RegFile', str),
('BranchTargetALU', bool),
('WritebackStage', bool),
Expand Down Expand Up @@ -62,6 +63,7 @@ def __init__(self, yml):
self.rv32e = Config.read_bool('RV32E', yml)
self.rv32m = Config.read_str('RV32M', yml)
self.rv32b = Config.read_str('RV32B', yml)
self.rv32zc = Config.read_str('RV32ZC', yml)
self.reg_file = Config.read_str('RegFile', yml)
self.branch_target_alu = Config.read_bool('BranchTargetALU', yml)
self.writeback_stage = Config.read_bool('WritebackStage', yml)
Expand Down
Loading