From ce2b89d583147cdf90dd5e3bbea75cabf194f061 Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 22:51:07 +0200 Subject: [PATCH 1/9] :warning: [cpu] split B extension --- rtl/core/neorv32_cpu.vhd | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/rtl/core/neorv32_cpu.vhd b/rtl/core/neorv32_cpu.vhd index d8f13ef65..247a72fef 100644 --- a/rtl/core/neorv32_cpu.vhd +++ b/rtl/core/neorv32_cpu.vhd @@ -29,14 +29,16 @@ entity neorv32_cpu is DEBUG_EXC_ADDR : std_ulogic_vector(31 downto 0); -- cpu debug mode exception entry address -- RISC-V ISA Extensions -- RISCV_ISA_A : boolean; -- implement atomic memory operations extension - RISCV_ISA_B : boolean; -- implement bit-manipulation extension RISCV_ISA_C : boolean; -- implement compressed extension RISCV_ISA_E : boolean; -- implement embedded RF extension RISCV_ISA_M : boolean; -- implement mul/div extension RISCV_ISA_U : boolean; -- implement user mode extension + RISCV_ISA_Zba : boolean; -- implement shifted-add bit-manipulation extension + RISCV_ISA_Zbb : boolean; -- implement basic bit-manipulation extension RISCV_ISA_Zbkb : boolean; -- implement bit-manipulation instructions for cryptography RISCV_ISA_Zbkc : boolean; -- implement carry-less multiplication instructions RISCV_ISA_Zbkx : boolean; -- implement cryptography crossbar permutation extension + RISCV_ISA_Zbs : boolean; -- implement single-bit bit-manipulation extension RISCV_ISA_Zfinx : boolean; -- implement 32-bit floating-point extension RISCV_ISA_Zicntr : boolean; -- implement base counters RISCV_ISA_Zicond : boolean; -- implement integer conditional operations @@ -90,7 +92,7 @@ architecture neorv32_cpu_rtl of neorv32_cpu is -- auto-configuration -- constant rf_rs3_en_c : boolean := RISCV_ISA_Zxcfu or RISCV_ISA_Zfinx; -- 3rd register file read port ---constant riscv_b_c : boolean := RISCV_ISA_Zba and RISCV_ISA_Zbb and RISCV_ISA_Zbs; -- B: bit manipulation + constant riscv_b_c : boolean := RISCV_ISA_Zba and RISCV_ISA_Zbb and RISCV_ISA_Zbs; -- B: bit manipulation constant riscv_zkt_c : boolean := FAST_SHIFT_EN; -- Zkt: data-independent execution time for cryptographic operations constant riscv_zkn_c : boolean := RISCV_ISA_Zbkb and RISCV_ISA_Zbkc and RISCV_ISA_Zbkx and RISCV_ISA_Zkne and RISCV_ISA_Zknd and RISCV_ISA_Zknh; -- Zkn: NIST suite @@ -134,14 +136,17 @@ begin assert false report "[NEORV32] CPU ISA: rv32" & cond_sel_string_f(RISCV_ISA_E, "e", "i") & cond_sel_string_f(RISCV_ISA_A, "a", "" ) & - cond_sel_string_f(RISCV_ISA_B, "b", "" ) & + cond_sel_string_f(riscv_b_c, "b", "" ) & cond_sel_string_f(RISCV_ISA_C, "c", "" ) & cond_sel_string_f(RISCV_ISA_M, "m", "" ) & cond_sel_string_f(RISCV_ISA_U, "u", "" ) & cond_sel_string_f(true, "x", "" ) & -- always enabled + cond_sel_string_f(RISCV_ISA_Zba, "_zba", "" ) & + cond_sel_string_f(RISCV_ISA_Zbb, "_zbb", "" ) & cond_sel_string_f(RISCV_ISA_Zbkb, "_zbkb", "" ) & cond_sel_string_f(RISCV_ISA_Zbkc, "_zbkc", "" ) & cond_sel_string_f(RISCV_ISA_Zbkx, "_zbkx", "" ) & + cond_sel_string_f(RISCV_ISA_Zbs, "_zbs", "" ) & cond_sel_string_f(RISCV_ISA_Zicntr, "_zicntr", "" ) & cond_sel_string_f(RISCV_ISA_Zicond, "_zicond", "" ) & cond_sel_string_f(true, "_zicsr", "" ) & -- always enabled @@ -186,14 +191,17 @@ begin DEBUG_EXC_ADDR => DEBUG_EXC_ADDR, -- cpu debug mode exception entry address -- RISC-V ISA Extensions -- RISCV_ISA_A => RISCV_ISA_A, -- implement atomic memory operations extension - RISCV_ISA_B => RISCV_ISA_B, -- implement bit-manipulation extension + RISCV_ISA_B => riscv_b_c, -- implement bit-manipulation extension RISCV_ISA_C => RISCV_ISA_C, -- implement compressed extension RISCV_ISA_E => RISCV_ISA_E, -- implement embedded RF extension RISCV_ISA_M => RISCV_ISA_M, -- implement mul/div extension RISCV_ISA_U => RISCV_ISA_U, -- implement user mode extension + RISCV_ISA_Zba => RISCV_ISA_Zba, -- implement shifted-add bit-manipulation extension + RISCV_ISA_Zbb => RISCV_ISA_Zbb, -- implement basic bit-manipulation extension RISCV_ISA_Zbkb => RISCV_ISA_Zbkb, -- implement bit-manipulation instructions for cryptography RISCV_ISA_Zbkc => RISCV_ISA_Zbkc, -- implement carry-less multiplication instructions RISCV_ISA_Zbkx => RISCV_ISA_Zbkx, -- implement cryptography crossbar permutation extension + RISCV_ISA_Zbs => RISCV_ISA_Zbs, -- implement single-bit bit-manipulation extension RISCV_ISA_Zfinx => RISCV_ISA_Zfinx, -- implement 32-bit floating-point extension RISCV_ISA_Zicntr => RISCV_ISA_Zicntr, -- implement base counters RISCV_ISA_Zicond => RISCV_ISA_Zicond, -- implement integer conditional operations @@ -295,12 +303,12 @@ begin generic map ( -- RISC-V CPU Extensions -- RISCV_ISA_M => RISCV_ISA_M, -- implement mul/div extension - RISCV_ISA_Zba => RISCV_ISA_B, -- implement address-generation instruction - RISCV_ISA_Zbb => RISCV_ISA_B, -- implement basic bit-manipulation instruction + RISCV_ISA_Zba => RISCV_ISA_Zba, -- implement address-generation instruction + RISCV_ISA_Zbb => RISCV_ISA_Zbb, -- implement basic bit-manipulation instruction RISCV_ISA_Zbkb => RISCV_ISA_Zbkb, -- implement bit-manipulation instructions for cryptography RISCV_ISA_Zbkc => RISCV_ISA_Zbkc, -- implement carry-less multiplication instructions RISCV_ISA_Zbkx => RISCV_ISA_Zbkx, -- implement cryptography crossbar permutation extension - RISCV_ISA_Zbs => RISCV_ISA_B, -- implement single-bit instructions + RISCV_ISA_Zbs => RISCV_ISA_Zbs, -- implement single-bit instructions RISCV_ISA_Zfinx => RISCV_ISA_Zfinx, -- implement 32-bit floating-point extension RISCV_ISA_Zicond => RISCV_ISA_Zicond, -- implement integer conditional operations RISCV_ISA_Zknd => RISCV_ISA_Zknd, -- implement cryptography NIST AES decryption extension From 43d9d55f71bd6064948d5f76159d60ced27a3181 Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 22:58:23 +0200 Subject: [PATCH 2/9] [mxisa csr] add Zb* ISA estensions relocate tuning options flags --- docs/datasheet/cpu_csr.adoc | 16 +++++++++------- rtl/core/neorv32_cpu_control.vhd | 22 ++++++++++++++++------ sw/lib/include/neorv32_cpu_csr.h | 15 ++++++++------- sw/lib/source/neorv32_rte.c | 3 +++ 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/docs/datasheet/cpu_csr.adoc b/docs/datasheet/cpu_csr.adoc index 081229a80..df479aa8a 100644 --- a/docs/datasheet/cpu_csr.adoc +++ b/docs/datasheet/cpu_csr.adoc @@ -934,7 +934,7 @@ outside of machine-mode will raise an illegal instruction exception. [cols="<1,<8"] [frame="topbot",grid="none"] |======================= -| Name | Machine extended isa and extensions register +| Name | Machine extended ISA and extensions register | Address | `0xfc0` | Reset value | `DEFINED` | ISA | `Zicsr` & `X` @@ -969,10 +969,12 @@ discover ISA sub-extensions and CPU configuration options | 19 | `CSR_MXISA_ZKSH` | r/- | <<_zksh_isa_extension>> available | 20 | `CSR_MXISA_ZKSED` | r/- | <<_zksed_isa_extension>> available | 21 | `CSR_MXISA_ZKS` | r/- | <<_zks_isa_extension>> available -| 23:22 | - | r/- | hardwired to zero -| 24 | `CSR_MXISA_IS_SIM` | r/- | set if CPU is being **simulated** (⚠️ not guaranteed) -| 28:25 | - | r/- | hardwired to zero -| 29 | `CSR_MXISA_RFHWRST` | r/- | full hardware reset of register file available when set (`REGFILE_HW_RST`) -| 30 | `CSR_MXISA_FASTMUL` | r/- | fast multiplication available when set (`FAST_MUL_EN`) -| 31 | `CSR_MXISA_FASTSHIFT` | r/- | fast shifts available when set (`FAST_SHIFT_EN`) +| 22 | `CSR_MXISA_ZBA` | r/- | <<_zba_isa_extension>> available +| 23 | `CSR_MXISA_ZBB` | r/- | <<_zbb_isa_extension>> available +| 24 | `CSR_MXISA_ZBS` | r/- | <<_zbs_isa_extension>> available +| 27:25 | - | r/- | _reserved_, hardwired to zero +| 28 | `CSR_MXISA_RFHWRST` | r/- | full hardware reset of register file available when set (`REGFILE_HW_RST`) +| 29 | `CSR_MXISA_FASTMUL` | r/- | fast multiplication available when set (`FAST_MUL_EN`) +| 30 | `CSR_MXISA_FASTSHIFT` | r/- | fast shifts available when set (`FAST_SHIFT_EN`) +| 31 | `CSR_MXISA_IS_SIM` | r/- | set if CPU is being **simulated** (⚠️ not guaranteed) |======================= diff --git a/rtl/core/neorv32_cpu_control.vhd b/rtl/core/neorv32_cpu_control.vhd index 5e756ddef..3f4e0adf4 100644 --- a/rtl/core/neorv32_cpu_control.vhd +++ b/rtl/core/neorv32_cpu_control.vhd @@ -41,9 +41,12 @@ entity neorv32_cpu_control is RISCV_ISA_E : boolean; -- implement embedded-class register file extension RISCV_ISA_M : boolean; -- implement mul/div extension RISCV_ISA_U : boolean; -- implement user mode extension + RISCV_ISA_Zba : boolean; -- implement shifted-add bit-manipulation extension + RISCV_ISA_Zbb : boolean; -- implement basic bit-manipulation extension RISCV_ISA_Zbkb : boolean; -- implement bit-manipulation instructions for cryptography RISCV_ISA_Zbkc : boolean; -- implement carry-less multiplication instructions RISCV_ISA_Zbkx : boolean; -- implement cryptography crossbar permutation extension? + RISCV_ISA_Zbs : boolean; -- implement single-bit bit-manipulation extension RISCV_ISA_Zfinx : boolean; -- implement 32-bit floating-point extension RISCV_ISA_Zicntr : boolean; -- implement base counters RISCV_ISA_Zicond : boolean; -- implement integer conditional operations @@ -1893,7 +1896,7 @@ begin csr.rdata(7) <= bool_to_ulogic_f(RISCV_ISA_Zicntr); -- Zicntr: base counters csr.rdata(8) <= bool_to_ulogic_f(RISCV_ISA_Smpmp); -- Smpmp: physical memory protection csr.rdata(9) <= bool_to_ulogic_f(RISCV_ISA_Zihpm); -- Zihpm: hardware performance monitors - csr.rdata(10) <= bool_to_ulogic_f(RISCV_ISA_Sdext); -- Sdext: RISC-V (external) debug mode + csr.rdata(10) <= bool_to_ulogic_f(RISCV_ISA_Sdext); -- Sdext: RISC-V external debug csr.rdata(11) <= bool_to_ulogic_f(RISCV_ISA_Sdtrig); -- Sdtrig: trigger module csr.rdata(12) <= bool_to_ulogic_f(RISCV_ISA_Zbkx); -- Zbkx: cryptography crossbar permutation csr.rdata(13) <= bool_to_ulogic_f(RISCV_ISA_Zknd); -- Zknd: cryptography NIST AES decryption @@ -1905,12 +1908,19 @@ begin csr.rdata(19) <= bool_to_ulogic_f(RISCV_ISA_Zksh); -- Zksh: ShangMi hash functions csr.rdata(20) <= bool_to_ulogic_f(RISCV_ISA_Zksed); -- Zksed: ShangMi block cyphers csr.rdata(21) <= bool_to_ulogic_f(RISCV_ISA_Zks); -- Zks: ShangMi algorithm suite - -- misc -- - csr.rdata(24) <= bool_to_ulogic_f(is_simulation_c); -- is this a simulation? + csr.rdata(22) <= bool_to_ulogic_f(RISCV_ISA_Zba); -- Zba: shifted-add bit-manipulation + csr.rdata(23) <= bool_to_ulogic_f(RISCV_ISA_Zbb); -- Zbb: basic bit-manipulation extension + csr.rdata(24) <= bool_to_ulogic_f(RISCV_ISA_Zbs); -- Zbs: single-bit bit-manipulation extension + -- reserved -- + csr.rdata(25) <= '0'; + csr.rdata(26) <= '0'; + csr.rdata(27) <= '0'; -- tuning options -- - csr.rdata(29) <= bool_to_ulogic_f(REGFILE_HW_RST); -- full hardware reset of register file - csr.rdata(30) <= bool_to_ulogic_f(FAST_MUL_EN); -- DSP-based multiplication (M extensions only) - csr.rdata(31) <= bool_to_ulogic_f(FAST_SHIFT_EN); -- parallel logic for shifts (barrel shifters) + csr.rdata(28) <= bool_to_ulogic_f(REGFILE_HW_RST); -- full hardware reset of register file + csr.rdata(29) <= bool_to_ulogic_f(FAST_MUL_EN); -- DSP-based multiplication (M extensions only) + csr.rdata(30) <= bool_to_ulogic_f(FAST_SHIFT_EN); -- parallel logic for shifts (barrel shifters) + -- misc -- + csr.rdata(31) <= bool_to_ulogic_f(is_simulation_c); -- is this a simulation? -- -------------------------------------------------------------------- -- undefined/unavailable diff --git a/sw/lib/include/neorv32_cpu_csr.h b/sw/lib/include/neorv32_cpu_csr.h index 28760ffc6..09bbd9f04 100644 --- a/sw/lib/include/neorv32_cpu_csr.h +++ b/sw/lib/include/neorv32_cpu_csr.h @@ -329,14 +329,15 @@ enum NEORV32_CSR_XISA_enum { CSR_MXISA_ZKSH = 19, /**< CPU mxisa CSR (19): scalar cryptography - ShangMi hash functions (r/-)*/ CSR_MXISA_ZKSED = 20, /**< CPU mxisa CSR (20): scalar cryptography - ShangMi block cyphers (r/-)*/ CSR_MXISA_ZKS = 21, /**< CPU mxisa CSR (21): scalar cryptography - ShangMi algorithm suite (r/-)*/ - - // Misc - CSR_MXISA_IS_SIM = 24, /**< CPU mxisa CSR (24): this might be a simulation when set (r/-)*/ - + CSR_MXISA_ZBA = 22, /**< CPU mxisa CSR (22): shifted-add bit-manipulation operation (r/-)*/ + CSR_MXISA_ZBB = 23, /**< CPU mxisa CSR (23): basic bit-manipulation operation (r/-)*/ + CSR_MXISA_ZBS = 24, /**< CPU mxisa CSR (24): single-bit bit-manipulation operation (r/-)*/ // Tuning options - CSR_MXISA_RFHWRST = 29, /**< CPU mxisa CSR (29): Register file has full hardware reset (r/-)*/ - CSR_MXISA_FASTMUL = 30, /**< CPU mxisa CSR (30): DSP-based multiplication (M extensions only) (r/-)*/ - CSR_MXISA_FASTSHIFT = 31 /**< CPU mxisa CSR (31): parallel logic for shifts (barrel shifters) (r/-)*/ + CSR_MXISA_RFHWRST = 28, /**< CPU mxisa CSR (28): register file has full hardware reset (r/-)*/ + CSR_MXISA_FASTMUL = 29, /**< CPU mxisa CSR (29): DSP-based multiplication (M extensions only) (r/-)*/ + CSR_MXISA_FASTSHIFT = 30, /**< CPU mxisa CSR (30): parallel logic for shifts (barrel shifters) (r/-)*/ + // Misc + CSR_MXISA_IS_SIM = 31 /**< CPU mxisa CSR (31): this might be a simulation when set (r/-)*/ }; diff --git a/sw/lib/source/neorv32_rte.c b/sw/lib/source/neorv32_rte.c index e426358ed..ba6d608dd 100644 --- a/sw/lib/source/neorv32_rte.c +++ b/sw/lib/source/neorv32_rte.c @@ -450,9 +450,12 @@ void neorv32_rte_print_hw_config(void) { if (tmp & (1< Date: Mon, 30 Sep 2024 22:59:23 +0200 Subject: [PATCH 3/9] :warning: [top] split B ISA extension --- docs/datasheet/soc.adoc | 180 ++++++++++++++++++----------------- rtl/core/neorv32_package.vhd | 6 +- rtl/core/neorv32_top.vhd | 46 +++++---- 3 files changed, 120 insertions(+), 112 deletions(-) diff --git a/docs/datasheet/soc.adoc b/docs/datasheet/soc.adoc index 2c6212f8a..f90879a4a 100644 --- a/docs/datasheet/soc.adoc +++ b/docs/datasheet/soc.adoc @@ -196,108 +196,110 @@ The generic type "`suv(x:y)`" is an abbreviation for "`std_ulogic_vector(x downt |======================= | Name | Type | Default | Description 4+^| **General** -| `CLOCK_FREQUENCY` | natural | - | The clock frequency of the processor's `clk_i` input port in Hertz (Hz). -| `CLOCK_GATING_EN` | boolean | false | Enable clock gating when CPU is in sleep mode (see sections <<_sleep_mode>> and <<_processor_clocking>>). -| `INT_BOOTLOADER_EN` | boolean | false | Implement the processor-internal <<_bootloader_rom_bootrom>>, pre-initialized with the default <<_bootloader>> image. -| `HART_ID` | suv(31:0) | 0x00000000 | The hart thread ID of the CPU (passed to <<_mhartid>> CSR). -| `JEDEC_ID` | suv(10:0) | 00000000000 | JEDEC ID; continuation codes plus vendor ID (passed to <<_mvendorid>> CSR and to the <<_debug_transport_module_dtm>>). +| `CLOCK_FREQUENCY` | natural | - | The clock frequency of the processor's `clk_i` input port in Hertz (Hz). +| `CLOCK_GATING_EN` | boolean | false | Enable clock gating when CPU is in sleep mode (see sections <<_sleep_mode>> and <<_processor_clocking>>). +| `INT_BOOTLOADER_EN` | boolean | false | Implement the processor-internal <<_bootloader_rom_bootrom>>, pre-initialized with the default <<_bootloader>> image. +| `HART_ID` | suv(31:0) | 0x00000000 | The hart thread ID of the CPU (passed to <<_mhartid>> CSR). +| `JEDEC_ID` | suv(10:0) | 0b00000000000 | JEDEC ID; continuation codes plus vendor ID (passed to <<_mvendorid>> CSR and to the <<_debug_transport_module_dtm>>). 4+^| **<<_on_chip_debugger_ocd>>** -| `ON_CHIP_DEBUGGER_EN` | boolean | false | Implement the on-chip debugger and the CPU debug mode. -| `DM_LEGACY_MODE` | boolean | false | Debug module spec. version: `false` = v1.0, `true` = v0.13 (legacy mode). +| `ON_CHIP_DEBUGGER_EN` | boolean | false | Implement the on-chip debugger and the CPU debug mode. +| `DM_LEGACY_MODE` | boolean | false | Debug module spec. version: `false` = v1.0, `true` = v0.13 (legacy mode). 4+^| **CPU <<_instruction_sets_and_extensions>>** -| `RISCV_ISA_A` | boolean | false | Enable <<_a_isa_extension>> (atomic memory accesses). -| `RISCV_ISA_B` | boolean | false | Enable <<_b_isa_extension>> (bit-manipulation). -| `RISCV_ISA_C` | boolean | false | Enable <<_c_isa_extension>> (compressed instructions). -| `RISCV_ISA_E` | boolean | false | Enable <<_e_isa_extension>> (reduced register file size). -| `RISCV_ISA_M` | boolean | false | Enable <<_m_isa_extension>> (hardware-based integer multiplication and division). -| `RISCV_ISA_U` | boolean | false | Enable <<_u_isa_extension>> (less-privileged user mode). -| `RISCV_ISA_Zbkb` | boolean | false | Enable <<_zbkb_isa_extension>> (scalar cryptography bit manipulation instructions). -| `RISCV_ISA_Zbkc` | boolean | false | Enable <<_zbkc_isa_extension>> (scalar cryptography carry-less multiplication instructions). -| `RISCV_ISA_Zbkx` | boolean | false | Enable <<_zbkx_isa_extension>> (scalar cryptography crossbar permutations). -| `RISCV_ISA_Zfinx` | boolean | false | Enable <<_zfinx_isa_extension>> (single-precision floating-point unit). -| `RISCV_ISA_Zicntr` | boolean | true | Enable <<_zicntr_isa_extension>> (CPU base counters). -| `RISCV_ISA_Zicond` | boolean | false | Enable <<_zicond_isa_extension>> (integer conditional instructions). -| `RISCV_ISA_Zihpm` | boolean | false | Enable <<_zihpm_isa_extension>> (hardware performance monitors). -| `RISCV_ISA_Zknd` | boolean | false | Enable <<_zknd_isa_extension>> (scalar cryptography NIST AES decryption instructions). -| `RISCV_ISA_Zkne` | boolean | false | Enable <<_zkne_isa_extension>> (scalar cryptography NIST AES encryption instructions). -| `RISCV_ISA_Zknh` | boolean | false | Enable <<_zknh_isa_extension>> (scalar cryptography NIST hash instructions). -| `RISCV_ISA_Zksh` | boolean | false | Enable <<_zksh_isa_extension>> (scalar cryptography ShangMi hash functions). -| `RISCV_ISA_Zksed` | boolean | false | Enable <<_zksed_isa_extension>> (scalar cryptography ShangMi block cyphers). -| `RISCV_ISA_Zmmul` | boolean | false | Enable <<_zmmul_isa_extension>> (hardware-based integer multiplication). -| `RISCV_ISA_Zxcfu` | boolean | false | Enable NEORV32-specific <<_zxcfu_isa_extension>> (custom RISC-V instructions). +| `RISCV_ISA_A` | boolean | false | Enable <<_a_isa_extension>> (atomic memory accesses). +| `RISCV_ISA_C` | boolean | false | Enable <<_c_isa_extension>> (compressed instructions). +| `RISCV_ISA_E` | boolean | false | Enable <<_e_isa_extension>> (reduced register file size). +| `RISCV_ISA_M` | boolean | false | Enable <<_m_isa_extension>> (hardware-based integer multiplication and division). +| `RISCV_ISA_U` | boolean | false | Enable <<_u_isa_extension>> (less-privileged user mode). +| `RISCV_ISA_Zba` | boolean | false | Enable <<_zba_isa_extension>> (shifted-add bit-manipulation instructions). +| `RISCV_ISA_Zbb` | boolean | false | Enable <<_zbb_isa_extension>> (basic bit-manipulation instructions). +| `RISCV_ISA_Zbkb` | boolean | false | Enable <<_zbkb_isa_extension>> (scalar cryptography bit manipulation instructions). +| `RISCV_ISA_Zbkc` | boolean | false | Enable <<_zbkc_isa_extension>> (scalar cryptography carry-less multiplication instructions). +| `RISCV_ISA_Zbkx` | boolean | false | Enable <<_zbkx_isa_extension>> (scalar cryptography crossbar permutations). +| `RISCV_ISA_Zbs` | boolean | false | Enable <<_zbs_isa_extension>> (single-bit bit-manipulation instructions). +| `RISCV_ISA_Zfinx` | boolean | false | Enable <<_zfinx_isa_extension>> (single-precision floating-point unit). +| `RISCV_ISA_Zicntr` | boolean | true | Enable <<_zicntr_isa_extension>> (CPU base counters). +| `RISCV_ISA_Zicond` | boolean | false | Enable <<_zicond_isa_extension>> (integer conditional instructions). +| `RISCV_ISA_Zihpm` | boolean | false | Enable <<_zihpm_isa_extension>> (hardware performance monitors). +| `RISCV_ISA_Zknd` | boolean | false | Enable <<_zknd_isa_extension>> (scalar cryptography NIST AES decryption instructions). +| `RISCV_ISA_Zkne` | boolean | false | Enable <<_zkne_isa_extension>> (scalar cryptography NIST AES encryption instructions). +| `RISCV_ISA_Zknh` | boolean | false | Enable <<_zknh_isa_extension>> (scalar cryptography NIST hash instructions). +| `RISCV_ISA_Zksed` | boolean | false | Enable <<_zksed_isa_extension>> (scalar cryptography ShangMi block cyphers). +| `RISCV_ISA_Zksh` | boolean | false | Enable <<_zksh_isa_extension>> (scalar cryptography ShangMi hash functions). +| `RISCV_ISA_Zmmul` | boolean | false | Enable <<_zmmul_isa_extension>> (hardware-based integer multiplication). +| `RISCV_ISA_Zxcfu` | boolean | false | Enable NEORV32-specific <<_zxcfu_isa_extension>> (custom RISC-V instructions). 4+^| **CPU <<_architecture>> Tuning Options** -| `FAST_MUL_EN` | boolean | false | Implement fast but large full-parallel multipliers (trying to infer DSP blocks); see section <<_cpu_arithmetic_logic_unit>>. -| `FAST_SHIFT_EN` | boolean | false | Implement fast but large full-parallel barrel shifters; see section <<_cpu_arithmetic_logic_unit>>. -| `REGFILE_HW_RST` | boolean | false | Implement full hardware reset for register file (use individual FFs instead of BRAM); see section <<_cpu_register_file>>. +| `FAST_MUL_EN` | boolean | false | Implement fast but large full-parallel multipliers (trying to infer DSP blocks); see section <<_cpu_arithmetic_logic_unit>>. +| `FAST_SHIFT_EN` | boolean | false | Implement fast but large full-parallel barrel shifters; see section <<_cpu_arithmetic_logic_unit>>. +| `REGFILE_HW_RST` | boolean | false | Implement full hardware reset for register file (use individual FFs instead of BRAM); see section <<_cpu_register_file>>. 4+^| **Physical Memory Protection (<<_smpmp_isa_extension>>)** -| `PMP_NUM_REGIONS` | natural | 0 | Number of implemented PMP regions (0..16). -| `PMP_MIN_GRANULARITY` | natural | 4 | Minimal region granularity in bytes. Has to be a power of two, min 4. -| `PMP_TOR_MODE_EN` | boolean | true | Implement support for top-of-region (TOR) mode. -| `PMP_NAP_MODE_EN` | boolean | true | Implement support for naturally-aligned power-of-two (NAPOT & NA4) modes. +| `PMP_NUM_REGIONS` | natural | 0 | Number of implemented PMP regions (0..16). +| `PMP_MIN_GRANULARITY` | natural | 4 | Minimal region granularity in bytes. Has to be a power of two, min 4. +| `PMP_TOR_MODE_EN` | boolean | true | Implement support for top-of-region (TOR) mode. +| `PMP_NAP_MODE_EN` | boolean | true | Implement support for naturally-aligned power-of-two (NAPOT & NA4) modes. 4+^| **Hardware Performance Monitors (<<_zihpm_isa_extension>>)** -| `HPM_NUM_CNTS` | natural | 0 | Number of implemented hardware performance monitor counters (0..13). -| `HPM_CNT_WIDTH` | natural | 40 | Total LSB-aligned size of each HPM counter. Min 0, max 64. +| `HPM_NUM_CNTS` | natural | 0 | Number of implemented hardware performance monitor counters (0..13). +| `HPM_CNT_WIDTH` | natural | 40 | Total LSB-aligned size of each HPM counter. Min 0, max 64. 4+^| **Internal <<_instruction_memory_imem>>** -| `MEM_INT_IMEM_EN` | boolean | false | Implement the processor-internal instruction memory. -| `MEM_INT_IMEM_SIZE` | natural | 16*1024 | Size in bytes of the processor internal instruction memory (use a power of 2). +| `MEM_INT_IMEM_EN` | boolean | false | Implement the processor-internal instruction memory. +| `MEM_INT_IMEM_SIZE` | natural | 16*1024 | Size in bytes of the processor internal instruction memory (use a power of 2). 4+^| **Internal <<_data_memory_dmem>>** -| `MEM_INT_DMEM_EN` | boolean | false | Implement the processor-internal data memory. -| `MEM_INT_DMEM_SIZE` | natural | 8*1024 | Size in bytes of the processor-internal data memory (use a power of 2). +| `MEM_INT_DMEM_EN` | boolean | false | Implement the processor-internal data memory. +| `MEM_INT_DMEM_SIZE` | natural | 8*1024 | Size in bytes of the processor-internal data memory (use a power of 2). 4+^| **<<_processor_internal_instruction_cache_icache>>** -| `ICACHE_EN` | boolean | false | Implement the instruction cache. -| `ICACHE_NUM_BLOCKS` | natural | 4 | Number of blocks ("lines") Has to be a power of two. -| `ICACHE_BLOCK_SIZE` | natural | 64 | Size in bytes of each block. Has to be a power of two. +| `ICACHE_EN` | boolean | false | Implement the instruction cache. +| `ICACHE_NUM_BLOCKS` | natural | 4 | Number of blocks ("lines") Has to be a power of two. +| `ICACHE_BLOCK_SIZE` | natural | 64 | Size in bytes of each block. Has to be a power of two. 4+^| **<<_processor_internal_data_cache_dcache>>** -| `DCACHE_EN` | boolean | false | Implement the data cache. -| `DCACHE_NUM_BLOCKS` | natural | 4 | Number of blocks ("lines"). Has to be a power of two. -| `DCACHE_BLOCK_SIZE` | natural | 64 | Size in bytes of each block. Has to be a power of two. +| `DCACHE_EN` | boolean | false | Implement the data cache. +| `DCACHE_NUM_BLOCKS` | natural | 4 | Number of blocks ("lines"). Has to be a power of two. +| `DCACHE_BLOCK_SIZE` | natural | 64 | Size in bytes of each block. Has to be a power of two. 4+^| **<<_processor_external_bus_interface_xbus>> (Wishbone b4 protocol)** -| `XBUS_EN` | boolean | false | Implement the external bus interface. -| `XBUS_TIMEOUT` | natural | 255 | Clock cycles after which a pending external bus access will auto-terminate and raise a bus fault exception. -| `XBUS_REGSTAGE_EN` | boolean | false | Implement XBUS register stages to ease timing closure. -| `XBUS_CACHE_EN` | boolean | false | Implement the external bus cache. -| `XBUS_CACHE_NUM_BLOCKS` | natural | 64 | Number of blocks ("lines"). Has to be a power of two. -| `XBUS_CACHE_BLOCK_SIZE` | natural | 32 | Size in bytes of each block. Has to be a power of two. +| `XBUS_EN` | boolean | false | Implement the external bus interface. +| `XBUS_TIMEOUT` | natural | 255 | Clock cycles after which a pending external bus access will auto-terminate and raise a bus fault exception. +| `XBUS_REGSTAGE_EN` | boolean | false | Implement XBUS register stages to ease timing closure. +| `XBUS_CACHE_EN` | boolean | false | Implement the external bus cache. +| `XBUS_CACHE_NUM_BLOCKS` | natural | 64 | Number of blocks ("lines"). Has to be a power of two. +| `XBUS_CACHE_BLOCK_SIZE` | natural | 32 | Size in bytes of each block. Has to be a power of two. 4+^| **<<_execute_in_place_module_xip>>** -| `XIP_EN` | boolean | false | Implement the execute in-place module. -| `XIP_CACHE_EN` | boolean | false | Implement XIP cache. -| `XIP_CACHE_NUM_BLOCKS` | natural | 8 | Number of blocks in XIP cache. Has to be a power of two. -| `XIP_CACHE_BLOCK_SIZE` | natural | 256 | Number of bytes per XIP cache block. Has to be a power of two, min 4. +| `XIP_EN` | boolean | false | Implement the execute in-place module. +| `XIP_CACHE_EN` | boolean | false | Implement XIP cache. +| `XIP_CACHE_NUM_BLOCKS` | natural | 8 | Number of blocks in XIP cache. Has to be a power of two. +| `XIP_CACHE_BLOCK_SIZE` | natural | 256 | Number of bytes per XIP cache block. Has to be a power of two, min 4. 4+^| **<<_external_interrupt_controller_xirq>>** -| `XIRQ_NUM_CH` | natural | 0 | Number of channels of the external interrupt controller. Valid values are 0..32. +| `XIRQ_NUM_CH` | natural | 0 | Number of channels of the external interrupt controller. Valid values are 0..32. 4+^| **Peripheral/IO Modules** -| `IO_DISABLE_SYSINFO` | boolean | false | Disable <<_system_configuration_information_memory_sysinfo>> module; ⚠️ not recommended - for advanced users only! -| `IO_GPIO_NUM` | natural | 0 | Number of general purpose input/output pairs of the <<_general_purpose_input_and_output_port_gpio>>. -| `IO_MTIME_EN` | boolean | false | Implement the <<_machine_system_timer_mtime>>. -| `IO_UART0_EN` | boolean | false | Implement the <<_primary_universal_asynchronous_receiver_and_transmitter_uart0>>. -| `IO_UART0_RX_FIFO` | natural | 1 | UART0 RX FIFO depth, has to be a power of two, minimum value is 1, max 32768. -| `IO_UART0_TX_FIFO` | natural | 1 | UART0 TX FIFO depth, has to be a power of two, minimum value is 1, max 32768. -| `IO_UART1_EN` | boolean | false | Implement the <<_secondary_universal_asynchronous_receiver_and_transmitter_uart1>>. -| `IO_UART1_RX_FIFO` | natural | 1 | UART1 RX FIFO depth, has to be a power of two, minimum value is 1, max 32768. -| `IO_UART1_TX_FIFO` | natural | 1 | UART1 TX FIFO depth, has to be a power of two, minimum value is 1, max 32768. -| `IO_SPI_EN` | boolean | false | Implement the <<_serial_peripheral_interface_controller_spi>>. -| `IO_SPI_FIFO` | natural | 1 | Depth of the <<_serial_peripheral_interface_controller_spi>> FIFO. Has to be a power of two, min 1, max 32768. -| `IO_SDI_EN` | boolean | false | Implement the <<_serial_data_interface_controller_sdi>>. -| `IO_SDI_FIFO` | natural | 1 | Depth of the <<_serial_data_interface_controller_sdi>> FIFO. Has to be a power of two, min 1, max 32768. -| `IO_TWI_EN` | boolean | false | Implement the <<_two_wire_serial_interface_controller_twi>>. -| `IO_TWI_FIFO` | natural | 1 | Depth of the <<_two_wire_serial_interface_controller_twi>> FIFO. Has to be a power of two, min 1, max 32768. -| `IO_PWM_NUM_CH` | natural | 0 | Number of channels of the <<_pulse_width_modulation_controller_pwm>> to implement (0..12). -| `IO_WDT_EN` | boolean | false | Implement the <<_watchdog_timer_wdt>>. -| `IO_TRNG_EN` | boolean | false | Implement the <<_true_random_number_generator_trng>>. -| `IO_TRNG_FIFO` | natural | 1 | Depth of the TRNG data FIFO. Has to be a power of two, min 1, max 32768. -| `IO_CFS_EN` | boolean | false | Implement the <<_custom_functions_subsystem_cfs>>. -| `IO_CFS_CONFIG` | suv(31:0) | 0x00000000 | "Conduit" generic to pass user-defined flags to the <<_custom_functions_subsystem_cfs>>. -| `IO_CFS_IN_SIZE` | natural | 32 | Size of the <<_custom_functions_subsystem_cfs>> input signal conduit (`cfs_in_i`). -| `IO_CFS_OUT_SIZE` | natural | 32 | Size of the <<_custom_functions_subsystem_cfs>> output signal conduit (`cfs_out_o`). -| `IO_NEOLED_EN` | boolean | false | Implement the <<_smart_led_interface_neoled>>. -| `IO_NEOLED_TX_FIFO` | natural | 1 | TX FIFO depth of the the <<_smart_led_interface_neoled>>. Has to be a power of two, min 1, max 32768. -| `IO_GPTMR_EN` | boolean | false | Implement the <<_general_purpose_timer_gptmr>>. -| `IO_ONEWIRE_EN` | boolean | false | Implement the <<_one_wire_serial_interface_controller_onewire>>. -| `IO_DMA_EN` | boolean | false | Implement the <<_direct_memory_access_controller_dma>>. -| `IO_SLINK_EN` | boolean | false | Implement the <<_stream_link_interface_slink>>. -| `IO_SLINK_RX_FIFO` | natural | 1 | SLINK RX FIFO depth, has to be a power of two, minimum value is 1, max 32768. -| `IO_SLINK_TX_FIFO` | natural | 1 | SLINK TX FIFO depth, has to be a power of two, minimum value is 1, max 32768. -| `IO_CRC_EN` | boolean | false | Implement the <<_cyclic_redundancy_check_crc>> unit. +| `IO_DISABLE_SYSINFO` | boolean | false | Disable <<_system_configuration_information_memory_sysinfo>> module; ⚠️ not recommended - for advanced users only! +| `IO_GPIO_NUM` | natural | 0 | Number of general purpose input/output pairs of the <<_general_purpose_input_and_output_port_gpio>>. +| `IO_MTIME_EN` | boolean | false | Implement the <<_machine_system_timer_mtime>>. +| `IO_UART0_EN` | boolean | false | Implement the <<_primary_universal_asynchronous_receiver_and_transmitter_uart0>>. +| `IO_UART0_RX_FIFO` | natural | 1 | UART0 RX FIFO depth, has to be a power of two, minimum value is 1, max 32768. +| `IO_UART0_TX_FIFO` | natural | 1 | UART0 TX FIFO depth, has to be a power of two, minimum value is 1, max 32768. +| `IO_UART1_EN` | boolean | false | Implement the <<_secondary_universal_asynchronous_receiver_and_transmitter_uart1>>. +| `IO_UART1_RX_FIFO` | natural | 1 | UART1 RX FIFO depth, has to be a power of two, minimum value is 1, max 32768. +| `IO_UART1_TX_FIFO` | natural | 1 | UART1 TX FIFO depth, has to be a power of two, minimum value is 1, max 32768. +| `IO_SPI_EN` | boolean | false | Implement the <<_serial_peripheral_interface_controller_spi>>. +| `IO_SPI_FIFO` | natural | 1 | Depth of the <<_serial_peripheral_interface_controller_spi>> FIFO. Has to be a power of two, min 1, max 32768. +| `IO_SDI_EN` | boolean | false | Implement the <<_serial_data_interface_controller_sdi>>. +| `IO_SDI_FIFO` | natural | 1 | Depth of the <<_serial_data_interface_controller_sdi>> FIFO. Has to be a power of two, min 1, max 32768. +| `IO_TWI_EN` | boolean | false | Implement the <<_two_wire_serial_interface_controller_twi>>. +| `IO_TWI_FIFO` | natural | 1 | Depth of the <<_two_wire_serial_interface_controller_twi>> FIFO. Has to be a power of two, min 1, max 32768. +| `IO_PWM_NUM_CH` | natural | 0 | Number of channels of the <<_pulse_width_modulation_controller_pwm>> to implement (0..12). +| `IO_WDT_EN` | boolean | false | Implement the <<_watchdog_timer_wdt>>. +| `IO_TRNG_EN` | boolean | false | Implement the <<_true_random_number_generator_trng>>. +| `IO_TRNG_FIFO` | natural | 1 | Depth of the TRNG data FIFO. Has to be a power of two, min 1, max 32768. +| `IO_CFS_EN` | boolean | false | Implement the <<_custom_functions_subsystem_cfs>>. +| `IO_CFS_CONFIG` | suv(31:0) | 0x00000000 | "Conduit" generic to pass user-defined flags to the <<_custom_functions_subsystem_cfs>>. +| `IO_CFS_IN_SIZE` | natural | 32 | Size of the <<_custom_functions_subsystem_cfs>> input signal conduit (`cfs_in_i`). +| `IO_CFS_OUT_SIZE` | natural | 32 | Size of the <<_custom_functions_subsystem_cfs>> output signal conduit (`cfs_out_o`). +| `IO_NEOLED_EN` | boolean | false | Implement the <<_smart_led_interface_neoled>>. +| `IO_NEOLED_TX_FIFO` | natural | 1 | TX FIFO depth of the the <<_smart_led_interface_neoled>>. Has to be a power of two, min 1, max 32768. +| `IO_GPTMR_EN` | boolean | false | Implement the <<_general_purpose_timer_gptmr>>. +| `IO_ONEWIRE_EN` | boolean | false | Implement the <<_one_wire_serial_interface_controller_onewire>>. +| `IO_DMA_EN` | boolean | false | Implement the <<_direct_memory_access_controller_dma>>. +| `IO_SLINK_EN` | boolean | false | Implement the <<_stream_link_interface_slink>>. +| `IO_SLINK_RX_FIFO` | natural | 1 | SLINK RX FIFO depth, has to be a power of two, minimum value is 1, max 32768. +| `IO_SLINK_TX_FIFO` | natural | 1 | SLINK TX FIFO depth, has to be a power of two, minimum value is 1, max 32768. +| `IO_CRC_EN` | boolean | false | Implement the <<_cyclic_redundancy_check_crc>> unit. |======================= diff --git a/rtl/core/neorv32_package.vhd b/rtl/core/neorv32_package.vhd index b0b448da2..97276513c 100644 --- a/rtl/core/neorv32_package.vhd +++ b/rtl/core/neorv32_package.vhd @@ -29,7 +29,7 @@ package neorv32_package is -- Architecture Constants ----------------------------------------------------------------- -- ------------------------------------------------------------------------------------------- - constant hw_version_c : std_ulogic_vector(31 downto 0) := x"01100410"; -- hardware version + constant hw_version_c : std_ulogic_vector(31 downto 0) := x"01100411"; -- hardware version constant archid_c : natural := 19; -- official RISC-V architecture ID constant XLEN : natural := 32; -- native data path width @@ -677,14 +677,16 @@ package neorv32_package is DM_LEGACY_MODE : boolean := false; -- RISC-V CPU Extensions -- RISCV_ISA_A : boolean := false; - RISCV_ISA_B : boolean := false; RISCV_ISA_C : boolean := false; RISCV_ISA_E : boolean := false; RISCV_ISA_M : boolean := false; RISCV_ISA_U : boolean := false; + RISCV_ISA_Zba : boolean := false; + RISCV_ISA_Zbb : boolean := false; RISCV_ISA_Zbkb : boolean := false; RISCV_ISA_Zbkc : boolean := false; RISCV_ISA_Zbkx : boolean := false; + RISCV_ISA_Zbs : boolean := false; RISCV_ISA_Zfinx : boolean := false; RISCV_ISA_Zicntr : boolean := true; RISCV_ISA_Zicond : boolean := false; diff --git a/rtl/core/neorv32_top.vhd b/rtl/core/neorv32_top.vhd index 717c35660..fa246e095 100644 --- a/rtl/core/neorv32_top.vhd +++ b/rtl/core/neorv32_top.vhd @@ -33,26 +33,28 @@ entity neorv32_top is DM_LEGACY_MODE : boolean := false; -- debug module spec version: false = v1.0, true = v0.13 -- RISC-V CPU Extensions -- - RISCV_ISA_A : boolean := false; -- implement atomic memory operations extension? - RISCV_ISA_B : boolean := false; -- implement bit-manipulation extension? - RISCV_ISA_C : boolean := false; -- implement compressed extension? - RISCV_ISA_E : boolean := false; -- implement embedded RF extension? - RISCV_ISA_M : boolean := false; -- implement mul/div extension? - RISCV_ISA_U : boolean := false; -- implement user mode extension? - RISCV_ISA_Zbkb : boolean := false; -- implement bit-manipulation instructions for cryptography? - RISCV_ISA_Zbkc : boolean := false; -- implement carry-less multiplication instructions? - RISCV_ISA_Zbkx : boolean := false; -- implement cryptography crossbar permutation extension? - RISCV_ISA_Zfinx : boolean := false; -- implement 32-bit floating-point extension (using INT regs!)? - RISCV_ISA_Zicntr : boolean := true; -- implement base counters? - RISCV_ISA_Zicond : boolean := false; -- implement integer conditional operations? - RISCV_ISA_Zihpm : boolean := false; -- implement hardware performance monitors? - RISCV_ISA_Zknd : boolean := false; -- implement cryptography NIST AES decryption extension? - RISCV_ISA_Zkne : boolean := false; -- implement cryptography NIST AES encryption extension? - RISCV_ISA_Zknh : boolean := false; -- implement cryptography NIST hash extension? - RISCV_ISA_Zksed : boolean := false; -- implement ShangMi block cypher extension? - RISCV_ISA_Zksh : boolean := false; -- implement ShangMi hash extension? - RISCV_ISA_Zmmul : boolean := false; -- implement multiply-only M sub-extension? - RISCV_ISA_Zxcfu : boolean := false; -- implement custom (instr.) functions unit? + RISCV_ISA_A : boolean := false; -- implement atomic memory operations extension + RISCV_ISA_C : boolean := false; -- implement compressed extension + RISCV_ISA_E : boolean := false; -- implement embedded RF extension + RISCV_ISA_M : boolean := false; -- implement mul/div extension + RISCV_ISA_U : boolean := false; -- implement user mode extension + RISCV_ISA_Zba : boolean := false; -- implement shifted-add bit-manipulation extension + RISCV_ISA_Zbb : boolean := false; -- implement basic bit-manipulation extension + RISCV_ISA_Zbkb : boolean := false; -- implement bit-manipulation instructions for cryptography + RISCV_ISA_Zbkc : boolean := false; -- implement carry-less multiplication instructions + RISCV_ISA_Zbkx : boolean := false; -- implement cryptography crossbar permutation extension + RISCV_ISA_Zbs : boolean := false; -- implement single-bit bit-manipulation extension + RISCV_ISA_Zfinx : boolean := false; -- implement 32-bit floating-point extension + RISCV_ISA_Zicntr : boolean := true; -- implement base counters + RISCV_ISA_Zicond : boolean := false; -- implement integer conditional operations + RISCV_ISA_Zihpm : boolean := false; -- implement hardware performance monitors + RISCV_ISA_Zknd : boolean := false; -- implement cryptography NIST AES decryption extension + RISCV_ISA_Zkne : boolean := false; -- implement cryptography NIST AES encryption extension + RISCV_ISA_Zknh : boolean := false; -- implement cryptography NIST hash extension + RISCV_ISA_Zksed : boolean := false; -- implement ShangMi block cypher extension + RISCV_ISA_Zksh : boolean := false; -- implement ShangMi hash extension + RISCV_ISA_Zmmul : boolean := false; -- implement multiply-only M sub-extension + RISCV_ISA_Zxcfu : boolean := false; -- implement custom (instr.) functions unit -- Tuning Options -- FAST_MUL_EN : boolean := false; -- use DSPs for M extension's multiplier @@ -452,14 +454,16 @@ begin DEBUG_EXC_ADDR => dm_exc_entry_c, -- RISC-V ISA Extensions -- RISCV_ISA_A => RISCV_ISA_A, - RISCV_ISA_B => RISCV_ISA_B, RISCV_ISA_C => RISCV_ISA_C, RISCV_ISA_E => RISCV_ISA_E, RISCV_ISA_M => RISCV_ISA_M, RISCV_ISA_U => RISCV_ISA_U, + RISCV_ISA_Zba => RISCV_ISA_Zba, + RISCV_ISA_Zbb => RISCV_ISA_Zbb, RISCV_ISA_Zbkb => RISCV_ISA_Zbkb, RISCV_ISA_Zbkc => RISCV_ISA_Zbkc, RISCV_ISA_Zbkx => RISCV_ISA_Zbkx, + RISCV_ISA_Zbs => RISCV_ISA_Zbs, RISCV_ISA_Zfinx => RISCV_ISA_Zfinx, RISCV_ISA_Zicntr => RISCV_ISA_Zicntr, RISCV_ISA_Zicond => RISCV_ISA_Zicond, From 68314864ba29f63badba72728fd5b03508a00e40 Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 22:59:44 +0200 Subject: [PATCH 4/9] [sim] update testbench generics --- sim/neorv32_tb.vhd | 4 +++- sim/simple/neorv32_tb.simple.vhd | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sim/neorv32_tb.vhd b/sim/neorv32_tb.vhd index 8737f3455..ba25d6137 100644 --- a/sim/neorv32_tb.vhd +++ b/sim/neorv32_tb.vhd @@ -201,14 +201,16 @@ begin ON_CHIP_DEBUGGER_EN => true, -- implement on-chip debugger -- RISC-V CPU Extensions -- RISCV_ISA_A => true, -- implement atomic memory operations extension? - RISCV_ISA_B => true, -- implement bit-manipulation extension? RISCV_ISA_C => true, -- implement compressed extension? RISCV_ISA_E => false, -- implement embedded RF extension? RISCV_ISA_M => true, -- implement mul/div extension? RISCV_ISA_U => true, -- implement user mode extension? + RISCV_ISA_Zba => true, -- implement shifted-add bit-manipulation extension + RISCV_ISA_Zbb => true, -- implement basic bit-manipulation extension RISCV_ISA_Zbkb => true, -- implement bit-manipulation instructions for cryptography RISCV_ISA_Zbkc => true, -- implement carry-less multiplication instructions? RISCV_ISA_Zbkx => true, -- implement cryptography crossbar permutation extension? + RISCV_ISA_Zbs => true, -- implement single-bit bit-manipulation extension RISCV_ISA_Zfinx => true, -- implement 32-bit floating-point extension (using INT reg!) RISCV_ISA_Zicntr => true, -- implement base counters? RISCV_ISA_Zicond => true, -- implement integer conditional operations? diff --git a/sim/simple/neorv32_tb.simple.vhd b/sim/simple/neorv32_tb.simple.vhd index cef010c70..f4026fa66 100644 --- a/sim/simple/neorv32_tb.simple.vhd +++ b/sim/simple/neorv32_tb.simple.vhd @@ -173,14 +173,16 @@ begin ON_CHIP_DEBUGGER_EN => true, -- implement on-chip debugger -- RISC-V CPU Extensions -- RISCV_ISA_A => true, -- implement atomic memory operations extension? - RISCV_ISA_B => true, -- implement bit-manipulation extension? RISCV_ISA_C => false, -- implement compressed extension? RISCV_ISA_E => false, -- implement embedded RF extension? RISCV_ISA_M => true, -- implement mul/div extension? RISCV_ISA_U => true, -- implement user mode extension? + RISCV_ISA_Zba => true, -- implement shifted-add bit-manipulation extension + RISCV_ISA_Zbb => true, -- implement basic bit-manipulation extension RISCV_ISA_Zbkb => true, -- implement bit-manipulation instructions for cryptography RISCV_ISA_Zbkc => true, -- implement carry-less multiplication instructions? RISCV_ISA_Zbkx => true, -- implement cryptography crossbar permutation extension? + RISCV_ISA_Zbs => true, -- implement single-bit bit-manipulation extension RISCV_ISA_Zfinx => true, -- implement 32-bit floating-point extension (using INT reg!) RISCV_ISA_Zicntr => true, -- implement base counters? RISCV_ISA_Zicond => true, -- implement integer conditional operations? From ae109cbfb9ff16f4f1c306267eaa073b1292334d Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 23:00:02 +0200 Subject: [PATCH 5/9] [changelog] add v1.10.4.11 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47b8dc9e3..8e7dead84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ mimpid = 0x01040312 -> Version 01.04.03.12 -> v1.4.3.12 | Date | Version | Comment | Ticket | |:----:|:-------:|:--------|:------:| +| 30.09.2024 | 1.10.4.11 | :warning: split `B` ISA extensions into individual sub-extensions: `Zba`, `Zbb`, `Zbs` | [#1044](https://github.com/stnolting/neorv32/pull/1044) | | 29.09.2024 | 1.10.4.10 | :warning: rename CPU ISA configuration generics: `CPU_EXTENSION_* -> RISCV_ISA_*` | [#1041](https://github.com/stnolting/neorv32/pull/1041) | | 28.09.2024 | 1.10.4.9 | :sparkles: add support for RISC-V "ShangMi algorithm suite" ISA extensions: `Zks`, `Zksed`, `Zksh` | [#1040](https://github.com/stnolting/neorv32/pull/1040) | | 28.09.2024 | 1.10.4.8 | :sparkles: add support for RISC-V "NIST algorithm suite" ISA extension `Zkn` | [#1039](https://github.com/stnolting/neorv32/pull/1039) | From 81dc81131f360716a9f57f0e9ac02619782e97aa Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 23:00:53 +0200 Subject: [PATCH 6/9] :warning: [vivado ip] split B ISA extension --- rtl/system_integration/neorv32_vivado_ip.tcl | 66 +++++++++++--------- rtl/system_integration/neorv32_vivado_ip.vhd | 8 ++- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/rtl/system_integration/neorv32_vivado_ip.tcl b/rtl/system_integration/neorv32_vivado_ip.tcl index 15b60e8c2..468e79942 100644 --- a/rtl/system_integration/neorv32_vivado_ip.tcl +++ b/rtl/system_integration/neorv32_vivado_ip.tcl @@ -132,8 +132,6 @@ ipgui::move_param -component [ipx::current_core] -order 10 [ipgui::get_guiparams # ************************************************************** set_property display_name {RISC-V A ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_A" -component [ipx::current_core]] set_property tooltip {Atomic memory operations} [ipgui::get_guiparamspec -name "RISCV_ISA_A" -component [ipx::current_core]] -set_property display_name {RISC-V B ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_B" -component [ipx::current_core]] -set_property tooltip {Bit-manipulation operations} [ipgui::get_guiparamspec -name "RISCV_ISA_B" -component [ipx::current_core]] set_property display_name {RISC-V C ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_C" -component [ipx::current_core]] set_property tooltip {Compressed instructions} [ipgui::get_guiparamspec -name "RISCV_ISA_C" -component [ipx::current_core]] set_property display_name {RISC-V E ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_E" -component [ipx::current_core]] @@ -142,6 +140,10 @@ set_property display_name {RISC-V M ISA extension} [ipgu set_property tooltip {Integer multiplication and division hardware} [ipgui::get_guiparamspec -name "RISCV_ISA_M" -component [ipx::current_core]] set_property display_name {RISC-V U ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_U" -component [ipx::current_core]] set_property tooltip {Less-privileged user-mode} [ipgui::get_guiparamspec -name "RISCV_ISA_U" -component [ipx::current_core]] +set_property display_name {RISC-V Zba ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zba" -component [ipx::current_core]] +set_property tooltip {Shifted-add bit-manipulation instructions} [ipgui::get_guiparamspec -name "RISCV_ISA_Zba" -component [ipx::current_core]] +set_property display_name {RISC-V Zbb ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbb" -component [ipx::current_core]] +set_property tooltip {Basic bit-manipulation instructions} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbb" -component [ipx::current_core]] set_property display_name {RISC-V Zfinx ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zfinx" -component [ipx::current_core]] set_property tooltip {Embedded FPU} [ipgui::get_guiparamspec -name "RISCV_ISA_Zfinx" -component [ipx::current_core]] set_property display_name {RISC-V Zihpm ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zihpm" -component [ipx::current_core]] @@ -164,6 +166,8 @@ set_property display_name {RISC-V Zbkc ISA extension} [ipgu set_property tooltip {Carry-less multiply instr. for cryptography} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkc" -component [ipx::current_core]] set_property display_name {RISC-V Zbkx ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkx" -component [ipx::current_core]] set_property tooltip {Scalar cryptographic - crossbar permutations} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkx" -component [ipx::current_core]] +set_property display_name {RISC-V Zbs ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbs" -component [ipx::current_core]] +set_property tooltip {Single-bit bit-manipulation instructions} [ipgui::get_guiparamspec -name "RISCV_ISA_Zbs" -component [ipx::current_core]] set_property display_name {RISC-V Zknd ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zknd" -component [ipx::current_core]] set_property tooltip {Scalar cryptographic - NIST AES decryption} [ipgui::get_guiparamspec -name "RISCV_ISA_Zknd" -component [ipx::current_core]] set_property display_name {RISC-V Zkne ISA extension} [ipgui::get_guiparamspec -name "RISCV_ISA_Zkne" -component [ipx::current_core]] @@ -189,34 +193,36 @@ set_property tooltip {Naturally-aligned-power-of-two} [ipgu ipgui::add_group -name {CPU Configuration} -component [ipx::current_core] -parent [ipgui::get_pagespec -name "Page 0" -component [ipx::current_core]] -display_name {CPU Configuration} ipgui::move_group -component [ipx::current_core] -order 1 [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -parent [ipgui::get_pagespec -name "Page 0" -component [ipx::current_core]] ipgui::move_param -component [ipx::current_core] -order 0 [ipgui::get_guiparamspec -name "RISCV_ISA_A" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 1 [ipgui::get_guiparamspec -name "RISCV_ISA_B" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 2 [ipgui::get_guiparamspec -name "RISCV_ISA_C" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 3 [ipgui::get_guiparamspec -name "RISCV_ISA_E" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 4 [ipgui::get_guiparamspec -name "RISCV_ISA_M" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 5 [ipgui::get_guiparamspec -name "RISCV_ISA_U" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 6 [ipgui::get_guiparamspec -name "RISCV_ISA_Zfinx" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 7 [ipgui::get_guiparamspec -name "RISCV_ISA_Zihpm" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 8 [ipgui::get_guiparamspec -name "HPM_NUM_CNTS" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 9 [ipgui::get_guiparamspec -name "HPM_CNT_WIDTH" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 10 [ipgui::get_guiparamspec -name "RISCV_ISA_Zicntr" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 11 [ipgui::get_guiparamspec -name "RISCV_ISA_Zicond" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 12 [ipgui::get_guiparamspec -name "RISCV_ISA_Zmmul" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 13 [ipgui::get_guiparamspec -name "RISCV_ISA_Zxcfu" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 14 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkb" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 15 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkc" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 16 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkx" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 17 [ipgui::get_guiparamspec -name "RISCV_ISA_Zknd" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 18 [ipgui::get_guiparamspec -name "RISCV_ISA_Zkne" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 19 [ipgui::get_guiparamspec -name "RISCV_ISA_Zknh" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 20 [ipgui::get_guiparamspec -name "RISCV_ISA_Zksed" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 21 [ipgui::get_guiparamspec -name "RISCV_ISA_Zksh" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 22 [ipgui::get_guiparamspec -name "FAST_MUL_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 23 [ipgui::get_guiparamspec -name "FAST_SHIFT_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 24 [ipgui::get_guiparamspec -name "REGFILE_HW_RST" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 25 [ipgui::get_guiparamspec -name "PMP_NUM_REGIONS" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 26 [ipgui::get_guiparamspec -name "PMP_MIN_GRANULARITY" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 27 [ipgui::get_guiparamspec -name "PMP_TOR_MODE_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] -ipgui::move_param -component [ipx::current_core] -order 28 [ipgui::get_guiparamspec -name "PMP_NAP_MODE_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 1 [ipgui::get_guiparamspec -name "RISCV_ISA_C" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 2 [ipgui::get_guiparamspec -name "RISCV_ISA_E" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 3 [ipgui::get_guiparamspec -name "RISCV_ISA_M" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 4 [ipgui::get_guiparamspec -name "RISCV_ISA_U" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 5 [ipgui::get_guiparamspec -name "RISCV_ISA_Zba" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 6 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbb" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 7 [ipgui::get_guiparamspec -name "RISCV_ISA_Zfinx" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 8 [ipgui::get_guiparamspec -name "RISCV_ISA_Zihpm" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 9 [ipgui::get_guiparamspec -name "HPM_NUM_CNTS" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 10 [ipgui::get_guiparamspec -name "HPM_CNT_WIDTH" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 11 [ipgui::get_guiparamspec -name "RISCV_ISA_Zicntr" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 12 [ipgui::get_guiparamspec -name "RISCV_ISA_Zicond" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 13 [ipgui::get_guiparamspec -name "RISCV_ISA_Zmmul" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 14 [ipgui::get_guiparamspec -name "RISCV_ISA_Zxcfu" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 15 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkb" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 16 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkc" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 17 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbkx" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 18 [ipgui::get_guiparamspec -name "RISCV_ISA_Zbs" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 19 [ipgui::get_guiparamspec -name "RISCV_ISA_Zknd" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 20 [ipgui::get_guiparamspec -name "RISCV_ISA_Zkne" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 21 [ipgui::get_guiparamspec -name "RISCV_ISA_Zknh" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 22 [ipgui::get_guiparamspec -name "RISCV_ISA_Zksed" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 23 [ipgui::get_guiparamspec -name "RISCV_ISA_Zksh" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 24 [ipgui::get_guiparamspec -name "FAST_MUL_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 25 [ipgui::get_guiparamspec -name "FAST_SHIFT_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 26 [ipgui::get_guiparamspec -name "REGFILE_HW_RST" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 27 [ipgui::get_guiparamspec -name "PMP_NUM_REGIONS" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 28 [ipgui::get_guiparamspec -name "PMP_MIN_GRANULARITY" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 29 [ipgui::get_guiparamspec -name "PMP_TOR_MODE_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] +ipgui::move_param -component [ipx::current_core] -order 30 [ipgui::get_guiparamspec -name "PMP_NAP_MODE_EN" -component [ipx::current_core]] -parent [ipgui::get_groupspec -name "CPU Configuration" -component [ipx::current_core]] # ************************************************************** diff --git a/rtl/system_integration/neorv32_vivado_ip.vhd b/rtl/system_integration/neorv32_vivado_ip.vhd index 77663fcd4..584b4b6a2 100644 --- a/rtl/system_integration/neorv32_vivado_ip.vhd +++ b/rtl/system_integration/neorv32_vivado_ip.vhd @@ -36,14 +36,16 @@ entity neorv32_vivado_ip is ON_CHIP_DEBUGGER_EN : boolean := false; -- RISC-V CPU Extensions -- RISCV_ISA_A : boolean := false; - RISCV_ISA_B : boolean := false; RISCV_ISA_C : boolean := false; RISCV_ISA_E : boolean := false; RISCV_ISA_M : boolean := false; RISCV_ISA_U : boolean := false; + RISCV_ISA_Zba : boolean := false; + RISCV_ISA_Zbb : boolean := false; RISCV_ISA_Zbkb : boolean := false; RISCV_ISA_Zbkc : boolean := false; RISCV_ISA_Zbkx : boolean := false; + RISCV_ISA_Zbs : boolean := false; RISCV_ISA_Zfinx : boolean := false; RISCV_ISA_Zicntr : boolean := false; RISCV_ISA_Zicond : boolean := false; @@ -309,14 +311,16 @@ begin DM_LEGACY_MODE => false, -- RISC-V CPU Extensions -- RISCV_ISA_A => RISCV_ISA_A, - RISCV_ISA_B => RISCV_ISA_B, RISCV_ISA_C => RISCV_ISA_C, RISCV_ISA_E => RISCV_ISA_E, RISCV_ISA_M => RISCV_ISA_M, RISCV_ISA_U => RISCV_ISA_U, + RISCV_ISA_Zba => RISCV_ISA_Zba, + RISCV_ISA_Zbb => RISCV_ISA_Zbb, RISCV_ISA_Zbkb => RISCV_ISA_Zbkb, RISCV_ISA_Zbkc => RISCV_ISA_Zbkc, RISCV_ISA_Zbkx => RISCV_ISA_Zbkx, + RISCV_ISA_Zbs => RISCV_ISA_Zbs, RISCV_ISA_Zfinx => RISCV_ISA_Zfinx, RISCV_ISA_Zicntr => RISCV_ISA_Zicntr, RISCV_ISA_Zicond => RISCV_ISA_Zicond, From 5e6b450bec282763ac2e75ff0fe8f3e4a0612809 Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 23:14:00 +0200 Subject: [PATCH 7/9] [readme] add B sub-extensions --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5f13f5cb5..2eee117e2 100644 --- a/README.md +++ b/README.md @@ -109,9 +109,12 @@ setup according to your needs. Note that all of the following SoC modules are en [[`B`](https://stnolting.github.io/neorv32/#_b_isa_extension)] [[`U`](https://stnolting.github.io/neorv32/#_u_isa_extension)] [[`X`](https://stnolting.github.io/neorv32/#_x_isa_extension)] +[[`Zba`](https://stnolting.github.io/neorv32/#_zba_isa_extension)] +[[`Zbb`](https://stnolting.github.io/neorv32/#_zbb_isa_extension)] [[`Zbkb`](https://stnolting.github.io/neorv32/#_zbkb_isa_extension)] [[`Zbkc`](https://stnolting.github.io/neorv32/#_zbkc_isa_extension)] [[`Zbkx`](https://stnolting.github.io/neorv32/#_zbkx_isa_extension)] +[[`Zbs`](https://stnolting.github.io/neorv32/#_zbs_isa_extension)] [[`Zicntr`](https://stnolting.github.io/neorv32/#_zicntr_isa_extension)] [[`Zicond`](https://stnolting.github.io/neorv32/#_zicond_isa_extension)] [[`Zicsr`](https://stnolting.github.io/neorv32/#_zicsr_isa_extension)] From 8b79531f1b3979fb86719ba7c8fe2ef8fd24d776 Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 23:17:22 +0200 Subject: [PATCH 8/9] [figures] add Zba, Zbb, Zbs blocks --- docs/figures/neorv32_processor.png | Bin 144045 -> 147330 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/figures/neorv32_processor.png b/docs/figures/neorv32_processor.png index 7e431a7e68edf29de00d30642a1acf1f4b6c7766..5d2faa5f92eef667a95093a7d14bb0bb2693d401 100644 GIT binary patch literal 147330 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 From 42832130e862ac1c61417687521689d98a9a63bb Mon Sep 17 00:00:00 2001 From: stnolting Date: Mon, 30 Sep 2024 23:17:40 +0200 Subject: [PATCH 9/9] [docs] update ISA extensions add Zba, Zbb, Zbs --- docs/datasheet/cpu.adoc | 89 +++++++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 22 deletions(-) diff --git a/docs/datasheet/cpu.adoc b/docs/datasheet/cpu.adoc index e4ac7f8b5..e11631cc2 100644 --- a/docs/datasheet/cpu.adoc +++ b/docs/datasheet/cpu.adoc @@ -433,16 +433,19 @@ This chapter gives a brief overview of all available ISA extensions. |======================= | Name | Description | <<_processor_top_entity_generics, Enabled by Generic>> | <<_a_isa_extension,`A`>> | Atomic memory access instructions | `RISCV_ISA_A` -| <<_b_isa_extension,`B`>> | Bit-manipulation instructions | `RISCV_ISA_B` +| <<_b_isa_extension,`B`>> | Bit manipulation instructions | _Implicitly_ enabled | <<_c_isa_extension,`C`>> | Compressed (16-bit) instructions | `RISCV_ISA_C` | <<_e_isa_extension,`E`>> | Embedded CPU extension (reduced register file size) | `RISCV_ISA_E` | <<_i_isa_extension,`I`>> | Integer base ISA | Enabled if `RISCV_ISA_E` is **not** enabled | <<_m_isa_extension,`M`>> | Integer multiplication and division instructions | `RISCV_ISA_M` | <<_u_isa_extension,`U`>> | Less-privileged _user_ mode extension | `RISCV_ISA_U` | <<_x_isa_extension,`X`>> | Platform-specific / NEORV32-specific extension | Always enabled +| <<_zba_isa_extension,`Zba`>> | Shifted-add bit manipulation instructions | `RISCV_ISA_Zba` +| <<_zbb_isa_extension,`Zbb`>> | Basic bit manipulation instructions | `RISCV_ISA_Zbb` | <<_zbkb_isa_extension,`Zbkb`>> | Scalar cryptographic bit manipulation instructions | `RISCV_ISA_Zbkb` | <<_zbkc_isa_extension,`Zbkc`>> | Scalar cryptographic carry-less multiplication instructions | `RISCV_ISA_Zbkc` | <<_zbkx_isa_extension,`Zbkx`>> | Scalar cryptographic crossbar permutation instructions | `RISCV_ISA_Zbkx` +| <<_zbs_isa_extension,`Zbs`>> | Single-bit bit manipulation instructions | `RISCV_ISA_Zbs` | <<_zfinx_isa_extension,`Zfinx`>> | Floating-point instructions using integer registers | `RISCV_ISA_Zfinx` | <<_zifencei_isa_extension,`Zifencei`>> | Instruction stream synchronization instruction | Always enabled | <<_zicntr_isa_extension,`Zicntr`>> | Base counters extension | `RISCV_ISA_Zicntr` @@ -536,30 +539,16 @@ to maintain data cache coherency (e.g. by using the `fence` instruction). ==== `B` ISA Extension The `B` ISA extension adds instructions for bit-manipulation operations. -This ISA extension is implemented as multi-cycle ALU co-process (`rtl/core/neorv32_cpu_cp_bitmanip.vhd`). -The NEORV32 `B` ISA extension includes the following sub-extensions: +This ISA extension cannot be enabled by a specific generic. Instead, it is enabled if a specific set of +bit-manipulation sub-extensions are enabled. -* `Zba` - Address-generation instructions -* `Zbb` - Basic bit-manipulation instructions -* `Zbs` - Single-bit instructions +The `B` extension is shorthand for the following set of other extensions: -.Instructions and Timing -[cols="<2,<4,<3"] -[options="header", grid="rows"] -|======================= -| Class | Instructions | Execution cycles -| Arithmetic/logic | `min[u]` `max[u]` `sext.b` `sext.h` `andn` `orn` `xnor` `zext`(pack) `rev8` `orc.b` | 4 -| Shifts | `clz` `ctz` | 6 + 1..32; FAST_SHIFT: 4 -| Shifts | `cpop` | 6 + 32; FAST_SHIFT: 4 -| Shifts | `rol` `ror[i]` | 6 + _shift_amount_; FAST_SHIFT: 4 -| Shifted-add | `sh1add` `sh2add` `sh3add` | 4 -| Single-bit | `sbset[i]` `sbclr[i]` `sbinv[i]` `sbext[i]` | 4 -|======================= +* <<_zba_isa_extension>> - Address-generation / shifted-add instructions. +* <<_zbb_isa_extension>> - Basic bit manipulation instructions. +* <<_zbs_isa_extension>> - Single-bit operations. -.Shift Operations -[TIP] -Shift operations can be accelerated (at the cost of additional logic resources) by enabling the `FAST_SHIFT_EN` -configuration option that will replace the (time-variant) bit-serial shifter by a (time-constant) barrel shifter. +A processor configuration which implements `B` must implement all of the above extensions. ==== `C` ISA Extension @@ -802,6 +791,62 @@ Accessing any user-mode HPM CSR (`hpmcounter*[h]`) will raise an illegal instruc The event-driven increment of the HPMs can be deactivated individually via the <<_mcountinhibit>> CSR. +==== `Zba` ISA Extension + +The `Zba` sub-extension is part of the _RISC-V bit manipulation_ ISA specification (<<_b_isa_extension>>) +and adds shifted-add / address-generation instructions. It is enabled by the top's `RISCV_ISA_Zba` generic. +This ISA extension is implemented as multi-cycle ALU co-processor (`rtl/core/neorv32_cpu_cp_bitmanip.vhd`). + +.Instructions and Timing +[cols="<2,<4,<3"] +[options="header", grid="rows"] +|======================= +| Class | Instructions | Execution cycles +| Shifted-add | `sh1add` `sh2add` `sh3add` | 4 +|======================= + + +==== `Zbb` ISA Extension + +The `Zbb` sub-extension is part of the _RISC-V bit manipulation_ ISA specification (<<_b_isa_extension>>) +and adds the basic bit manipulation instructions. It is enabled by the top's `RISCV_ISA_Zbb` generic. +This ISA extension is implemented as multi-cycle ALU co-processor (`rtl/core/neorv32_cpu_cp_bitmanip.vhd`). + +.Instructions and Timing +[cols="<5,<4,<5"] +[options="header", grid="rows"] +|======================= +| Class | Instructions | Execution cycles +| Logic with negate | `andn` `orn` `xnor` | 4 +| Count leading/trailing zeros | `clz` `ctz` | 6 + 1..32; FAST_SHIFT: 4 +| Count population | `cpop` | 6 + 32; FAST_SHIFT: 4 +| Integer maximum/minimum | `min[u]` `max[u]` | 4 +| Sign/zero extension | `sext.b` `sext.h` `zext` | 4 +| Bitwise rotation | `rol` `ror[i]` | 6 + _shift_amount_; FAST_SHIFT: 4 +| OR-combine | `orc.b` | 4 +| Byte-reverse | `rev8` | 4 +|======================= + +.Shift Operations +[TIP] +Shift operations can be accelerated (at the cost of additional logic resources) by enabling the `FAST_SHIFT_EN` +configuration option that will replace the (time-variant) bit-serial shifter by a (time-constant) barrel shifter. + + +==== `Zbs` ISA Extension + +The `Zbs` sub-extension is part of the _RISC-V bit manipulation_ ISA specification (<<_b_isa_extension>>) +and adds single-bit operations. It is enabled by the top's `RISCV_ISA_Zbs` generic. +This ISA extension is implemented as multi-cycle ALU co-processor (`rtl/core/neorv32_cpu_cp_bitmanip.vhd`). + +.Instructions and Timing +[cols="<2,<4,<3"] +[options="header", grid="rows"] +|======================= +| Single-bit | `sbset[i]` `sbclr[i]` `sbinv[i]` `sbext[i]` | 4 +|======================= + + ==== `Zbkb` ISA Extension The `Zbkb` sub-extension is part of the _RISC-V scalar cryptography_ ISA specification and extends the _RISC-V bit manipulation_