Commit Graph

84 Commits

Author SHA1 Message Date
Peter Rugg
f800cdeb77 Prevent spurious warnings 2021-01-30 15:21:38 +00:00
jon
259d34618c A design that actually passes one performance monitor trace from
TestRig.  The example counted redirections, which happend to match
between Flute and Toooba for this example.
2020-12-01 18:02:11 +00:00
Jessica Clarke
eeb6c91b9d Don't use -D_GLIBCXX_USE_CXX11_ABI=0 for bluesim builds
Same problem as Piccolo/Flute, and this was a terrible workaround on
Bluespec's part.
2020-07-12 21:32:29 +01:00
Jessica Clarke
c66d0183b5 Fix missing serv_socket_init at run time for bluesim RVFI-DII build 2020-07-12 21:28:46 +01:00
Peter Rugg
627c60b4e3 Don't generate .depends.mk if bluespec doesn't parse 2020-07-09 15:21:19 +01:00
Jessica Clarke
17ed2dfde8 Revert CACHE_SIZE back to LARGE
The default was erroneously changed, causing P3 builds to have smaller
caches, so switch it back. The RVFI-DII builds override this with a TEST
configuration anyway now.
2020-07-05 21:44:17 +01:00
Jessica Clarke
7b1259b41b Add a Bluesim RVFI-DII config 2020-07-05 21:43:21 +01:00
Jessica Clarke
badf5c8e37 Include xCHERI in ARCH and build directory names
Also use RVFI_DII not RVFIDII in the directory names.

This makes everything match Piccolo/Flute rather than having Toooba be a
weird, inconsistent and plain wrong.
2020-07-05 21:41:28 +01:00
Jessica Clarke
46ae8ea159 Port parallel build support to bluesim 2020-07-05 21:31:44 +01:00
Jessica Clarke
106f70e42b Fix Bluesim build (synced from Verilator Makefile) 2020-07-05 21:28:19 +01:00
Jessica Clarke
027b769904 Reduce diff to upstream 2020-07-05 21:28:12 +01:00
Jessica Clarke
0b0b863baa Replace home-grown dependency script with Bluespec-provided makedepend.tcl
This one has the advantage of being able to be called with the same
flags as bsc, rather than needing to pass things through special
environment variables. As a result, revert all our changes to dealing
with BSC_COMPILATION_FLAGS (some of this diff therefore looks strangely
formatted, but it's to match upstream verbatim, and should be left that
way to minimise diffs and avoid conflicts).
2020-07-05 21:26:18 +01:00
Peter Rugg
8778369fe5 Merge remote-tracking branch 'upstream/master' into CHERI 2020-06-17 13:01:41 +01:00
jon
dcfdb34f0a Changes to build with the now more parameterisable TagController. 2020-06-15 16:46:15 +01:00
jon
f582d6550b Add BLUESIM to two simulation builds as the TagController expects this
variable to be set when building for simulation.
2020-06-11 09:43:38 +01:00
jon
8ae5d3a1b2 Build RVFI_DII Toooba with very small caches, 2-way set associative to
maximise cache and memory verification.
2020-05-28 10:59:08 +01:00
jon
0f0d1a983b Remove references to ScrFile which were mysteriously still here. 2020-05-12 17:24:50 +01:00
Alexandre Joannou
1a3915d8a2 Fix display message when running the dependency script 2020-04-27 15:27:16 +01:00
Alexandre Joannou
dfde021eb6 Avoid creation of outputfile on failure of dependency script + add beri license header 2020-04-24 15:09:04 +01:00
Alexandre Joannou
370ed61bc4 Integrate the generation of dependenices to Makefiles 2020-04-23 14:55:28 +01:00
jon
92e3216c69 Don't use special recursive build for the top level, as this just rebuilds everything. 2020-04-23 10:42:45 +01:00
Alexandre Joannou
aa79240629 generalise genDependencies a bit with env variables (no obvious getoptsin tcl AFAIK) 2020-04-23 02:04:19 +01:00
jon
f6b7132d4f Makefile updates to do a parallel build, including the tcl script to generate a dependency graph using the Bluespec compiler (which was written by Alexandre). 2020-04-22 22:44:19 +01:00
Jessica Clarke
3add2cac5e Move MakeReset0.v to src_bsc_lib_RTL like Piccolo and Flute
This ensures it's shared across all simulator builds.
2020-04-16 17:19:16 +01:00
Jessica Clarke
a2aee1969d verilator_config.vlt: Revert "fix"
lint_off -rule is a very new feature that requires Verilator v4.026
released in Jan 2020, and is thus not in Ubuntu 18.04. Any breakage with
newer versions should be fixed in some other backwards-compatible way.
2020-04-16 17:12:27 +01:00
Rishiyur S. Nikhil
7accf2c1a0 Merge pull request #11 from CTSRD-CHERI/mac_build
Resolve some issues to build on mac.
2020-04-07 09:13:19 -04:00
Peter Rugg
ae78cd3d6a Don't track built files 2020-04-07 13:56:34 +01:00
Jonathan Woodruff
dbcc4a6c22 Re-add dummy Mem.hex file. 2020-03-30 15:18:01 +01:00
Alexandre Joannou
b5b2b4fe5c Port AXI4 changes from Flute 2020-03-27 16:45:26 +00:00
Alexandre Joannou
92815e957e Add BlueStuff to Makefile 2020-03-27 16:45:24 +00:00
Jonathan Woodruff
a299a763ed Add a special capability register file and pass it's interfaces to all the places that the current CSR file goes.
We may need to trim some of these later, but most of them seem like places that we'll need access.
2020-03-23 10:10:11 +00:00
Jonathan Woodruff
d77c158b76 Merge branch 'mac_build' into RVFI_DII 2020-03-20 11:35:11 +00:00
Jonathan Woodruff
b830f4bf41 Resolve some issues to build on mac.
This includes renaming Fifo.bsv to Fifos.bsv to account for a case insensitive file system which confuses this library with FIFO.bsv.
Also this includes an update of the verilator flags that are needed for modern verilator.
Finally, some verilator flag changes for building with LLVM.
2020-03-19 19:21:59 +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
rsnikhil
a6a227ed66 Incorporated patches/additions from Joe Stoy after GFE debugging (w. amendment ...)
Amendment: RegUNInit.v updated, removing an extraneous RST line.
2020-03-13 16:38:54 -04:00
rsnikhil
c278e4fe68 Fixed a bug, and a related Tandem-Verification bug, re. CSR MIP MEIP/MTIP/MSIP.
Two of these were not properly restricted as read-only from CSRRX instructions,
and there was a bug in the WARL function for writing MIP,
and there was a bug in the TV-reporting of MIP updates.
2020-03-12 21:44:00 -04:00
Jonathan Woodruff
72de623779 Add dummy hex file. 2020-03-12 15:15:17 +00:00
Jonathan Woodruff
5851d254ad Add a needed verilog file. 2020-03-12 11:48:09 +00:00
Jonathan Woodruff
0d525e4d11 Add RVFI_DII build Makefile. 2020-03-12 11:18:44 +00:00
Jonathan Woodruff
a7a2854888 Declarations required for updated socket library. 2020-03-12 10:45:34 +00:00
rsnikhil
f02e9af515 Improved avoidance of initial timer interrupt in MMIOPlatform; removed spurios MSTATUS TV report on CSRRS/C with rs1==0 2020-03-11 22:42:18 -04:00
rsnikhil
a19eb97f34 Small tweak to MMIOPlatform.bsv to avoid spurious timer interrupt at start of time. 2020-03-09 22:58:04 -04:00
rsnikhil
b00f1d2eec Fixed a Tandem Verification trace generation bug for FMV.X.F and FMV.X.D
We were reporting the incremental value of fflags (=0)
instead of the final value of fflags (same as pre-value, which may not be 0).
2020-03-09 14:47:20 -04:00
rsnikhil
976494a8ff Fixed Tandem-Verification trace generation issue re. MSTATUS on CSRRx instructions that write to FCSR.
When a CSRRx instruction writes to FCSR/FFLAGS/FRM, the CPU also
changes MSTATUS.FS and, by implication, MSTATUS.SD because the
floating point state has become "dirty".  Tandem Verification
trace-generation was not reporting this update.
2020-03-08 21:29:30 -04:00
rsnikhil
fafd99c983 Fixes reported by Joe Stoy: PLIC, MMIO_AXI4_Adapter and Core.bsv (details below)
PLIC: updated to latest version from Piccolo/Flute.

