Commit Graph

25 Commits

Author SHA1 Message Date
Màrius Montón 1777a3bc9a code clean-up (using clang-tidy) 2021-04-26 00:20:29 +02:00
Màrius Montón 3b3813bd07 code clean-up (using clang-tidy) 2021-04-25 19:52:12 +02:00
mariusmonton a48e552926 some methods now are const, reference class parameters, other minor changes 2021-01-23 11:44:10 +01:00
mariusmonton f7dbf106cc trivial changes to increase performance 2021-01-15 09:09:52 +01:00
mariusmonton 1d271cbb0a explicit sc_core::wait, typos and newline 2020-07-19 11:18:58 +02:00
mariusmonton abf47625a1 change fixed array for CSR to unordered map 2020-06-21 00:29:45 +02:00
Màrius Montón 5ee634e4b4 Major refactoring!
* A_Instruction, C_Instruction and M_Instruction renamed to *_extension
  * These files decode and executes extensions
  * These classes use a new base clase extension_base
* Execute & Instruction classes heavyly modified:
  * Execute now is BASE_ISA and decodes and executes base ISA, Zicsr & Zifencei
  * Instruction keeps the instruction being executed, nothing else
* Add memory interface to ISS to clear the code and the structure
* Removed "using namespace " directives, all classes are called using their namespace
* Added proper header to each file
* Added license to all files
2020-06-02 13:08:38 +02:00
mariusmonton 5d30416955 Fixed some warnings from coverity 2020-04-10 16:43:22 +02:00
mariusmonton e75a4bfdfd add missing CSR register MCYcLE and similars 2019-09-13 00:00:59 +02:00
mariusmonton a87743b92d minor changes 2019-02-11 15:54:13 +01:00
mariusmonton 4c89c48fb0 removed SP init, moved to CPU module 2019-01-22 18:30:09 +01:00
mariusmonton 9a7e7abeb0 Better logs
Fixed some bugs
2019-01-01 21:11:34 +01:00
mariusmonton 5c905cb5ca better MISA CSR register support 2018-12-12 18:15:44 +01:00
mariusmonton 1b93e7f569 added time management and cycle counters 2018-11-25 12:07:08 +01:00
mariusmonton 81f61c52fc fixed dump function! 2018-11-25 12:05:09 +01:00
mariusmonton 6726b59c3c bug on SLLI 2018-11-22 12:39:16 +01:00
mariusmonton 0cd34f9f3b fixed CSRRS and CSRRC bug 2018-11-22 12:08:16 +01:00
mariusmonton 598699cd54 more bug fixes, still get j zero in func3 test example 2018-10-17 17:42:43 +02:00
mariusmonton 5ae765b304 Proper initialization of sp register 2018-10-15 17:32:37 +02:00
mariusmonton aa526943b9 Added instructions to pass riscv-tests 2018-10-15 13:51:41 +02:00
mariusmonton dcd3a8c3fe better log output 2018-09-21 09:25:27 +02:00
mariusmonton 981b84a5eb Better register dump 2018-09-20 15:29:22 +02:00
mariusmonton 8e8418e3e2 Better logging output 2018-09-20 12:21:15 +02:00
mariusmonton 8dcbf09589 Lot of changes:
* memory module parses 03 field and sets Program Counter (PC) to right value
* almost all RV32I instructions implemented
* added Trace module to mimic ARM ITM module
* added BusCtrl module as bus controler (very simple) to allow CPU & RISC_V_execute to access memory & peripherals
* lot of minor changes
2018-09-19 23:44:38 +02:00
mariusmonton 35e688837a initial import 2018-09-10 18:44:54 +02:00