Skip to content

Releases: stnolting/neorv32

v1.7.0

08 Apr 15:38
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.6.9...v1.7.0

v1.6.9

09 Mar 05:00
Compare
Choose a tag to compare

What's Changed

ℹ️ See CHANGELOG.md for more details.

New Contributors

Full Changelog: v1.6.8...v1.6.9

v1.6.8

17 Feb 13:27
Compare
Choose a tag to compare

What's Changed

  • ✨[Zxcfu ISA ext.] add option to implement custom RISC-V instructions by @stnolting in #264
  • 🐛 [sw] fixed bug in bootloader's (M)TIME handling by @stnolting in #267
  • 🧪 Using LTO (link-time-optimization) for bootloader + console improvements by @stnolting in #268
  • [docs/datasheet] rework & update NEORV32 runtime environment (RTE) section by @stnolting in #272
  • [rtl] add err_o signal to IMEM modules by @stnolting in #273
  • ✨ [rtl] on-chip debugger: add RISC-V trigger module for hardware breakpoints by @stnolting in #274
  • [sw] add support for newlib's system calls by @stnolting in #275
  • ⚠️ replace SYSINFO.CPU memory-mapped register by custom "mxisa" CSR by @stnolting in #276
  • [OCD] stop CPU counters during debugging by @stnolting in #277
  • Add newlib example program and documentation by @stnolting in #278

Full Changelog: v1.6.7...v1.6.8

v1.6.7

28 Jan 11:30
Compare
Choose a tag to compare

What's Changed

  • [setups] move to repo neorv32-setups by @umarcor in #254
  • [rtl/core] rework CPU issue engine (area optimization) by @stnolting in #256
  • [DOC] User Guide - 1.3. Installation by @befedo in #258
  • [B ISA extension] add single-bit instructions (Zbs) support by @stnolting in #259
  • [B ISA extension] add carry-less multiply instructions (Zbc) support by @stnolting in #260
  • [CFS] add demo program by @stnolting in #261
  • [rtl/core] add 4 additional CPU CP slots; fix bugs in CP arbitration logic by @stnolting in #262
  • [sw] rework intrinsics (e.g. for custom instructions) by @stnolting in #263

New Contributors

Full Changelog: v1.6.6...v1.6.7
Project Changelog: CHANGELOG.md

v1.6.6

17 Jan 03:51
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.6.5...v1.6.6

v1.6.5

16 Dec 17:08
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.6.4...v1.6.5

nightly

23 May 06:42
8fc1795
Compare
Choose a tag to compare
nightly Pre-release
Pre-release

🚀 Up-to-date automatic builds of the documentation and project source packaging (see the assets).

  • NEORV32-nightly.pdf - Data Sheet, also available online
  • NEORV32_UserGuide-nightly.pdf - User Guide, also available online

v1.6.4

26 Nov 05:35
Compare
Choose a tag to compare

DOI