MMIO_AXI4_Adapter: added workaround for Xilinx IP problem on 64-bit
    AXI4 fabrics. Writes that specify 8-byte size, but only write in
    upper or lower word using strobes, are converted into 4-byte size.

Core.bsv: added a notification to the Debug Module re. CPU halt.
2020-03-08 15:39:57 -04:00
rsnikhil
4bdbcbfd88 Additional fix to previous commit (75df204e) which only fixed MIP/MIE; this fixes SIP/SIE as well. 2020-03-04 13:14:31 -05:00
rsnikhil
75df204e31 Fixed a Tandem-Verification bug (reporting incorrect MIP/MIE/SIP/SIE post-write values)
MIP/MIE/SIP/SIE fields are WARL (Write-Any/Read-Legal). The CSR
register forces the user-privilege bits ([8,4,0]) to 0 since riscy-ooo
does not support user-level interrupts.  However, function
Csrfile.fv_warl_xform() was not mirroring this correctly.
2020-03-04 09:50:39 -05:00
rsnikhil
40b55d2c32 Fixed a Tandem-Verification issue (report MIP change due to interrupts).
CSR MIP can change due to external/timer interrupts.  These non-instruction-related
changes were not being reported to the Tandem Verifier.
2020-03-03 18:34:00 -05:00
rsnikhil
ac6043ce2d Fixed two bugs: (1) not trapping on unimplemented CSRs (2) MSTATUS.FS initialization
(1) riscy-ooo was mapping all unimplemented CSRs to a benign, user-privilege read-write CSR
    Instead, we now catch this RenameStage and steer it to a trap.
(2) MSTATUS.FS was initialized to 2'b00 (absent/off); should be 2'b01 (present and initial)
2020-03-03 13:56:31 -05:00
rsnikhil
e02dac1449 In CsrFile.bsv, changed user-privilege bits in MIP/SIP/MIE/SIE to read-only 0 since MISA.N=0 2020-03-02 16:20:07 -05:00