ushakya22
4170b54c28
work in progress exponent handling
2022-02-14 18:24:29 +00:00
David Harris
1d5c8a7b98
t push
...
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-02-14 01:22:22 +00:00
Ross Thompson
1bb4d46ac1
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-13 18:21:15 -06:00
Ross Thompson
e852cb8a31
Eliminated more ports in cacheway.
2022-02-13 15:53:46 -06:00
Ross Thompson
1d7949513d
More cache cleanup.
2022-02-13 15:47:27 -06:00
Ross Thompson
7ffbc6b2ab
Changed names of signals in cache.
2022-02-13 15:06:18 -06:00
Ross Thompson
a5ad4331ec
More cache cleanup.
2022-02-13 12:38:39 -06:00
ushakya22
f87667d120
Added unpacker into testbench for srt
2022-02-12 22:05:18 +00:00
David Harris
b360e7b941
Synthesis cleanup
2022-02-12 06:25:12 +00:00
David Harris
a34cbdb7d0
Synthesis script cleanup, eliminated privileged instructiosn from controller when ZICSR_SUPPORTED = 0
2022-02-12 05:50:34 +00:00
Ross Thompson
dd944265aa
Formating improvements to cache.
2022-02-11 23:10:58 -06:00
Ross Thompson
bf173b035c
More cache simplifications.
2022-02-11 22:54:05 -06:00
Ross Thompson
16abe90a0d
Reduced seladr to 1 bit as second bit is same as selflush.
2022-02-11 22:41:36 -06:00
Ross Thompson
b11e9eca7b
Reduced complexity of the address selection during flush.
2022-02-11 22:27:27 -06:00
Ross Thompson
1255e82154
Removed redundant signals from cache.
2022-02-11 22:23:47 -06:00
Ross Thompson
52894a7a4f
Cache fsm simplifications.
2022-02-11 15:16:45 -06:00
Ross Thompson
e2e0a4f595
Removed STATE_CPU_BUSY_FINISH_AMO from cache. This is redundant with STATE_CPU_BUSY.
2022-02-11 15:09:00 -06:00
Ross Thompson
0f2ac0cb24
Simplified cache fsm.
2022-02-11 14:54:57 -06:00
Ross Thompson
1c83914662
Fixed bug.
...
It was possible for DTLBMissM to prevent a dcache flush.
2022-02-11 14:00:01 -06:00
Ross Thompson
33beaa4593
Updates to linux wave.
2022-02-11 13:28:18 -06:00
Ross Thompson
d9f77d3659
Updated linux wave.
2022-02-11 13:15:42 -06:00
Ross Thompson
1a1629c62f
linux wave cleanup.
2022-02-11 10:48:45 -06:00
Ross Thompson
febd019854
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-11 10:47:21 -06:00
Ross Thompson
6d12010d02
Fixed subtle and infrequenct bug.
...
Loading buildroot at 483M instructions started with a spill + ITLBMiss. The spillsupport logic allowed transition to the second access only after the bus/cache completed the first operation. However the BusStall was suppressed if ITLBMissF occurs resulting in the spillfsm advancing to the second operation. Now the spill logic also takes in ITLBMissF and prevents the early transition to the second access.
2022-02-11 10:46:06 -06:00
David Harris
de5e80696d
Cleaned up synthesis warnings
2022-02-11 01:15:16 +00:00
Ross Thompson
689c32215f
Fixed bugs in ifu spills and missing reset on bus data register.
2022-02-10 18:11:57 -06:00
Ross Thompson
9fb612d4ff
Updated wave files to reflect recent changes.
2022-02-10 17:52:19 -06:00
Ross Thompson
5fd22caed4
Replacement policy cleanup.
2022-02-10 11:42:40 -06:00
Ross Thompson
f716cce832
Replacement policy cleanup.
2022-02-10 11:40:10 -06:00
Ross Thompson
104a9acf81
Cleanup.
2022-02-10 11:27:15 -06:00
Ross Thompson
fdb4f909fc
Cleanup + critical path optimizations.
2022-02-10 11:11:16 -06:00
Ross Thompson
88c7a94aa9
Cache name clarifications.
2022-02-10 10:50:17 -06:00
Ross Thompson
32eee5a06a
More cache cleanup.
2022-02-10 10:43:37 -06:00
Ross Thompson
91f2b5adf5
structural muxes.
2022-02-09 19:36:21 -06:00
Ross Thompson
7ff715f44f
More cache cleanup.
2022-02-09 19:29:15 -06:00
Ross Thompson
754bd41fde
Cleaned up comments.
2022-02-09 19:21:35 -06:00
Ross Thompson
36ab78ef3b
Removed all possilbe paths to PreSelAdr from TrapM.
2022-02-09 19:20:10 -06:00
Ross Thompson
4fd0154d03
Added commented out commands to generate saif file from vsim.
2022-02-09 18:40:45 -06:00
Ross Thompson
7810a09782
Annotated the final changes required to move sram address off the critial path.
2022-02-08 18:17:31 -06:00
Ross Thompson
30d6514661
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-08 17:52:15 -06:00
Ross Thompson
4a7ebb3757
Cache cleanup write enables.
2022-02-08 17:52:09 -06:00
Ross Thompson
bdb3794d5e
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-08 15:43:18 -06:00
Ross Thompson
c2907ec0f4
Cleanup IFU.
2022-02-08 14:54:53 -06:00
Ross Thompson
038897f448
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-08 14:47:15 -06:00
Ross Thompson
4273775a2b
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-08 14:22:19 -06:00
Ross Thompson
e02bc8db67
rv32e works for now. Still need to optimize.
2022-02-08 14:21:55 -06:00
Ross Thompson
f211fe635a
Moved some muxes back into the bp.
2022-02-08 14:17:44 -06:00
David Harris
1479762ae9
RAM simplification
2022-02-08 20:15:23 +00:00
Ross Thompson
aa12d90272
Temporary commit which gets the no branch predictor implementation working.
2022-02-08 14:13:55 -06:00
David Harris
510b47523a
rv32e config update
2022-02-08 17:59:50 +00:00
Ross Thompson
853a7bba18
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-08 11:36:30 -06:00
Ross Thompson
8a2ee22395
Finished merge.
2022-02-08 11:36:24 -06:00
David Harris
64e9f4c0d3
Restored E tests to makefrag
2022-02-08 16:41:11 +00:00
Ross Thompson
e2191e3637
Preparing to make a major change to the cache's write enables.
2022-02-08 09:47:01 -06:00
David Harris
f00b3ac27e
Fixed TIM tests; rv32e test still failing
2022-02-08 15:24:37 +00:00
David Harris
76dccbad91
Patching up testbench; fixed false passing, but rv32ic and rv32e tests now fail
2022-02-08 12:40:02 +00:00
David Harris
c61cd55c5c
Merged TIM and regular testbenches. RV32e now working and back in regression.
2022-02-08 12:18:13 +00:00
David Harris
cbef88ec10
Lab 3 file cleanup
2022-02-08 10:26:37 +00:00
Ross Thompson
5c9e23527d
cachefsm cleanup.
2022-02-07 22:09:56 -06:00
Ross Thompson
da2dca9816
Removed VDWriteEnable.
2022-02-07 21:59:18 -06:00
Ross Thompson
161f907cae
more partial cleanup of fsm and write enables.
2022-02-07 17:41:56 -06:00
Ross Thompson
359a23237d
Progress towards simplifying the cache's write enables.
2022-02-07 17:23:09 -06:00
Ross Thompson
188fe28691
more cleanup.
2022-02-07 13:29:19 -06:00
Ross Thompson
9510a33c15
More cachefsm cleanup.
2022-02-07 13:19:37 -06:00
Ross Thompson
708e0cf183
More cachefsm cleanup.
2022-02-07 12:30:27 -06:00
Ross Thompson
5539a5fa6f
More cachefsm cleanup.
2022-02-07 11:16:20 -06:00
Ross Thompson
6668956351
More cachefsm cleanup.
2022-02-07 11:12:28 -06:00
Ross Thompson
5536e3ca90
More cachefsm cleanup.
2022-02-07 10:54:22 -06:00
Ross Thompson
529d8b629a
Cache cleanup.
2022-02-07 10:43:58 -06:00
Ross Thompson
41a79556e0
More cachfsm cleanup.
2022-02-07 10:33:50 -06:00
David Harris
99f3d7a7f6
Reverted cache change
2022-02-07 14:47:20 +00:00
David Harris
50b44b4416
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-02-07 14:43:31 +00:00
David Harris
45dc9c1ae6
Cache syntax cleanup
2022-02-07 14:43:24 +00:00
Ross Thompson
0b66106925
More cachefsm cleanup.
2022-02-06 21:50:44 -06:00
Ross Thompson
dd6baa9ed4
started cachefsm cleanup.
2022-02-06 21:39:38 -06:00
Kip Macsai-Goren
0eb280b314
added new tests to make and testbench
2022-02-06 19:47:22 +00:00
David Harris
9b55848ffc
Added E tests to wally-riscv-arch-test rv32i_m/I and fixed cyclic path in rv32e configuration
2022-02-06 01:22:40 +00:00
bbracker
f67af23bf3
remove sporadic tabs from tests.vh so that it is now only spaces
2022-02-05 23:07:38 +00:00
bbracker
74ef58e20e
remove rv32e from regression because it is broken; goes with previous commit
2022-02-05 23:05:21 +00:00
Ross Thompson
d21be9d998
Added config to allow using the save/restore or replay implementation to handle sram clocked read delay.
2022-02-04 23:49:07 -06:00
David Harris
0f7b8017d1
Modified regression to use proper rv32e test name, but rv32e_wally32e still isn't passing due to loop exceeding iteration limit
2022-02-05 05:35:51 +00:00
David Harris
a9d2386010
Merged buildroot do files into wally-pipelined do files, added work suffixes so buildroot regression won't fail due to file conflicts
2022-02-05 05:28:40 +00:00
David Harris
66b4834ef5
Modified wally-pipelined-batch.do to handle buildroot
2022-02-05 05:07:07 +00:00
Ross Thompson
ea84211ff9
Removed unused ports from caches and buses.
2022-02-04 22:52:51 -06:00
Ross Thompson
011ad09341
Cleanup.
2022-02-04 22:40:51 -06:00
Ross Thompson
4074f695e0
Moved the hwdata mux back into the busdp.
2022-02-04 22:39:13 -06:00
Ross Thompson
40eb055861
Merged together the two sub cache line read muxes.
...
One mux was used for loads and the other for eviction.
2022-02-04 22:30:04 -06:00
David Harris
72bc64ef28
Temporarily changed rv32e config to use TIM, but it still fails. Added rv32e tests.
2022-02-05 04:16:18 +00:00
Ross Thompson
290430cda8
Moved the sub cache line read logic to lsu/ifu.
2022-02-04 20:42:53 -06:00
Ross Thompson
725852362e
Got separate module for the sub cache line read.
2022-02-04 20:23:09 -06:00
Ross Thompson
cdd599e340
Second optimization of save/restore.
2022-02-04 14:35:12 -06:00
Ross Thompson
459054900f
Optimization of cache save/restore.
2022-02-04 14:21:04 -06:00
Ross Thompson
7c1f7e335c
Working first cut of the cache changes moving the replay to a save/restore.
...
The current implementation is too expensive costing (tag+linelen)*numway flip flops and muxes.
2022-02-04 13:31:32 -06:00
David Harris
2c67f32b97
RV32e tests
2022-02-04 14:30:36 +00:00
David Harris
fb041fe06a
rv32e
2022-02-04 01:56:30 +00:00
David Harris
ef5af9b5fd
renamed configs
2022-02-03 23:36:41 +00:00
David Harris
ee3300bcd2
sram1rw cleanup
2022-02-03 18:03:22 +00:00
David Harris
97d31cec21
sram1rw cleanup
2022-02-03 17:50:23 +00:00
David Harris
f9dd79d3e3
cachereplacementpolicy cleanup
2022-02-03 17:19:14 +00:00
David Harris
034ff5462c
cachereplacementpolicy cleanup
2022-02-03 17:18:48 +00:00
David Harris
65f3bf4e0a
cacheway cleanup
2022-02-03 16:52:22 +00:00
David Harris
eef04eed84
cacheway cleanup
2022-02-03 16:33:01 +00:00
David Harris
4d09510af9
cacheway cleanup
2022-02-03 16:07:55 +00:00
David Harris
7f237220dd
cacheway cleanup
2022-02-03 16:00:57 +00:00
David Harris
a6708ed887
cache cleanup
2022-02-03 15:36:11 +00:00
Ross Thompson
b642a19e12
Merge branch 'makefiles' into main
2022-02-03 08:33:50 -06:00
Ross Thompson
c34907c95b
Completed makefile updates to accelerate the generation of memfiles. There are two makefiles in the
...
regression directory. Makefile calls the submakefiles for generating elf files.
The second makefile-memfiles generates the memfiles, addr, and label files.
2022-02-03 08:32:48 -06:00
Ross Thompson
9336682749
Manged to get all the tests compiled and converted to memfiles using new makefiles.
2022-02-03 00:00:15 -06:00
Ross Thompson
06c5a825c4
Quick patch to regression-wally to "fix" rv32ic.
2022-02-02 19:24:24 -06:00
Ross Thompson
5c640b6582
broken makefiles.
2022-02-02 19:15:11 -06:00
Ross Thompson
943dff106e
Broken makefiles.
2022-02-02 19:14:42 -06:00
David Harris
38bbe23d14
More config file cleanup; 32ic tests broken
2022-02-03 01:08:34 +00:00
David Harris
da8819d64b
changed DMEM and IMEM configurations to support BUS/TIM/CACHE
2022-02-03 00:41:09 +00:00
David Harris
68a6b4af3d
Removed Busybear and Buildroot Configuration
2022-02-02 20:32:22 +00:00
David Harris
02071700d6
Removed Busybear dependencies
2022-02-02 20:28:21 +00:00
Ross Thompson
98990a294c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-02 11:41:54 -06:00
Ross Thompson
f4a553fd7d
Fixed testbench so coremark stops.
2022-02-02 11:37:48 -06:00
David Harris
4ba37d5cc0
Config file & wally-riscv-arch-test cleanup
2022-02-02 16:35:52 +00:00
Ross Thompson
2d827bf8c0
Added helpful signals to wavefile.
...
Makefile for tests now creates the function address to name mapping files.
The function name and test name are included in the wave file.
2022-02-02 10:15:54 -06:00
Ross Thompson
4b4cee3ddd
Added correct stop condition for coremark.
2022-02-02 09:53:51 -06:00
Ross Thompson
143bdaa288
Modified makefiles to generate function address to name mappings for modelsim.
2022-02-01 18:25:03 -06:00
Ross Thompson
f055441ecf
Improved function_radix to not printout warnings when no valid function is found.
2022-02-01 18:03:09 -06:00
Ross Thompson
5407b72af9
Setup the main regression test to be able to handle coremark.
2022-02-01 17:00:11 -06:00
Ross Thompson
6c5b0bec40
More cleanup of IFU.
2022-02-01 14:32:27 -06:00
Ross Thompson
85d510e315
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-02-01 10:50:38 -06:00
Ross Thompson
73edd50120
Updated fpga's bootloader to reflect the changes to the gpio address change.
2022-02-01 10:43:24 -06:00
Ross Thompson
1f0821da0d
IFU and LSU now share the same busdp module.
2022-01-31 16:25:41 -06:00
Ross Thompson
86bac2a083
partial ifu cleanup.
2022-01-31 16:08:53 -06:00
Ross Thompson
e4ee630a3e
cleanup.
2022-01-31 13:29:04 -06:00
Ross Thompson
5ce8dd60c5
Fixed modelsim warning with linux simulation.
2022-01-31 12:57:02 -06:00
Ross Thompson
c9a163b8fd
Repaired linux-wave.do
2022-01-31 12:54:18 -06:00
Ross Thompson
4422e2f91c
Repaired wavefile and fixed modelsim warning.
2022-01-31 12:34:17 -06:00
Ross Thompson
c2b2fae98d
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-01-31 12:17:37 -06:00
Ross Thompson
f4e62bcb54
Cleanup busdp.
2022-01-31 12:17:07 -06:00
Ross Thompson
31da37dd0f
Moved lsu virtual memory logic into separate module.
2022-01-31 11:56:03 -06:00
Ross Thompson
9cd502d0af
Encapsulated dtim.
2022-01-31 11:23:55 -06:00
Ross Thompson
c939eb20eb
Removed unused signals in the LSU.
2022-01-31 10:35:35 -06:00
Ross Thompson
5fe30ff8a9
Moved atomic logic to own module.
2022-01-31 10:28:12 -06:00
Ross Thompson
a4f6653cd8
Encapsulated the bus data path into a separate module.
2022-01-31 10:15:48 -06:00
Kip Macsai-Goren
242b27705d
added machine info test that uses new test library
2022-01-31 05:54:43 +00:00
David Harris
090533cfe9
Replaced || and && with | and &
2022-01-31 01:07:35 +00:00
Ross Thompson
ac50a36aac
LSU and IFU cleanup.
2022-01-28 15:26:06 -06:00
Ross Thompson
2e00186eea
Updated wave.do to match the ifu/lsu changes.
2022-01-28 14:37:15 -06:00
Ross Thompson
42d60235f0
Clean up of mmu instances in IFU and LSU.
2022-01-28 14:02:05 -06:00
Ross Thompson
c5e0024e9f
Moved spills to own module.
2022-01-28 13:40:35 -06:00
Ross Thompson
06209c417f
Cleaned up the InstrMisalignedFault.
2022-01-28 13:19:24 -06:00
Ross Thompson
862bf2faae
Moved all instr/load/storeamo faults to mmu with the exception of instr misaligned fault.
2022-01-27 17:11:27 -06:00
Ross Thompson
d15cb64bdf
Relocated the misalignment faults.
2022-01-27 16:03:00 -06:00
David Harris
30cc27e719
IFU cleanup
2022-01-27 17:18:55 +00:00
David Harris
5ab06fef20
IFU cleanup
2022-01-27 16:41:57 +00:00