mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-22 12:57:13 -04:00
[rtl] Add B extension to misa
Reflect the availability of the B extension in the misa register.
This commit is contained in:
parent
0f2dc5c64a
commit
ca31ca43f3
3 changed files with 10 additions and 4 deletions
|
@ -11,7 +11,8 @@ module tb_cs_registers #(
|
|||
parameter int unsigned PMPGranularity = 0,
|
||||
parameter int unsigned PMPNumRegions = 4,
|
||||
parameter bit RV32E = 1'b0,
|
||||
parameter ibex_pkg::rv32m_e RV32M = ibex_pkg::RV32MFast
|
||||
parameter ibex_pkg::rv32m_e RV32M = ibex_pkg::RV32MFast,
|
||||
parameter ibex_pkg::rv32b_e RV32B = ibex_pkg::RV32BNone
|
||||
) (
|
||||
// Clock and Reset
|
||||
inout logic clk_i,
|
||||
|
@ -64,7 +65,8 @@ module tb_cs_registers #(
|
|||
.PMPGranularity (PMPGranularity),
|
||||
.PMPNumRegions (PMPNumRegions),
|
||||
.RV32E (RV32E),
|
||||
.RV32M (RV32M)
|
||||
.RV32M (RV32M),
|
||||
.RV32B (RV32B)
|
||||
) i_cs_regs (
|
||||
.clk_i (clk_i),
|
||||
.rst_ni (rst_ni),
|
||||
|
|
|
@ -977,7 +977,8 @@ module ibex_core #(
|
|||
.PMPGranularity ( PMPGranularity ),
|
||||
.PMPNumRegions ( PMPNumRegions ),
|
||||
.RV32E ( RV32E ),
|
||||
.RV32M ( RV32M )
|
||||
.RV32M ( RV32M ),
|
||||
.RV32B ( RV32B )
|
||||
) cs_registers_i (
|
||||
.clk_i ( clk ),
|
||||
.rst_ni ( rst_ni ),
|
||||
|
|
|
@ -25,7 +25,8 @@ module ibex_cs_registers #(
|
|||
parameter int unsigned PMPGranularity = 0,
|
||||
parameter int unsigned PMPNumRegions = 4,
|
||||
parameter bit RV32E = 0,
|
||||
parameter ibex_pkg::rv32m_e RV32M = ibex_pkg::RV32MFast
|
||||
parameter ibex_pkg::rv32m_e RV32M = ibex_pkg::RV32MFast,
|
||||
parameter ibex_pkg::rv32b_e RV32B = ibex_pkg::RV32BNone
|
||||
) (
|
||||
// Clock and Reset
|
||||
input logic clk_i,
|
||||
|
@ -119,12 +120,14 @@ module ibex_cs_registers #(
|
|||
|
||||
import ibex_pkg::*;
|
||||
|
||||
localparam int unsigned RV32BEnabled = (RV32B == RV32BNone) ? 0 : 1;
|
||||
localparam int unsigned RV32MEnabled = (RV32M == RV32MNone) ? 0 : 1;
|
||||
localparam int unsigned PMPAddrWidth = (PMPGranularity > 0) ? 33 - PMPGranularity : 32;
|
||||
|
||||
// misa
|
||||
localparam logic [31:0] MISA_VALUE =
|
||||
(0 << 0) // A - Atomic Instructions extension
|
||||
| (RV32BEnabled << 1) // B - Bit-Manipulation extension
|
||||
| (1 << 2) // C - Compressed extension
|
||||
| (0 << 3) // D - Double precision floating-point extension
|
||||
| (32'(RV32E) << 4) // E - RV32E base ISA
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue