Cycle-accurate pre-silicon simulator of RISC-V and MIPS CPUs
Adoption of C++20 for cleaner code:
Bug fixes
Convergence with mainline RISC-V opcodes
Testing infrastructure upgrades
External bugs reported
RISC-V bit manipulation instructions
bcli
by Vasilii Matrenin
bclr
by Andrey Vyazovtsev
bset
by Ivan Panferov
bseti
by Kirill Radkin
orc.b
by Michael Bargatin
sext.b
by Alexey Otrashchenko
gorci
.Testing infrastructure upgrades
Extracted Flowchart visualizer to a separate repository: https://github.com/MIPT-ILab/PipelineFlowchartVis
Pipeline Visualization Tool by BSUIR students Alex Kulsha and Andrei Karpyza under Anton Lechanka supervising.
RISC-V bit manipulation instructions
ror
by Vladimir Graudt
gorci
by Alexey Shcherbakov
max
and maxu
by Anton Okley
rori
by Egor Titov
sbinv
by Eugene Naydanov
shfl
by Mihail Fedorov
min
and minu
by Vasilii Zaitsev
sloi
and sroi
by Ravil Zakiryanov
packu
by Ivan Burtakov
Performance Simulation
Bug fixes
bfp
instruction fixed according to 0.92 specification.Testing infrastructure upgrades
Switched to Github Actions from Travis CI
External PRs
99.99% test coverage!
Functional simulation
.bss
Elf sections by Pavel Kryukov
Performance simulation
RISC-V
Testing infrastructure upgrades
External PRs
RISC-V bit manipulation instructions
bfp
by Kirill Chemrov
clmul
by Yaroslav Okatev
clz
and ctz
by Alexandr Vinogradov
grev
by Airat Nazmiev
gorc
by Roman Zlobin
orn
by Igor Bulatov
pack
by Daniel Kofanov
pcnt
by Nikolay Zernov
rol
by Nikita Gorbachev
sbext
by Vladimir Prokhorov
slo
by Eric Konks
sro
by Maxim Davydov
unshfl
by Yuly Tarasov and Pavel Kryukov
xnor
by Ilya Burtakov
Performance simulation
Tools
Testing infrastructure upgrades
New Manuals
External PRs
99% test coverage!
RISC-V
System simulation updates by Pavel Kryukov
Cache modeling
Outputs
External PRs
98% test coverage!
RISC-V
System simulation
Branch prediction
Cache improvements by Andrey Agrachev
Execution pipeline improvement by Egor Bova
MIPS
dadd
and daddu
as MIPS III instructionsComplete refactoring of port system by Pavel Kryukov
New manuals
External PRs:
MIPS
Branch prediction
Quality assurance
Code quality
New manuals:
External PRs:
Micro-architectural precision:
mthi
instruction by Denis Los
Quality assurance:
Bug fixes:
Integration of portable libraries:
New manuals:
External PRs:
Micro-architectural precision:
Support of more MIPS instructions:
mult
, multu
, div
, divu
, mfhi
, mflo
, mthi
, mtlo
by Pavel Kryukov
mul
by Pavel Kryukov
madd
, maddu
, msub
, msubu
lwl
, lwr
, swl
, swr
ll
, sc
MIPS64 infrastructure and experimental implementation of instructions by Kirill Nedostoev, Alexander Timofeev, and Pavel Kryukov
dadd
, daddiu
, daddu
, dsub
, dsubu
dsll
, dsll32
, dsra
, dsra32
, dsrl
, dsrl32
dsllv
, dsrav
, dsrlv
ld
, lwu
, sd
, lld
, scd
ddiv
, ddivu
, dmult
, dmultu
dclo
, dclz
RISC-V preparations by Aleksandr Misevich:
Quality Assurance:
Simulation speed improvements:
New manuals:
External PRs: