Skip to content

QtRvSim version 0.9.9 release

Latest

Choose a tag to compare

@ppisa ppisa released this 29 Sep 08:19
v0.9.9
  • Machine/GUI: Not Most Recently Used cache policy by brsf11
  • Machine/GUI: lot of speedup optimizations by Jakub Dupak
  • Core: use QElapsedTimer for similar speedup by Jakub Dupak
  • GUI: Show core frequency by Jakub Dupak
  • Packaging: updated SUSE packaging based on consultation with Lubos Kocman
  • Assembler: correct %hi operator result for lower 12 bits values above 0x7ff
  • Predictor: always taken result fix by Stepan Pressl
  • Project: add riscv nix shells
  • GUI: Ignore updates on hidden registers and batch update when shown
  • GUI: Performance optimizations by Jakub Dupak
  • CLI: defer start of code (play) to be run from QCoreApplication main event loop
  • CLI: Implemented console option to dump the symbol table by Markus Gschoßmann
  • Project: replace libelf with libelfin by Jakub Dupak
  • GUI: fix zoom scaling issue by Adam Nemec
  • Machine: add supervisor CSRs and sstatus handling by Adam Nemec
  • Machine: add TLB with policies and add Sv32 by Adam Nemec
  • GUI: add TLB visualization and statistics dock by Adam Nemec
  • GUI: add "As CPU (VMA)" memory access view by Adam Nemec
  • Sv32 MMU Implementation by Adam Nemec
  • Branch predictor and L2 cache access cli configuratio by Thanasis Kyprianos
  • Docs: Initial version of the User Manual in simple MarkDown format by Filip Kraus
  • CI: Deploy user manual as github pages by Jakub Dupak
  • GUI: use AddressWithMode to prevent crashes in memory view
  • CLI: Add support for mapping stdin to a host file in syscall emulation by Naoya Niwa
  • Machine: add SV39 / 64-bit page-table walker and TLB support by Adam Nemec
  • Support for xv6 (MIT PDOS), S-mode CSR and more by Adam Nemec
  • Docs: add virtual memory (TLB) documentation by Adam Nemec
  • GUI: Separate GUI into a library by Jakub Dupak
  • Project: switch libelfin to cvut fork by Jakub Dupak
  • Machine: work on MMU, TLB, memory and modes logic to really work by Pavel Pisa
  • Machine: extend memory-backed to support large/64-bit memory
  • GUI: program view read and write access through TLB and cache synchronization
  • Machine: add Sv39 support of PBMT, uncached control by page table
  • feat: added webeval integration to submit and load tasks by Jakub Pelc
  • Machine: postpone CSR access fault to commit stage
  • GUI: adapt address HexLineEdit and address column in memory views to XLEN64
  • Machine: use CachePolicy for replacement computations in TLB
  • Machine: implement read and write access modifications by mstatus.MPRV
  • Packaging: switch to Qt6 as default, keep Qt5 for old distributions
  • Machine: set UXL in sstatus to 2 for RV64 ISA variant
  • CI: Use temporary GitHub mirror for stud-support tests (stopgap)
  • Debuginfo integration to integrated assembler and ELF up-to Dwarf-4 by Jakub Dupak
  • Project: move generated project_info.h to the project build directory
  • GUI: fix "#pragma qtrvsim tab core" function
  • GUI: delay printer and print dialog initialization by Jakub Dupak
  • Machine: Deliver exception cause as argument to stop_on_exception_reached()
  • example: page-to-page-copy.S example to demostrate MMU function added by Petr Stepan

For Ubuntu use https://launchpad.net/~qtrvsimteam/+archive/ubuntu/ppa
For SUSE, Fedora and Debian https://software.opensuse.org/download.html?project=home%3Ajdupak&package=qtrvsim
For Arch https://aur.archlinux.org/pkgbase/qtrvsim
WebAssembly online version https://comparch.edu.cvut.cz/qtrvsim/app

QtRvSim articles, presentations, and their recordings, as well as more about Computer Architectures courses at the Czech Technical University in Prague, are presented at https://comparch.edu.cvut.cz/

The educational VHDL RISC-V core modeled according to the QtRvSim (single-cycle and 5-stage pipeline) has been designed by Damir Gruncl for the CTU FEE Advanced Computer Architectures course (RVapo VHDL sources and tested in GHDL simulations, on Xilinx Zynq and iCE-40 FPGA targets. On the Zynq target, it runs as a PMSM motor control coprocessor to perform inverse and forward Clarke and Park transformations and other low-level control (top level project). See the complete list of the OTREES CTU theses for more related topics.
The last addition is GHDL build with GDB stub for source-level debugging by Jakub Jurcik.

The online training site for QtRvSim processed assembly and C tasks evaluation has been prepared and integrated into QtRvSim by Jakub Pelc https://comparch.edu.cvut.cz/online-tools/webeval/

Our basic computer architectures lecture source modular LaTeX repository https://github.com/cvut/comparch-slides

QtRvSim news, mainly Sv32 and Sv39, and MIT PDOS XV6 running (slowly and slightly modified for QtRvSim) will be presented at LinuxDays 2026 https://www.linuxdays.cz/2026/ on October 4 by Petr Stepan, followed by RVapo GDB talk by Jakub Jurcik.

We will be present at the openSUSE booth at Open Source Summit in Prague from October 7 to October 9. Big thanks for sponsoring the booth presenting openSUSE cooperation with the Czech Technical University in Prague belong to the SUSE.com company, as well as for their support of openSUSE Build Service https://build.opensuse.org/ , which allowed us to start QtRvSim packaging for a broad range of Linux distributions in the past and motivates us to prepare it for SUSE and openSUSE as well. The QtRvSim will be presented on these two actions, running on a Milk-V Pioneer 64-core RISC-V system with an openSUSE Tumbleweed installation. We will present other RISC-V hardware, as well as our CAN bus, industrial control projects, and educational projects, e.g., pysimCoder.