Bug Fixes

  • fixed bug in WISHBONE interface: pipelined Wishbone mode did not clear STB after first transfer cycle
  • on-chip debugger: reworked JTAG signal input/output synchronization logic (#216) - JTAG signals were not correctly sampled at the right rising/falling clock edges

Updates and New Features

  • reworked TRNG (#212)
  • ⚠️ removed WI_CTRL_CKSTEN flag (enable clock stretching) from control registers, clock-stretching is now always enabled
  • major control unit and AKU logic optimizations; 🔒 closed further illegal instruction encoding holes (system environment instructions, ALU and ALU-immediate instructions, FENCE instructions) (#204)
  • ⚠️ reworked IRQ trigger logic of SPI, TWI, UART0, UART1, NELOED and SLINK; FIRQs now only trigger once when the programmed interrupt condition is met instead of triggering all the time (#202)
  • added new peripheral module - General Purpose 32-bit Timer GPTMR (#195)

What's Changed

New Contributors

Full Changelog: v1.6.3...v1.6.4

v1.6.3

02 Nov 09:31
Compare
Choose a tag to compare

DOI

Bug Fixes

  • fixed bug in *_reduce_f VHDL functions (#186)
  • fixed imprecise illegal instructions exception (ALU-class operations); mepc and mtval did not present the correct exception-causing data

Updates and New Features

  • ⚠️ removed CPU_EXTENSION_RISCV_Zbb, added CPU_EXTENSION_RISCV_B generic (#190)
    • all currently supported bit-manipulation sub-extensions are enabled/disabled by the CPU_EXTENSION_RISCV_B generic
    • added support of Zba (address computation instructions) bit-manipulation sub-extension
  • added generics to explicitly enable Zicntr and Zihpm extensions (#192)
    • CPU_EXTENSION_RISCV_Zicntr, true by default, implements basic CPU counter CSRs ([m]time, [m]cycle[h], [m]instret[h])
    • CPU_EXTENSION_RISCV_Zihpm, false by default, implements hardware performance monitor CSRs
  • added memory-mapped register to BUSKEEPER to identify precise cause of bus access exceptions (#191)
  • bootloader now uses physical memory configuration (from SYSINFO) module to setup stack pointer
  • added option to configure clock polarity and clock phase of SPI module (#185)
  • minor logic optimizations (reducing area footprint and shortening critical path) and code clean-ups

What's Changed

Closed Issues

  • #140 Usage of Logic Elements almost double when synthesizing for Max 10
  • #145 Radiant setup fails to build with Radiant 2.2.1.239.2
  • #169 SDRAM controller for the ULX3S
  • #181 neorv32/docs/userguide/content.adoc en dash / em dash

New Contributors

Full Changelog: v1.6.2...v1.6.3

v1.6.2

17 Oct 07:17
Compare
Choose a tag to compare

DOI

This list shows the main core changes since the last release. See the project's changelog for more information.

🐛 Bug Fixes

  • fixed signal and generic propagation in rtl/system_integration and setups/radiant/UPduino_v3

💡 Updates and New Features

  • ⚠️ changes handling of software makefile's MARCH and MABI variables (see #184): omitting -march and -mabi flags for these variables
  • ⚠️ reworked fast interrupt request (FIRQ) CPU system: FIRQs are now high-level-triggered and have to stay asserted until explicitly acknowledged (see #176)
  • ⚠️ removed mstatus.TW (timeout wait) CSR bit: wfi instruction is now always allowed to execute in less-privileged modes
  • ⚠️ removed sleep_i signal of custom functions subsystem (CFS)
  • 🔒 CPU now ensures that all illegal instructions do not commit any potential architecture state changes
  • on-chip debugger: wfi now executes as nop when in debug-mode (also during single-stepping)
  • NEOLED: added new control register bit to configure interrupt condition
  • SLINK: added fine-grained per-link interrupt configuration (see #182)
  • UART0, UART1: added optional and configurable RX and TX FIFOs, added fine-grained IRQ configuration (see #183)
  • CPU logic, timing and area optimizations

✔️ Pull Requests and Issues

Merged pull requests:

  • #170 🐛 [rtl/system_integration] fix uart1 rx/tx signals
  • #173 Add argument to makefile to simplify Continuous Integration flow
  • #174 [setups/vivado] Mention the XHub Stores menu item for installing board support
  • #175 [setups/vivado] Fix fileset paths
  • #176 [rtl/core] make FIRQs level-triggered
  • #177 [docs/datasheet] Fix neoled register bits documentation
  • #178 [rtl/system_integration] add NEOLED FIFO depth generic to AXI4 wrapper
  • #180 [docs/datasheet] fix neoled register table formatting
  • #182 [SLINK] add fine-grained IRQ configuration
  • #183 [UARTs] add RX & TX FIFOs
  • #184 ⚠️ [makefile] modify handling of MARCH and MABI variables

Closed issues:

  • #171 Make Check Fails (riscv32-unknown-elf-gcc is not found)
  • #181 neorv32/docs/userguide/content.adoc en dash / em dash