Skip to content

Commit e3dde60

Browse files
authored
Fix for issue #782 (#783)
2 parents 8e52234 + 036c578 commit e3dde60

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ mimpid = 0x01040312 -> Version 01.04.03.12 -> v1.4.3.12
3030

3131
| Date | Version | Comment | Link |
3232
|:----:|:-------:|:--------|:----:|
33+
| 31.01.2024 | 1.9.3.10 | close illegal compressed instruction decoding loophole | [#783](https://github.com/stnolting/neorv32/pull/783) |
3334
| 29.01.2024 | 1.9.3.9 | :test_tube: extend switchable clock domain (CPU bus switch, i-cache, d-cache) | [#780](https://github.com/stnolting/neorv32/pull/780) |
3435
| 29.01.2024 | 1.9.3.8 | top entity input ports now have default values `'L'` or `'h'` modeling a pull-down or pull-resistor in case they are not explicitly assigned during instantiation | [#779](https://github.com/stnolting/neorv32/pull/779) |
3536
| 28.01.2024 | 1.9.3.7 | FIFO module _NULL assertion_ fix | [#778](https://github.com/stnolting/neorv32/pull/778) |

rtl/core/neorv32_cpu_decompressor.vhd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,9 @@ begin
317317
decoded(instr_funct3_msb_c downto instr_funct3_lsb_c) <= funct3_and_c;
318318
decoded(instr_funct7_msb_c downto instr_funct7_lsb_c) <= "0000000";
319319
end case;
320+
if (ci_instr16_i(12) = '1') then -- reserved instruction space.
321+
illegal <= '1';
322+
end if;
320323
end case;
321324

322325
end case;

rtl/core/neorv32_package.vhd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ package neorv32_package is
5656

5757
-- Architecture Constants -----------------------------------------------------------------
5858
-- -------------------------------------------------------------------------------------------
59-
constant hw_version_c : std_ulogic_vector(31 downto 0) := x"01090309"; -- hardware version
59+
constant hw_version_c : std_ulogic_vector(31 downto 0) := x"01090310"; -- hardware version
6060
constant archid_c : natural := 19; -- official RISC-V architecture ID
6161
constant XLEN : natural := 32; -- native data path width
6262

0 commit comments

Comments
 (0)