What's Changed
Documentation Changes
- Added mcause as hardened CSR for Xsecure by @Silabs-ArjanB in #438
- Updated achk signal to account for mid signal by @Silabs-ArjanB in #440
- Version 2 RTD configuration file by @MikeOpenHWGroup in #476
- Corrected simulation trace documentation by @silabs-oysteink in #492
- Updated cycle counts in user manual (merge from cv32e40x) by @silabs-oysteink in #497
- Updated cycle count for CSR instructions accessing mstateen0. by @silabs-oysteink in #510
- Merge from c32e40x by @silabs-oysteink in #518
RTL Changes
- Fix for issue #116 by @silabs-oysteink in #437
- Merge from CV32E40X by @silabs-oysteink in #439
- Added usage of csr_next_value for cpuctrl and mstateen0. by @silabs-oysteink in #441
- Small update according to issue #458 on cv32e40x. by @silabs-oysteink in #442
- Removed unused code related to privilege level of CLIC pointer fetche… by @silabs-oysteink in #443
- Removed 'todo' and added comments to explain code better. by @silabs-oysteink in #444
- Removed todo in controller related to dummies and forward progress. by @silabs-oysteink in #445
- Removed 'priv_lvl_i' from MPU and using privilege level encoded in pr… by @silabs-oysteink in #446
- Removed no longer relevant todo in pkg file. by @silabs-oysteink in #447
- Merge from CV32E40X by @silabs-oysteink in #448
- Merge from CV32E40X by @silabs-oysteink in #449
- Removed support for core-v-xif. by @silabs-oysteink in #451
- Fix for issue #596 on cv32e40x. by @silabs-oysteink in #452
- Merge from cv32e40x by @silabs-oivind in #454
- Merge from CV32E40X by @silabs-oysteink in #455
- Fix for issue #456 by @silabs-oysteink in #457
- Merge from CV32E40X by @silabs-oysteink in #458
- Removed cv32e40s_align_check by @silabs-oysteink in #460
- Update achk according to spec by @silabs-oivind in #461
- Merge from CV32E40X by @silabs-oysteink in #463
- Merge from CV32E40X by @silabs-oysteink in #465
- Merge from CV32E40X by @silabs-oysteink in #470
- E40x merge by @silabs-oivind in #471
- Cv32e40x merge by @silabs-oivind in #472
- Fix for issue #473. by @silabs-oysteink in #474
- Lint fixes by @silabs-oivind in #475
- Merge from CV32E40X by @silabs-oysteink in #477
- Merge from CV32E40X by @silabs-oysteink in #478
- Merge from CV32E40X by @silabs-oysteink in #479
- Merge from cv32e40x by @silabs-oysteink in #481
- Merge from cv32e40x by @silabs-oysteink in #482
- Merge from cv32e40x by @silabs-oysteink in #483
- Merge from CV32E40X by @silabs-oysteink in #485
- Merge from CV32E40X by @silabs-oysteink in #486
- Merge from CV32E40X by @silabs-oysteink in #488
- Merge from CV32E40X by @silabs-oysteink in #489
- Merge from CV32E40X by @silabs-oysteink in #491
- Removed todo about stretching PC checks by @silabs-oysteink in #495
- Merge from e40x by @silabs-oivind in #493
- Parameterize user mode features by @silabs-halfdan in #496
- Fixed issue #499. Moved definition of PRIV_LVL_LOWEST to after the li… by @silabs-oysteink in #500
- Parameterized SECURE features by @silabs-halfdan in #498
- Misc todo fixes by @silabs-oivind in #504
- IF stage todo removal by @silabs-oysteink in #505
- Removed double check of !csr_flush_ack_q. by @silabs-oysteink in #507
- Flushing pipeline on writes to mstateen0. by @silabs-oysteink in #509
- Merge from CV32E40X by @silabs-oysteink in #512
- Parametrized detection of implicit CSR reads in the ID stage. by @silabs-oysteink in #513
- Merge from cv32e40x by @silabs-oysteink in #515
- Merge from CV32E40X by @silabs-oysteink in #516
Documentation Changes inherited from CV32E40X
- Removed references to no longer existing tcontrol and tdata3 CSRs by @Silabs-ArjanB in openhwgroup/cv32e40x#839
- Updated OBI to version v1.6.0 by @Silabs-ArjanB in openhwgroup/cv32e40x#838
- Fix Typo - "minsttatus" by @silabs-robin in openhwgroup/cv32e40x#854
- Updated to version 0.9-draft, 6/6/2023 of CLIC specification by @Silabs-ArjanB in openhwgroup/cv32e40x#870
- Changed Debug version to 1.0-STABLE, f4ac44e0d5f6993562bc6826d01ef5fe… by @Silabs-ArjanB in openhwgroup/cv32e40x#871
- Removed parameter CLIC_INTTHRESHBITS from the user manual. by @silabs-oysteink in openhwgroup/cv32e40x#873
- Version 2 RTD configuration file by @MikeOpenHWGroup in openhwgroup/cv32e40x#880
- Updated RISC-V debug spec to version of June 23 2023 by @Silabs-ArjanB in openhwgroup/cv32e40x#913
- Added statement that wu_wfe_i is positive level sensitive by @Silabs-ArjanB in openhwgroup/cv32e40x#914
- Updated RISC-V CLIC version to 8/1/2023 version by @Silabs-ArjanB in openhwgroup/cv32e40x#915
- Fix for issue #881 by @silabs-oysteink in openhwgroup/cv32e40x#920
- Updated description of tdata2 view for trigger type 5 by @silabs-oysteink in openhwgroup/cv32e40x#924
- Corrected simulation trace documentation by @silabs-oivind in openhwgroup/cv32e40x#936
- Updated cycle counts in the pipeline chapter. by @silabs-oysteink in openhwgroup/cv32e40x#942
- Added missing signals to rvfi_mem documentation. by @silabs-oysteink in openhwgroup/cv32e40x#948
- Updated description of rvfi_mem_rdata, rvfi_mem_exokay, rvfi_mem_memt… by @silabs-oysteink in openhwgroup/cv32e40x#954
- Fix for issue #586 by @silabs-oysteink in openhwgroup/cv32e40x#955
- Updated debug spec version to 1.0-STABLE as of September 11th 2023. by @silabs-oysteink in openhwgroup/cv32e40x#956
- Updated list of unused OBI signals for instruction and data OBI. by @silabs-oysteink in openhwgroup/cv32e40x#960
- Updated CLIC spec to version 0.9-draft 9/1/2023. by @silabs-oysteink in openhwgroup/cv32e40x#962
- Listing all added RVFI signals in then RVFI chapter of the user manual. by @silabs-oysteink in openhwgroup/cv32e40x#966
- Updated debug spec version to 1.0-STABLE as of october 12th 2023. by @silabs-oysteink in openhwgroup/cv32e40x#970
- Updated privilege spec to 20211203. by @silabs-oysteink in openhwgroup/cv32e40x#971
RTL Changes inherited from CV32E40X
- Added usage of 'csr_next_value' function for almost all CSRs. by @silabs-oysteink in openhwgroup/cv32e40x#836
- Removed two TODO's related to wb_valid. by @silabs-oysteink in openhwgroup/cv32e40x#842
- Removed two no longer relevant TODO's in id_stage. by @silabs-oysteink in openhwgroup/cv32e40x#843
- Removed todo in prefetcher, updated comment. by @silabs-oysteink in openhwgroup/cv32e40x#844
- Signal rename and comment clean-up by @Silabs-ArjanB in openhwgroup/cv32e40x#846
- Signal rename by @Silabs-ArjanB in openhwgroup/cv32e40x#847
- Fix for issue #546 by @silabs-oysteink in openhwgroup/cv32e40x#848
- Dead code removal by @Silabs-ArjanB in openhwgroup/cv32e40x#850
- Lint fixes by @silabs-oivind in openhwgroup/cv32e40x#852
- Uniquify modules by @silabs-oivind in openhwgroup/cv32e40x#855
- Refactored tdata1_n logic by @silabs-oysteink in openhwgroup/cv32e40x#856
- Updates due to updated debug spec by @silabs-oysteink in openhwgroup/cv32e40x#858
- Update to latest CLIC spec (Version 0.9-draft, 4/11/2023) by @silabs-oysteink in openhwgroup/cv32e40x#859
- Added RVFI visibility of HW writes to mcontrol6 by @silabs-oysteink in openhwgroup/cv32e40x#861
- Fix for issue #808. by @silabs-oysteink in openhwgroup/cv32e40x#864
- Fixed issue where branch_addr_n would be miscalculated for a CLIC SHV… by @silabs-oysteink in openhwgroup/cv32e40x#865
- Removed parameter CLIC_INTTHRESHBITS by @silabs-oysteink in openhwgroup/cv32e40x#872
- Dret to lower privilege mode no longer clears mintthresh. by @silabs-oysteink in openhwgroup/cv32e40x#874
- Lint cleanup by @silabs-oivind in openhwgroup/cv32e40x#875
- Lint cleanup by @silabs-oivind in openhwgroup/cv32e40x#878
- Removed four no longer relevant TODO's. by @silabs-oysteink in openhwgroup/cv32e40x#883
- Fix for issue #884. by @silabs-oysteink in openhwgroup/cv32e40x#886
- Lint fix for issue #884 by @silabs-oysteink in openhwgroup/cv32e40x#887
- Todo removal: Bus errors in LSU by @silabs-oysteink in openhwgroup/cv32e40x#888
- Removed todo in i_decoder and added comments for each use of ctrl_fsm… by @silabs-oysteink in openhwgroup/cv32e40x#897
- Removed two todos in controller_fsm. by @silabs-oysteink in openhwgroup/cv32e40x#900
- Removed todo in clic_int_controller. by @silabs-oysteink in openhwgroup/cv32e40x#898
- Removed todo about local vs flopped intsr_valid within the bypass mod… by @silabs-oysteink in openhwgroup/cv32e40x#899
- Removed todo's in EX stage. by @silabs-oysteink in openhwgroup/cv32e40x#901
- Added a separate 'modified_access_i' to the MPU and PMA and refactore… by @silabs-oysteink in openhwgroup/cv32e40x#905
- Removed three TODO's in the pkg file. by @silabs-oysteink in openhwgroup/cv32e40x#906
- Removed TODO in ID stage. Path mentioned in TODO cannot be found, lik… by @silabs-oysteink in openhwgroup/cv32e40x#907
- Removed two todo's in the sequencer. by @silabs-oysteink in openhwgroup/cv32e40x#908
- Removed todo in MPU by @silabs-oysteink in openhwgroup/cv32e40x#903
- Removed two todo's in the controller FSM. by @silabs-oysteink in openhwgroup/cv32e40x#909
- Fixed unconnected input to MPU in IF stage. by @silabs-oysteink in openhwgroup/cv32e40x#910
- Fixed todo's related to mul_en/div_en i EX stage by @silabs-oysteink in openhwgroup/cv32e40x#902
- Optimized CSR stalls by @silabs-oysteink in openhwgroup/cv32e40x#917
- Removed todo about interrupt controller suffix. by @silabs-oysteink in openhwgroup/cv32e40x#921
- Fixed mask for tdata2 to only include exception codes 4 and 6 when A_EXT != A_NONE. by @silabs-oysteink in openhwgroup/cv32e40x#923
- Fix todo in assertion a_valid_jump. by @silabs-oivind in openhwgroup/cv32e40x#927
- Updates for CLIC spec (august 23) by @silabs-oysteink in openhwgroup/cv32e40x#928
- Removed dependency on mcause.mpp when checking if an mret will genera… by @silabs-oysteink in openhwgroup/cv32e40x#935
- Controller_fsm cleanup and asserts by @silabs-oysteink in openhwgroup/cv32e40x#937
- Fix TODO in RTL. Updated use of priv-lvl signals to match cv32e40s by @silabs-oivind in openhwgroup/cv32e40x#938
- Fixes after running SEC vs cv32e40s with SECURE=0. by @silabs-oysteink in openhwgroup/cv32e40x#952
- Introduced type for lsu_err_wb by @silabs-oysteink in openhwgroup/cv32e40x#958
- Fixed undriven signals by @silabs-oysteink in openhwgroup/cv32e40x#961
- Sequencer clock gate optimization by @silabs-oysteink in openhwgroup/cv32e40x#963
- Mul/div update for kill by @silabs-oysteink in openhwgroup/cv32e40x#965
- Misc cleanup of unused signals. by @silabs-oysteink in openhwgroup/cv32e40x#967
- Lint fixes. Don't use logical operators on multi-bit signals by @silabs-oivind in openhwgroup/cv32e40x#968
Full Changelog: 0.9.0...0.10.0