Ross Thompson
8dc7870e62
Updated Arty A7 fpga config and device tree to 256MiB main memory.
2023-07-25 15:11:47 -05:00
Ross Thompson
d418e4fa5e
Updated arty a7 device clock speed for 20Mhz.
2023-07-24 11:50:00 -05:00
Ross Thompson
fd187e9ee6
Merge branch 'main' of github.com:ross144/cvw
2023-07-24 10:47:05 -05:00
Ross Thompson
d239b0649e
Improved timing constraints for arty a7 to push clock speed to 20Mhz.
2023-07-24 10:46:49 -05:00
Ross Thompson
608400ac6a
Updated arty a7 device tree.
2023-07-21 19:08:45 -05:00
Ross Thompson
6e17cfba03
At least it simulates and gets through fpga elaboration.
2023-07-21 18:40:26 -05:00
Ross Thompson
3eeecd2f27
Merge branch 'boot' into mergeBoot
...
Merges Jacob's new sdc controller into wally.
2023-07-21 17:43:45 -05:00
Ross Thompson
37078f3d9b
Modified the LSU/IFU and caches to improve critical path. Arty A7 went from 15 to 17Mhz. I believe we can push all the way to 20+Mhz with relatively little effort. Along the way I'm fixing up the scripts build the linux images for the flash card.
2023-07-21 13:06:27 -05:00
Jacob Pease
36785848a5
Working new boot process. Buildroot package for sdc.
2023-07-20 14:15:59 -05:00
Ross Thompson
3bf2b35704
Wow. The newest version of Vivado does not like the enums as parameters.
...
The solution is simple. I changed the type to logic [31:0] and defined macros for the branch predictor types as 32 bit integers.
2023-07-18 15:07:10 -05:00
Ross Thompson
a5f75d568b
Added artya7 device tree.
2023-07-17 16:01:02 -05:00
Jacob Pease
142ec857ed
Modified bootloader to access GUID partitions. SDC interrupt to PLIC.
...
Since writing an SD card image generation script, the bootloader
needed to be altered to access individual binaries from specific
partitions. A new file, gpt.c with it's header gpt.h, have been added
to the bootloader to facilitate this.
The SDC has been added to the device tree for the VCU108
board. Additionally the SDC interrupt signal was added to the PLIC
node in the device tree. The PLIC itself was modified to accept the
SDC interrupt signal.
2023-07-14 13:36:44 -05:00
Ross Thompson
3de5144ae4
Updated vcu118 constraints to run cpu at 38.43Mhz.
2022-11-15 10:19:38 -06:00
Ross Thompson
b812549f38
Bumped DDR4 clock speed up from 832Mhz (1666 MT/s) to 1200 Mhz (2400 MT/s).
...
Increased CPU clock speed from 30 Mhz to 35 Mhz.
2022-11-11 15:33:03 -06:00
Ross Thompson
2e60edaedd
Added new device trees for vcu118 and vcu108 boards.
2022-10-24 17:45:10 -05:00
Ross Thompson
d68bdfbade
Updated the device tree to use 30Mhz instead of 10Mhz for the cpu timebase.
2022-10-20 15:05:39 -05:00
slmnemo
e3a7e3e2f3
changes suggested by ben, hopefully fixing buildroot (which is now not running)
2022-05-20 18:42:38 -07:00
bbracker
6f63b88c60
upgrade Buildroot Makefile to also copy over vmlinux
2022-04-25 07:36:59 -07:00
bbracker
cd70175e5a
less hardcoded paths in Makefile
2022-04-21 20:42:02 -07:00
David Harris
1e19cf9f14
Simplified profile for UART boot; added warnings on UART Rx errors
2022-04-21 04:54:45 +00:00
bbracker
20c82b6f1a
parsePlicState.py bugfix
2022-04-13 13:04:43 -07:00
bbracker
3465d8cd32
improve testbench-linux.sv to correctly load in PLIC IntEnable checkpoint and to handle edge case where interrupt is caused by enabling interrupts in SSTATUS
2022-04-13 03:37:53 -07:00
bbracker
0d4ec9b3f9
fix bugs in PLIC checkpoint state parsing
2022-04-13 01:59:21 -07:00
bbracker
1bb5e1f35b
whoops fix address for PLIC int enables in checkpoint generation
2022-04-13 01:36:09 -07:00
bbracker
54c5f7f607
deprecate remove_dup.awk in favor of expanding parseGDBtoTrace.py to internally remove duplicates; this way the instruction counts in traps.txt are hopefully now in sync with the line numbers of all.txt
2022-04-07 19:43:22 -07:00
bbracker
008089b470
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-07 08:37:44 -07:00
bbracker
0a0956fad0
fix parseQEMUtoGDB.py to pass on interrupt messages correctly
2022-04-07 04:47:15 -07:00
kaveh Pezeshki
49aae4b2e9
using -S for busybox objdump to provide source code snippets
2022-04-06 23:06:49 +00:00
bbracker
0f394ba18b
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-06 07:50:57 -07:00
bbracker
0a8ce0593a
filter traps list down to just interrupts
2022-04-06 07:49:44 -07:00
bbracker
ea0471dcc7
change RAM size in genInitMem.sh
2022-04-06 07:49:04 -07:00
David Harris
23da303ad3
Added bootmem source ccode
2022-04-05 23:22:53 +00:00
David Harris
c6960ede37
Changed Linux disassembly to -S to preserve source code lines
2022-04-01 16:49:13 +00:00
bbracker
a5c32898a0
checkpointSweep is bash-specific, so add shebang to make it so
2022-03-28 13:40:50 -07:00
bbracker
501dc7cd68
fix genCheckpoint.sh binary memory dump
2022-03-27 20:54:59 -07:00
bbracker
9b5bbd29b4
change genCheckpoint.sh to only log 128MB of RAM
2022-03-27 19:16:39 -07:00
bbracker
4e1b50e50c
fix parseGDBtoTrace.py to expect the CSRs that QEMU actually prints out
2022-03-27 19:05:44 -07:00
bbracker
800bc85519
refactored buildroot configuration
2022-03-27 15:13:03 -07:00
bbracker
0eeb6cc5b5
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-27 15:11:42 -07:00
bbracker
8d5c231a13
change devicetree to expect only 128MB of RAM
2022-03-27 15:11:36 -07:00
bbracker
6f6663cd67
fix multiple-context PLIC checkpoint generation
2022-03-25 01:02:22 +00:00
bbracker
4b376e2834
1st attempt at multiple channel PLIC
2022-03-24 17:08:10 -07:00
Ross Thompson
4ca9458534
added SIP, SIE, and SSTATUS to checkpoints. Can't seem to get the linux testbench to force SIP.
2022-03-22 21:28:34 -05:00
bbracker
099fc34c10
change genTrace to dump UART output to file so we can see how far parsing got
2022-03-08 09:52:17 -08:00
bbracker
742e8d98cd
fix up PLIC and UART checkpointing
2022-03-07 23:48:47 -08:00
bbracker
bfaf496473
change UART state saving to temporarily modify LCR so that DLAB=0 when reading addresses 0 and 1 so that we get RBR and IER instead of divisor latch registers
2022-03-07 22:12:08 -08:00
bbracker
097301635a
change checkpoint generation to integrate GDB scripting more cleanly and save UART and PLIC state
2022-03-07 17:59:49 -08:00
bbracker
409dd48706
modify debug.sh to not rely on external GDB script
2022-03-07 11:56:04 -08:00
bbracker
4bf95714eb
add debug.sh
2022-03-07 19:52:19 +00:00
bbracker
483aad2a05
update checkpointSweep in accordance to having removed trace parsing feature
2022-03-06 14:55:51 -08:00
bbracker
bea2faeda6
remove vestigial silencePipe mechanism
2022-03-06 14:54:35 -08:00
bbracker
11e9bbf3e4
needed to initialize checkpoint directory
2022-03-06 14:51:25 -08:00
bbracker
d007208aa9
no longer use cythonization on python parser scripts because its a little complicated and has marginal benefit
2022-03-06 14:40:26 -08:00
bbracker
f64b7776ed
give genCheckpoint the same de-sudo'ing treatement
2022-03-06 14:37:12 -08:00
bbracker
7182ec228f
better to use $tvDir variable rather than abs path
2022-03-06 14:33:53 -08:00
bbracker
8f2e67984f
replace sudo's with suggestions in genRecording.sh
2022-03-06 14:31:55 -08:00
bbracker
e57b5208dc
replace sudo's in genTrace.sh with suggested commands
2022-03-06 14:24:50 -08:00
bbracker
91f327e109
small bugfix to suggested sudo commands for linux testvectors
2022-03-06 14:16:23 -08:00
bbracker
742b9d884d
remove checkpoint trace generation since that requires qemu hacking and because we are able to generate the whole trace on VLSI
2022-03-06 14:04:30 -08:00
bbracker
e3f735cc1a
recommend sudo commands without automatically executing them in genInitMem.sh
2022-03-06 13:30:19 -08:00
bbracker
efee8d3a22
change from clang to gcc when compiling testvector-generation executables
2022-03-06 13:18:53 -08:00
bbracker
1fc7856c36
add extractFunctionRadix step to buildroot Makefile
2022-03-05 19:02:07 -08:00
bbracker
4eb46785fc
change genInitMem.sh to check for sufficient directory privileges rather than invoke sudo
2022-03-05 18:04:00 -08:00
bbracker
1bb73dad7d
change main.config so that buildroot expects linux.config and busybox.config to be at $RISCV/buildroot
2022-03-02 17:46:33 +00:00
bbracker
eaa0fa8e3f
checkpoint sweep script -- not sure if this deserves to be on the repo in the long run, but it is helpful
2022-03-01 03:48:31 +00:00
bbracker
3eb229cda5
copy over truncated trace into checkpoint if not freshly generating a trace
2022-03-01 03:38:48 +00:00
bbracker
da4d7de2bd
add option to not generate a trace when making checkpoints
2022-03-01 03:13:01 +00:00
bbracker
00ae804b6c
script for dumping out QEMU ram and bootrom state at ground 0
2022-03-01 01:45:09 +00:00
bbracker
eb26bf69ca
typo fix to checkpoint generator
2022-03-01 00:51:54 +00:00
bbracker
7af81d93ec
greatly improve trace-generating checkpoint process with QEMU hack
2022-02-28 23:00:00 +00:00
bbracker
3f5ae216b5
change pipe silencer to redirect to stderr so that we can see if QEMU is at least still alive
2022-02-28 22:55:23 +00:00
bbracker
2ef97b9841
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-02-25 23:51:48 +00:00
bbracker
8518fd44a5
revived checkpointing and hacked it up to generate a trace starting at the checkpoint
2022-02-25 23:51:40 +00:00
bbracker
8eb7ab0dca
parser rename
2022-02-25 20:05:10 +00:00
kaveh Pezeshki
4e20df64e2
Updated busybox disassembly
2022-02-24 04:49:04 +00:00
kaveh Pezeshki
09a1519dce
removed verbose cpio and excluded /dev/console
2022-02-24 00:08:10 +00:00
David Harris
5d7d40a4c7
Linux disassembly makefile
2022-02-24 00:05:23 +00:00
bbracker
ac114e1c6d
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-02-22 04:27:50 +00:00
bbracker
356993df7c
new trace generation method
2022-02-21 20:30:39 +00:00
kaveh Pezeshki
c4ad200ea7
added Makefile for automated disassembly generation
2022-02-20 09:08:38 +00:00
bbracker
fd4556393b
rename dump-dts debug script
2022-02-10 00:10:09 +00:00
bbracker
7b52ff9fcf
continue to rename devicetree to wally-virt
2022-02-10 00:08:28 +00:00
bbracker
3ebf6d7418
rename devicetree to wally-virt
2022-02-10 00:07:29 +00:00
bbracker
e9273c10ac
minor interrupt syntax fix
2022-02-09 02:56:39 +00:00
bbracker
5669b9d1ca
add tracegen support for interrupt parsing
2022-02-09 02:29:47 +00:00
bbracker
7ea9b10309
update buildroot main.config to reflect most recent image build
2022-02-08 11:47:26 +00:00
bbracker
c12a8578a0
restore trace generation functionality for new setup
2022-02-08 11:45:42 +00:00
bbracker
f94e5560ac
add trimmed-down virt devicetree to repo for QEMU
2022-02-08 11:11:44 +00:00
bbracker
79da6afe86
trying to move away from QEMU patches
2022-02-08 10:05:38 +00:00
bbracker
d52baa3a5c
fix typo
2022-02-08 08:12:45 +00:00
bbracker
ec5423f8d6
add buildroot script
2022-02-08 08:10:32 +00:00
bbracker
23b743206a
refactor buildroot-config-src into linux folder
2022-02-08 00:26:06 +00:00
bbracker
676d4c5fa7
a different approach to QEMU: add Wally as a completely new machine
2022-01-26 15:02:24 +00:00
David Harris
3005d82dba
Created linux directory for linux config
2022-01-20 00:04:23 +00:00