Commit Graph

14 Commits

Author SHA1 Message Date
Alexandre Joannou
b5b2b4fe5c Port AXI4 changes from Flute 2020-03-27 16:45:26 +00:00
Jonathan Woodruff
3a79b022ea Merge branch 'master' into RVFI_DII, a complex merge for the fetch stage! 2020-03-18 11:35:59 +00:00
Jonathan Woodruff
3eccf92544 Move to 8 MiB RVFI-DII memory. 2020-03-11 11:53:19 +00:00
rsnikhil
0ac138b08f UART_Model.bsv fixes for better support of 32b/64b fabrics and 4-byte/8-byte address strides 2020-03-05 09:33:58 -05:00
rsnikhil
83829590dd Fixed up logic for "Non-Debug-Module reset" request/response from the Debug Module
Now able to run multiple ISA tests in a single simulation run
connected to remote debugger DSharp, using either hart_reset or
ndm_reset between tests to bring the system back into reset state.
All Debug Module commands working:
 - dm_reset, hart_reset, ndm_reset
 - break    (set breakpoint)
 - step
 - continue (until breakpoint of 'halt' command)
 - halt
 - read/write GPR, FPR, CSR, memory
 - elf_load
2020-02-04 16:02:53 -05:00
rsnikhil
4960a59da0 Fixes for GDB control: can run consecutive tests in single simulation, without intermediate reset.
After a test, GDB can write DCSR to restore to Machine privilege,
write to PC (DPC) to restore boot value,
write MSTATUS to restore to initial value,
then can load and run next test.
2020-01-30 22:46:51 -05:00
Jonathan Woodruff
82ba66b15e Changes to support vectored RVFI_DII bridge directly, which enables us to successfully run memory tests with traps. 2019-12-09 16:34:27 +00:00
Jonathan Woodruff
96d092c300 Changes that enable RVFI_DII to run.
It doesn't yet pass any set of tests, but tests do run and reduce.
2019-11-26 10:46:56 +00:00
rsnikhil
666dd2ad92 Small tweak to remove unnecessary explicit boot rom addrs (subsumed by IO) 2019-04-22 15:12:30 -04:00
rsnikhil
e7fbf32b38 Bugfix in MMIOPlatform.bsv for instruction-fetch from IO addrs
Detail: an "instruction-fetch" response from mmioplatform to core
should be an "InstFetch". This was true for successful fabric reads,
but on error responses it was wrongly returned as a "DataAccess"
response.  This was causing a deadlock.
2019-04-17 15:29:10 -04:00
rsnikhil
f369ed14e3 Small fixes to allow booting from any IO address, including Flash, not just Boot ROM
Regression status: RV64ADFIMSU_Toooba_verilator  204/229 PASS
      (22 expected floating-point failures due to inaccurate modeling)

  Modified
    src_Core/RISCY_OOO/procs/lib/MMIOInst.bsv
        Renamed 'BootRom' to 'IODevice'
        Imported and instantiated SoC_Map
        changed method getFetchTarget to use soc_map.is_IO_addr (phyPC)
        to classify as IODevice

    src_Core/RISCY_OOO/procs/RV64G_OOO/FetchStage.bsv
        Changed 'BootRom' constant to 'IODevice' constant (just a renaming)

    src_Testbench/SoC/SoC_Map.bsv
        Changed boot rom classification from 'mem' to 'IO device'
2019-04-10 15:36:20 -04:00
rsnikhil
4e305ac98d Updated so SoC addrs are taken from SoC_Map.bsv 2019-04-01 14:34:49 -04:00
rsnikhil
113f888d37 Added support for 'debug_external_interrupt_req'
New method 'debug_external_interrupt_req' to support emulation of a
debug module starts at P3_Core interface and is plumbed all the way in
to the CSR register MIP as interrupt [14].  The corresponding MIE[14]
is always 1, so it is never masked. Still todo: should not be masked
by MSTATUS interrupt-enables either.  Also expanded
interrupt-detection logic, mcause etc. to extend up to interrupt 14.

Builds in standalone mode, runs ISA tests.

Builds in src_SSITH_P3, generating RTL.
2019-04-01 12:26:54 -04:00
rsnikhil
ee24a93944 Initial load of files 2019-03-26 14:49:40 -04:00