Ross Thompson
4db912678d
Changed FDivBusyE to stall the whole pipeline. Any instruction in the Executation which depended on the output of an instruction in the writeback stage would be lost if the back end of the pipelined advanced. The solution is to stall the whole pipeline.
2022-10-22 16:27:20 -05:00
Jacob Pease
b1170ec7a2
Extended rxfifotimeout count to actually be 4 characters long.
2022-10-20 17:35:49 -05:00
Ross Thompson
2c5847b01f
Moving interlockfsm changes to a temporary branch.
...
reduced complexity of cache mux controls.
2022-10-19 15:08:23 -05:00
Ross Thompson
9cadd4c6ec
Broken don't use this state.
2022-10-19 14:31:22 -05:00
Ross Thompson
c6a9b17918
Noted possible bug with endianness during hptw.
...
Minor complexity reduction in interlockfsm. I think there is a lot of room to simplify.
2022-10-19 12:20:19 -05:00
Ross Thompson
a53ca5c99f
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-19 10:42:31 -05:00
Ross Thompson
d6f907f444
Sort of solved the bit width warning for dtim, irom ranges.
2022-10-19 10:42:19 -05:00
Ross Thompson
d4c5440f25
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-18 15:06:09 -05:00
Ross Thompson
92accfb1a6
Updated uart settings and fpga wave config.
2022-10-18 15:05:33 -05:00
Ross Thompson
47608df73e
Possible fix for interrupt during a floating point divide.
2022-10-18 15:04:21 -05:00
Ross Thompson
65c2fe294a
Merged cacheable with seluncachedadr.
2022-10-17 13:29:21 -05:00
David Harris
aa5fe52407
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-14 17:33:36 -07:00
David Harris
51b702fa17
Removed unused FPU waves
2022-10-14 17:33:32 -07:00
amaiuolo
56455bb9ad
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-10-13 22:36:57 +00:00
amaiuolo
1ae48e0edc
added amaiuolo@hmc.edu
2022-10-13 22:36:52 +00:00
Ross Thompson
22603464ae
Fixed uncached read bug introduced by yesterday's changes.
2022-10-13 11:11:36 -05:00
Ross Thompson
a4390dd07f
Fixed LSU to correctly handle the difference between LLEN and AHBW.
2022-10-12 12:06:15 -05:00
Ross Thompson
b79872180b
Actually fixed the bus width issue coming out of the cache.
...
The root cause is the ahb bus width can be different from LLEN.
If we switch the d-cache to outputing LLEN and on LLEN intervals, subword read needs to operate on LLEN as well.
Then the cache always outputs LLEN data which may need to be muxed down into 2 or more subwords if ABHW is smaller than LLEN.
2022-10-12 11:33:10 -05:00
Kip Macsai-Goren
1dd9cb6697
quick fix to endianness wapping 64 bit reads in 32 bit confgs
2022-10-11 23:08:02 +00:00
Ross Thompson
7ddcf38fa9
Modified LSU to support DTIM without CSRs.
2022-10-11 14:05:20 -05:00
Ross Thompson
77de96905a
Fixed first problem with the rv64i IROM.
2022-10-11 11:35:40 -05:00
Ross Thompson
dfd07a57fd
Modified the do scripts to change the DTIM_RANGE and IROM_RANGE to large values from the defaults.
...
The defaults are used for synthesis.
rv64i and rv32i: DTIM 2KiB, IROM 2KiB
rv32ic: DTIM 4KiB, IROM 16KiB
Regression tests require 8MiB or larger so modelsim overrides.
2022-10-11 10:47:13 -05:00
David Harris
cc9a2fc62d
Removed imperas tests from rv32i/rv64i because the configs lack privileged support expected in the tests. Also cleaned up comment in LSU
2022-10-10 10:22:12 -07:00
David Harris
31e9af0eb2
Made simple RV64 configuration be RV64i. Eliminated rv64ic and rv64fp. Fixed some bugs related to new width
2022-10-10 09:10:55 -07:00
David Harris
fde4832642
Removed unnecessary configuration conditions from subwordread sign extension/NaN boxing
2022-10-10 07:12:37 -07:00
Ross Thompson
4bf5245f75
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-09 16:46:51 -05:00
Ross Thompson
9d23b0e6d6
Reorganized the configs.
2022-10-09 16:46:48 -05:00
David Harris
04dc0ac02c
New fdivsqrtqsel4cmp module based on comparators rather than table lookup
2022-10-09 04:47:44 -07:00
David Harris
4f312ea2e7
Moved shift into divsqrt stage and cleaned up comments
2022-10-09 04:45:45 -07:00
David Harris
2aa43848f5
fdivsqrt code cleanup
2022-10-09 03:37:27 -07:00
Ross Thompson
6ff4abd4f7
Cleaned up the new muxes to select between IROM/ICACHE/BUS and DTIM/DCACHE/BUS.
2022-10-05 15:46:53 -05:00
Ross Thompson
28584e4cca
Fixed wally32e.
2022-10-05 15:37:01 -05:00
Ross Thompson
52a1d3dafe
Name clarifications.
2022-10-05 15:36:56 -05:00
Ross Thompson
aa09b1ef16
Fixed bug with combined dtim+bus.
2022-10-05 15:16:01 -05:00
Ross Thompson
98521d073f
Possibly have working dtim + bus config.
2022-10-05 15:08:20 -05:00
Ross Thompson
b01ee070bd
Updated wavefile.
2022-10-05 14:55:40 -05:00
Ross Thompson
bf6f0e7219
Fixed bug in EBU.
2022-10-05 14:51:12 -05:00
Ross Thompson
cabcb5e89e
Modified the LSU and IFU to allow concurrent DTIM/DCACHE+BUS and IROM/ICACHE+BUS.
...
Don't use this commit as the rv32i tests are not passing.
2022-10-05 14:51:02 -05:00
Ross Thompson
5e09d1cca7
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-05 14:03:44 -05:00
David Harris
29033dc334
Changed RV32i config to use DTIM and bus. Don't use this commit - it will break rv32i tests.
2022-10-05 11:46:52 -07:00
Ross Thompson
ea70e1c598
Optimized the ebu's beat counting.
2022-10-05 10:58:23 -05:00
Ross Thompson
294645a49f
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-04 17:38:49 -05:00
Ross Thompson
494f8b94f4
Reordered the eviction and fetch in cache so it follows a more logical order.
2022-10-04 17:36:07 -05:00
Ross Thompson
18e739befc
Modified cache lru to not have the delayed write.
2022-10-04 15:14:58 -05:00
Kip Macsai-Goren
c18c181fc0
fixed endianness mstatush problem, passes make, not regression
2022-10-04 17:37:39 +00:00
Kip Macsai-Goren
3f6d05f7a2
addded renamed file
2022-10-04 17:37:05 +00:00
Kip Macsai-Goren
9a0b98037b
Merge branch 'main' of github.com:davidharrishmc/riscv-wally
2022-10-04 17:33:54 +00:00
Kip Macsai-Goren
fb464b9546
Renamed endianswap to match module name
2022-10-04 17:33:49 +00:00
Ross Thompson
0ed0c18aa1
Fixed a very subtle bug in the trap handler. It was possible to select the wrong cause if an interrupt was pending, but it was supressed by Committed and another exception triggered.
2022-10-02 16:21:21 -05:00
Ross Thompson
d08c29e3c5
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-10-01 15:01:22 -05:00
Ross Thompson
41ab4850e1
Disable IFU bus access on TrapM.
2022-10-01 14:54:16 -05:00
Ross Thompson
e27fcb1577
Added logic to not implement the save/restore muxes for LSU in the EBU's controller input stage.
2022-09-29 18:37:34 -05:00
David Harris
657f16dfd1
Adding start signals for integer divider to fdivsqrt
2022-09-29 16:30:25 -07:00
Ross Thompson
2c0132aa9c
Renamed signals in EBU.
2022-09-29 18:29:38 -05:00
cturek
e8a869e0e7
Added integer inputs and flags to divsqrt
2022-09-29 23:08:27 +00:00
Ross Thompson
58d597b614
Simplification to EBU.
2022-09-29 18:06:34 -05:00
Ross Thompson
d81af3bca8
Fixed HTRANS not changing after accepting HREADY. This exposed a bug in uncore.
2022-09-29 11:54:03 -05:00
Ross Thompson
32449dfe97
Hmm. the icache and ifu didn't have a CommittedF signals going back to the privileged unit. They probably should. If an interrupt occurred during the middle of an instruction fetch icache miss I think it would corrupt the icache.
2022-09-28 17:39:51 -05:00
Ross Thompson
4db017dac3
Possible fix for ifu/lsu arbiration issue.
2022-09-27 17:24:35 -05:00
Ross Thompson
4062fe56c0
Possible fix to the bus cache interaction.
2022-09-27 11:34:33 -05:00
Ross Thompson
07bb11518e
Found a hidden bug in the cache to bus fsm interlock.
2022-09-26 17:41:30 -05:00
Ross Thompson
996c4ca8f2
renamed ahbmulticontroller to ebu.
2022-09-26 14:37:18 -05:00
Ross Thompson
8ed173a5f5
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-26 12:49:16 -05:00
Ross Thompson
0fcc314d06
Yesterday David and I found what is likely a bug in our AHB implementation. HTRANS was getting reset to 2 rather than 0 at the end of a burst transaction. This is fixed.
2022-09-26 12:48:26 -05:00
David Harris
713df785d1
changed always_ff to always in sram1p1rw to fix testbench complaint
2022-09-25 19:56:40 -07:00
Ross Thompson
38edbde966
Renamed RW signals through the caches, bus interfaces, and IFU/LSU.
...
CPU to $ is called LSURWM or IFURWF.
CPU to Bus is called BusRW
$ to Bus is called CacheBusRW.
2022-09-23 11:46:53 -05:00
Ross Thompson
2eaf3af6c7
Removed the write first sram model.
2022-09-22 16:12:08 -05:00
Ross Thompson
cec50ce208
The valid and dirty bits match the SRAM implementation now.
2022-09-22 16:09:09 -05:00
Ross Thompson
b48d6b5e1f
Solved the sram write first / read first issue. Works correctly with read first now.
2022-09-22 14:16:26 -05:00
Ross Thompson
89e6ddfa4e
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-21 18:24:06 -05:00
Ross Thompson
99e01dd31f
Cleaned up the IFU and LSU around dtim and irom address calculation.
2022-09-21 18:23:56 -05:00
David Harris
d6297a2f2e
For radix 4 division, fixed initial C and then could remove unexplained shift from divshiftcalc
2022-09-21 13:30:35 -07:00
David Harris
e49e99548a
Fixed testbench-fp to support all again
2022-09-21 13:19:48 -07:00
David Harris
46680b80a7
Eliminated store after store stall when no cache; simplified divshiftcalc logic.
2022-09-21 13:02:34 -07:00
Ross Thompson
f57b0b9950
Updated IROMAdr logic.
2022-09-21 12:42:43 -05:00
Ross Thompson
0add170b44
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-21 12:36:52 -05:00
Ross Thompson
3fb0a13fe2
Moved other SRAMs to generic/mem.
2022-09-21 12:36:03 -05:00
David Harris
030fb79a3c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-21 10:35:11 -07:00
David Harris
cb4c3ff1ce
Simplified shipping in divshiftcalc; enhanced testbench-fp to be able to run all 32-bit tests generated by sqrttest
2022-09-21 10:35:08 -07:00
Ross Thompson
66c45949b5
Renamed brom1p1r to rom1p1r.
...
removed used file bram2p1r1w.sv.
2022-09-21 12:31:20 -05:00
Ross Thompson
832658838d
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-21 12:20:12 -05:00
Ross Thompson
ac864a6ca3
Merged together bram1p1rw with sram1p1rw as sram1p1rw.
...
Fixed a major issue with the real SRAM implemenation.
2022-09-21 12:20:00 -05:00
Ross Thompson
c0884ecc63
Modified sram1p1rw to support 3 different implementation styles.
...
SRAM, Read first, and Write first.
2022-09-21 11:26:00 -05:00
David Harris
129b9343fe
commented SpecialCase
2022-09-21 05:02:08 -07:00
David Harris
5e1932c649
Added SpecialCaseReg to hold SpecialCase for fdivsqrtpostproc
2022-09-21 04:55:43 -07:00
David Harris
f7d272c315
Gated sticky bit in fdiv with SpecialCase
2022-09-20 20:05:00 -07:00
David Harris
1cbdd20778
Restored radix 2 to pass regression
2022-09-20 19:30:16 -07:00
David Harris
3b98881c4e
renamed u to udigit to avoid conflict with U
2022-09-20 19:29:23 -07:00
cturek
6e300a667e
Fixed R4 Sqrt overshifting
2022-09-21 00:05:36 +00:00
cturek
c3c764f0ba
Fixed fgen4
2022-09-20 20:00:01 +00:00
Ross Thompson
980b35d585
Merge branch 'tempMain' into main
2022-09-20 13:57:38 -05:00
Ross Thompson
1658edd21e
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-20 11:56:53 -05:00
Ross Thompson
426ec6222b
Added chip enables to sram.
2022-09-20 10:49:14 -05:00
David Harris
11fb39b373
Define LOGNORMSHIFTSZ
2022-09-20 08:31:57 -07:00
Ross Thompson
822d989383
Added comment.
2022-09-20 09:49:53 -05:00
Ross Thompson
4c3c517322
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-20 09:47:16 -05:00
David Harris
00c15ec472
renamed q to u for unified digit selection
2022-09-20 04:35:14 -07:00
David Harris
d01588d693
Removed D2 and D2b from radix2 stage
2022-09-20 04:20:38 -07:00
David Harris
2ea7df1b6d
Simplified UM initialization
2022-09-20 04:18:12 -07:00
David Harris
0d5e80a4f0
fdivsqrtfgen4 comments
2022-09-20 04:13:21 -07:00
David Harris
653c458241
Moved fpu modules into subdirectories
2022-09-20 04:12:05 -07:00
David Harris
0ec1886b89
Partitioned fdivsqrt into one module per file and added file names to opening comments
2022-09-20 03:57:57 -07:00
David Harris
a05b6486b1
Simplified fdivsqrtpostproc QmM logic
2022-09-20 03:30:18 -07:00
David Harris
87cde2c427
make QmM size b+1 indpenedent of radix
2022-09-20 03:25:09 -07:00
David Harris
e455f41b97
clean up divshiftcalc
2022-09-20 03:19:50 -07:00
David Harris
211705eca2
clean up divshiftcalc
2022-09-20 03:17:29 -07:00
David Harris
d3b2a192eb
clean up divshiftcalc
2022-09-20 03:13:11 -07:00
David Harris
f5083803c2
clean up divshiftcalc
2022-09-20 03:08:25 -07:00
David Harris
2faa0d14be
Cleaning up divshiftcalc LOGNORMSHIFTSZ
2022-09-20 02:35:01 -07:00
Jacob Pease
1e7bbe1a87
Fixed rxfifotimeout restarting for every new character, even when already high.
2022-09-19 18:00:30 -05:00
cturek
019a6eb9f5
Radix 4 sqrt passing first two tests
2022-09-19 21:26:32 +00:00
Ross Thompson
bcca9a62c5
Fixed up IFU ahb interface names and widths.
2022-09-19 10:54:22 -05:00
David Harris
8e90862dad
Removed EarlyTermShift from fdiv
2022-09-19 08:44:23 -07:00
David Harris
73ceb4590c
Finished unified divsqrt otfc and fgen name changes
2022-09-19 08:30:59 -07:00
David Harris
3cf6becaf4
fdivsqrtiter simplification
2022-09-19 01:08:01 -07:00
David Harris
e840edc4e6
Reduced number of cycles needed for division
2022-09-19 01:02:04 -07:00
David Harris
d6f1453275
Cleaned up otfc4
2022-09-19 00:58:20 -07:00
David Harris
309995a6e9
OTFC simplification
2022-09-19 00:51:56 -07:00
David Harris
59b6346a28
Removed unused otfc for Q
2022-09-19 00:43:27 -07:00
David Harris
e764d4322c
fdiv cleanup
2022-09-19 00:32:34 -07:00
David Harris
cf0c20d489
Division working again for radix 2 with unified OTFC
2022-09-19 00:30:30 -07:00
David Harris
b636072914
Unified on-the-fly conversion working for radix 2; broke radix-4 division
2022-09-19 00:04:00 -07:00
David Harris
4dbe1035cb
Added 2 bits to C to initialize properly
2022-09-18 22:44:22 -07:00
David Harris
f202eb0f6f
Added 2 bits to C to initialize properly
2022-09-18 22:42:35 -07:00
David Harris
cff3c2535d
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-18 21:27:36 -07:00
David Harris
498c053aab
FP testbench
2022-09-18 21:27:21 -07:00
David Harris
f38bb5b32e
Divide testfloat starts with half-precision tests
2022-09-18 06:46:47 -07:00
Ross Thompson
57c366c1b2
Removed NonIROM and NonDTIM select signals from IFU and LSU.
2022-09-17 22:01:03 -05:00
Ross Thompson
cb34b7c98f
Found the ahb burst bug.
...
We had instruction fetches fixed HSIZE = 2 (4 bytes) for all requests. It should be HSIZE = 3 (8 bytes) for cache fetches and 4 for uncached reads. The reason this worked for non burst is the DDR4 memory controller returns the full double word even for 4 byte reads. In burst mode the second beat ending up pointing to the next 4 bytes rather than the next 8 bytes.
2022-09-17 20:30:01 -05:00
David Harris
b74a68ff0f
Reduced number of cycles required for lower-precision sqrt
2022-09-17 09:55:34 -07:00
David Harris
ac78823f6c
Starting to adust number of cycles for division/sqrt
2022-09-17 05:58:59 -07:00
cturek
79addec27a
Fixed j1 to align with new C reg
2022-09-16 02:15:48 +00:00
Kip Macsai-Goren
cc7d1c8ef9
Created initial endianness tests
2022-09-16 01:06:26 +00:00
David Harris
8f2b3b2387
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-15 12:49:21 -07:00
David Harris
94dca9194e
renamed endianswap
2022-09-15 12:49:18 -07:00
Ross Thompson
38e114a6c0
Fixed subword read to work with bigendian.
2022-09-15 14:08:04 -05:00
David Harris
29d9ded25c
FDIVSQRT cleanup
2022-09-15 09:10:57 -07:00
Ross Thompson
cea012a640
renamed multimanager to multicontroller.
2022-09-14 14:03:37 -05:00
Ross Thompson
bf6468a24c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-14 13:59:22 -05:00
cturek
da67e02392
Added shift for radix 4 sqrt
2022-09-14 17:34:24 +00:00
cturek
47d02db2eb
Moved X-1 to preproc
2022-09-14 17:26:56 +00:00
cturek
fe77b5e37b
Delete srt
2022-09-14 17:02:42 +00:00
cturek
4f3baea0fc
removed unnecessary XZero from wsmux
2022-09-14 16:59:52 +00:00
David Harris
14bbd07e63
ZMerge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-14 09:42:17 -07:00
Ross Thompson
2c86badeb2
pipelining of fetch into evict AHB requests.
2022-09-13 17:51:55 -05:00
Ross Thompson
c7d3580637
Renamed signals in the LSU.
2022-09-13 11:47:39 -05:00
David Harris
1495305045
Removed unused signals
2022-09-12 11:35:35 -07:00
David Harris
7197a6de44
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-08 16:05:58 -07:00
David Harris
7639c05e51
Moved C to shift before rather than after using in an iteration
2022-09-08 16:05:53 -07:00
David Harris
7ba9b0b349
divsqrt comment cleanup
2022-09-08 15:40:42 -07:00
Ross Thompson
c4a7d3c147
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-08 17:15:46 -05:00
David Harris
5ea82cff33
CSA-based completion detection
2022-09-08 14:58:08 -07:00
Ross Thompson
7f1ae039b0
Optimization. Able to remove hptw address muxes from the E stage.
2022-09-08 15:51:18 -05:00
Ross Thompson
0904951a8c
Oups the ahbinterface.sv was accidentally named abhinterface.sv.
2022-09-08 13:21:37 -05:00
Ross Thompson
6e8d97e921
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-07 16:36:51 -05:00
Ross Thompson
f4e3036593
Oups fixed order of ending swap with mux between cache and fetch buffer.
2022-09-07 16:29:47 -05:00
David Harris
2d5e7827df
Factored out aplusbeq0 unit
2022-09-07 11:36:35 -07:00
David Harris
c730ddf74a
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-07 11:11:39 -07:00
David Harris
7a29f9c95b
Running 16-bit square root cases first in testfloat
2022-09-07 11:11:35 -07:00
Ross Thompson
0615798467
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-09-07 12:26:50 -05:00
David Harris
ce6e153b15
Run 16-bit fsqrt tests first
2022-09-07 10:26:09 -07:00
Ross Thompson
83306ec238
Named change for ahb tests to be less annoying.
2022-09-07 12:24:41 -05:00
David Harris
838d98cf4b
Preprocessing cleanup
2022-09-07 10:21:27 -07:00
Ross Thompson
3571fb18c2
Modified regression tests to add some ahb configurations.
2022-09-07 12:03:58 -05:00
David Harris
dff9416a33
Added rv32i config for regression of wally32periph
2022-09-07 09:37:59 -07:00
Ross Thompson
5a0cda9860
Merge branch 'multimanager' into main
2022-09-07 10:54:27 -05:00
David Harris
c8e0ea067e
Continued simplifying fdivsqrt postprocessing
2022-09-07 07:02:22 -07:00
David Harris
b0ff3a0952
Continued simplifying fdivsqrt postprocessing
2022-09-07 07:00:13 -07:00
David Harris
9e7926e8d7
Moving postprocessing into postproc block
2022-09-07 06:42:37 -07:00
David Harris
c39e71f168
fdivsqrtfsm cleanup
2022-09-07 06:32:07 -07:00
David Harris
027b303b20
fdivsqrtfsm cleanup
2022-09-07 06:27:01 -07:00
David Harris
19e449b83d
Fixed regression for divsqrt radix2
2022-09-07 06:12:23 -07:00
Ross Thompson
7ad7cea25b
James found a bug in synchronizer. Was not actually back to back flip flops.
2022-09-06 15:06:54 -05:00
Ross Thompson
bc15f6c5e4
Added logic to make burst optional.
2022-09-06 09:21:21 -05:00
Ross Thompson
68a200d728
Added generate around the longer latency version of the ram_ahb.sv
2022-09-06 09:21:03 -05:00
Ross Thompson
20643ffc4a
Names changes.
2022-09-05 20:49:35 -05:00
Ross Thompson
2554f96662
Cleaned up hacks to ram.
2022-09-04 14:52:40 -05:00
Ross Thompson
c87268baf1
Modified ram_ahb to work with different latencies.
2022-09-04 14:46:15 -05:00
Ross Thompson
f9daa7f6b9
Progress towards fixing the select HREADY muxing in uncore.
2022-09-04 13:07:49 -05:00
Ross Thompson
221367efb9
Disabled AHB burst mode, which discovered a bug.
...
Multimanger bug in how back to back requests were arbitrated.
2022-09-03 22:31:41 -05:00
cturek
254bb8e0a0
Old changes to old files
2022-09-03 22:09:55 +00:00
Ross Thompson
d601fdf186
Possible fix to AHB burst eviction bug. If HREADY went low during a burst seq the next data phase would only last 1 cycle.
2022-09-02 19:58:41 -05:00
Ross Thompson
00cffb0aa5
Renamed state in buscachefsm to match AHB phases.
2022-09-02 17:17:40 -05:00
Ross Thompson
6f2acf678c
Renamed states in busfsm to match AHB phases and book names.
2022-09-02 17:12:36 -05:00
Ross Thompson
6f366c643d
Possible fix for AHB trailing ~HREADY bug.
2022-09-02 16:58:35 -05:00
Ross Thompson
3361a06c62
Merge branch 'multimanager' of github.com:davidharrishmc/riscv-wally into multimanager
2022-09-02 16:31:07 -05:00
Ross Thompson
5d2b299182
Fixed brom1p1r.sv to have fpga preload.
2022-09-02 15:49:50 -05:00
Ross Thompson
c1de88d929
Merge branch 'multimanager' of github.com:davidharrishmc/riscv-wally into multimanager
2022-09-02 13:54:48 -05:00
Ross Thompson
4d60d9a840
Fixed up FPGA constraints.
...
Added back in the fpga boot rom preload.
2022-09-02 13:54:35 -05:00
David Harris
41448663b9
Initial radix 4 square root debuggin
2022-09-01 16:57:57 -07:00
Ross Thompson
055b55402f
clean up subword write.
2022-09-01 17:55:19 -05:00
David Harris
5e26bcced1
Fixed lint errors in square root and improved waveforms in testfloat
2022-09-01 15:49:13 -07:00
Ross Thompson
eae56a890c
marked possible improvement to ahb bus fsms.
2022-08-31 23:57:08 -05:00
David Harris
199296dd03
fdiv debug
2022-08-31 14:26:31 -07:00
Ross Thompson
7598fbcb3b
Reduced busfsm to 3 states!
2022-08-31 16:11:59 -05:00
Ross Thompson
6f3dad8207
Simplified.
2022-08-31 15:40:56 -05:00
Ross Thompson
0f2315e8a1
more renaming.
2022-08-31 14:52:06 -05:00
Ross Thompson
12d1ef2144
More renaming.
2022-08-31 14:49:08 -05:00
Ross Thompson
c03b202ab0
Moved files.
...
Encapsulated ahbinterface.
2022-08-31 14:45:01 -05:00
Ross Thompson
f2f1169a04
Renamed AHBCachebusdp to abhcacheinterface.
2022-08-31 14:12:19 -05:00
Ross Thompson
1b339f0547
Moved files around.
2022-08-31 14:08:06 -05:00
Ross Thompson
cc7b35b831
Merge branch 'multimanager' into main
2022-08-31 13:10:22 -05:00
Ross Thompson
10817f7885
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-31 13:10:04 -05:00
David Harris
09456db445
Checking in radix 4 square root with qsel, fgen, softc, but not working
2022-08-31 10:54:50 -07:00
Ross Thompson
0d3f03ac06
Major cleanup of multimanager.
2022-08-31 12:40:25 -05:00
Ross Thompson
77cc549cfa
Cleanup multimanager.
2022-08-31 12:04:44 -05:00
Ross Thompson
f3d611c686
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-31 11:38:29 -05:00
Ross Thompson
eaa9cbda46
cleanup of multimanager.
2022-08-31 11:38:06 -05:00
Ross Thompson
a0f681944c
More Cleanup.
2022-08-31 11:21:02 -05:00
Ross Thompson
8156109add
More cleanup.
2022-08-31 11:12:38 -05:00
Ross Thompson
4b167ad21e
More simplifications.
2022-08-31 10:45:16 -05:00
Ross Thompson
a93c5b0f0a
Trade off. Added additional state to bus fsm separating STATE_CACHE_ACCESS into STATE_CACHE_FETCH and STATE_CACHE_EVICT. This allows removing CacheRWDelay. Saves a bit of logic but fsm is more complex. Also the fsm outputs are simplier.
2022-08-31 10:36:30 -05:00
Ross Thompson
ed2a9225ea
Removed unused old versions of the bus controllers.
2022-08-31 09:51:54 -05:00
Ross Thompson
89f13370e2
Removed old signals.
2022-08-31 09:50:39 -05:00
DTowersM
48a1abf06f
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-08-31 00:18:04 +00:00
DTowersM
bdeb5c6509
fixed qrduino keyerror in embench test
2022-08-31 00:17:58 +00:00
Ross Thompson
5409501ca6
Maybe fixed it?
2022-08-30 18:08:34 -05:00
Ross Thompson
cce3fdd0e3
Updates to wave file.
2022-08-30 17:34:36 -05:00
Ross Thompson
8b9f30c91a
more progress.
2022-08-30 17:32:32 -05:00
Ross Thompson
fab3a2b791
Temporary commit.
2022-08-30 15:40:42 -05:00
Ross Thompson
315f662eb9
More progress.
2022-08-30 15:27:19 -05:00
Ross Thompson
637d60b64c
Progress.
2022-08-30 14:17:00 -05:00
David Harris
e1760dde55
Fixed checking termination in testfloat testbench
2022-08-30 10:55:21 -07:00
Ross Thompson
8cf3c7b352
new cache bus fsm not working but lints.
...
Forgot a few files in the last commit.
2022-08-30 10:58:07 -05:00
Ross Thompson
a2220fc142
Have a rough working multi manager!
2022-08-29 17:11:27 -05:00
Ross Thompson
f5584bb41c
Modified rv32e configuration to use a true ahb bus interface in the lsu and ifu.
2022-08-29 17:04:53 -05:00
David Harris
28db4fdc70
commented out lines to have divider work again
2022-08-29 13:01:32 -07:00
David Harris
87b77658f2
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-29 12:01:13 -07:00
David Harris
a6efbb3fda
Initial FDIVSQRT simplification working
2022-08-29 12:01:09 -07:00
Ross Thompson
233777f744
Part way through the updated bus fsm for direct AHB in lsu/ifu + multi-manager.
2022-08-29 13:01:24 -05:00
Ross Thompson
e805f33f4e
Typo.
2022-08-29 11:40:35 -05:00
Ross Thompson
dceaf6e4e3
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-29 11:38:37 -05:00
Ross Thompson
e7de0e033e
Added comments about planned changes.
2022-08-29 09:48:00 -05:00
David Harris
a82cf3d0ba
Simplify FSM
2022-08-29 04:32:27 -07:00
David Harris
7856f08e1d
Renamed special case
2022-08-29 04:29:58 -07:00
David Harris
7d4e85bf21
Separated out radix 2 and radix 4 stages into different modules
2022-08-29 04:26:14 -07:00
David Harris
2788022c22
renamed srt to fdivsqrt
2022-08-29 04:04:05 -07:00
Ross Thompson
7b76fbaa9a
Removed ignore request from busfsm.
2022-08-28 21:12:27 -05:00
Ross Thompson
122c88ee46
Created two new pma regions for dtim and irom.
2022-08-28 13:50:50 -05:00
Ross Thompson
5e63af5887
Reordered the adrdecs.
2022-08-28 13:38:57 -05:00
Ross Thompson
dd7736cb93
Possible fix.
2022-08-28 13:10:47 -05:00
Ross Thompson
a81fcc6b4b
Partial fix to bus + dtim.
2022-08-27 23:44:17 -05:00
David Harris
f2517f8290
Preliminary work to make DTIM and Bus compatible. Not yet working because accesses to bus are causing illegal address faults on the bus.
2022-08-27 20:31:09 -07:00
David Harris
60b673cafd
Adding decoding for dtim. Added rv32ic_wally32periph test, which should hang until decoder overrides bus
2022-08-27 05:31:56 -07:00
David Harris
4aa30c48aa
fixed wally-config
2022-08-26 22:13:10 -07:00
David Harris
37f0b52520
Fixed address decoder hanging buildroot
2022-08-26 22:01:25 -07:00
David Harris
d0dbc74492
Fixed DTIM/IROM_BASE number of bits in buildroot/fpga configs
2022-08-26 21:29:26 -07:00
David Harris
2b241f8bbd
Set bit width of DMEM/IROM_SUPPORTED and fixed address decoding
2022-08-26 21:18:18 -07:00
David Harris
03e731b3ff
Set correct size of IROM/DTIM and allow FLEN>XLEN with DTIM
2022-08-26 21:05:20 -07:00
David Harris
f0b4f69b65
Added IROM and DTIM decoding to adrdecs
2022-08-26 20:45:43 -07:00
David Harris
812158aeee
Replaced DTIM and IROM with DTIM_SUPPORTED, IROM_SUPPORTED, and base and range for each
2022-08-26 20:26:12 -07:00
David Harris
95dd50a567
Renamed DMEM to DTIM and added checks about compatibility of DTIM/IROM and virtmem
2022-08-26 20:12:03 -07:00
David Harris
ca6837f597
Fixed endian swapping on bus only
2022-08-26 19:58:04 -07:00
David Harris
5f37e16b62
Fixed rv32e LSU and IFU issues
2022-08-25 20:02:38 -07:00
David Harris
671ea60f3e
lsu simplification
2022-08-25 18:52:42 -07:00
David Harris
ec2c6d4fcb
busfsm simplified
2022-08-25 18:36:53 -07:00
David Harris
f262abb5c3
Removed unused signals
2022-08-25 18:34:39 -07:00
David Harris
b73286ece6
Removed unused signals
2022-08-25 18:30:46 -07:00
David Harris
949e76bc83
Removed UncachedBusRead and UncachedBusWrite
2022-08-25 18:24:39 -07:00
David Harris
e39694694c
Restored ahbtranstype
2022-08-25 18:22:26 -07:00
David Harris
83d3782f2c
Removed ahbtranstype
2022-08-25 18:21:45 -07:00
David Harris
543fbd1fa9
Removed WordCountFlag
2022-08-25 18:21:18 -07:00
David Harris
d118fcbde8
Removed UncachedAccess
2022-08-25 18:20:52 -07:00
David Harris
bac95823b6
Removed UncachedRW
2022-08-25 18:19:41 -07:00
David Harris
cfcde754c3
Removed CacheBusAck
2022-08-25 18:17:34 -07:00
David Harris
9bc62ce124
Removed SelUncachedAdr
2022-08-25 18:15:59 -07:00
David Harris
f39e62eeea
Removed Cache_Enabled
2022-08-25 18:13:34 -07:00
David Harris
5bfaf31df0
Removed STATE_BUS_FETCH and STATE_BUS_WRITE
2022-08-25 18:12:09 -07:00
David Harris
85e93e2bb7
Removed CacheFetchLine and CacheWriteLine
2022-08-25 18:10:15 -07:00
David Harris
23a102b1b9
Removed CountEn
2022-08-25 18:05:44 -07:00
David Harris
e485e986a5
Removed wordcount
2022-08-25 18:04:49 -07:00
David Harris
69dff87feb
Added buscachefsm for system with bus and cache
2022-08-25 18:01:01 -07:00
David Harris
5340c45dfc
Separated busdp for cache from simpler logic for no cache
2022-08-25 17:54:04 -07:00
David Harris
9a92bfe095
Simplified swbytemask
2022-08-25 17:32:16 -07:00
David Harris
eb753b3b3f
FIxed wallypipelinedsoc merge conflict
2022-08-25 15:36:47 -07:00
David Harris
902d2067ba
Removed delayed AHB signals from top level
2022-08-25 15:34:14 -07:00
Ross Thompson
db635e3ad2
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-25 16:01:02 -05:00
Ross Thompson
8c8b95ecf5
Finally resolved the issues with the rv32ic and rv64ic configurations.
2022-08-25 16:00:55 -05:00
Ross Thompson
5c2bc20dbd
Almost fixed issues with irom and dtim address selection.
2022-08-25 15:52:25 -05:00
David Harris
302a7fa294
Extended HADDR to PA_BITS
2022-08-25 13:11:36 -07:00
Ross Thompson
179aec3616
Still not working with rv32ic.
2022-08-25 15:03:54 -05:00
David Harris
07225cabb7
Fixed brom name
2022-08-25 12:48:00 -07:00
Ross Thompson
d23888407b
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-25 14:45:02 -05:00
David Harris
1226b2889e
ahblite cleanup
2022-08-25 12:44:25 -07:00
Ross Thompson
3b612d6201
Possible fixes for earily messup of rv32ic and rv64ic configs.
2022-08-25 14:42:08 -05:00
Ross Thompson
f67010c688
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-25 14:40:52 -05:00
David Harris
bc0c7d0cd8
Cleaned up SelBusWord
2022-08-25 11:18:13 -07:00
David Harris
c442dea173
Removed M sufix from busdp signals
2022-08-25 11:13:01 -07:00
David Harris
48f346baf8
Renamed LSUFunct3M to Funct3 in busdp
2022-08-25 11:08:12 -07:00
David Harris
9bada9c14a
Renaming LSU signals from busdp
2022-08-25 11:05:10 -07:00
David Harris
3ba961d1a8
renamed BusBuffer to FetchBuffer
2022-08-25 10:44:39 -07:00
David Harris
dda3b441d7
Continued busdp/ebu simplification
2022-08-25 10:20:02 -07:00
David Harris
19fe6d106c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-25 09:52:49 -07:00
David Harris
aba914ea5e
Renamed AHB signals coming out of LSU to LSH_<AHBNAME>
2022-08-25 09:52:08 -07:00
Ross Thompson
e605ef57dc
BROKEN. Don't use this commit.
...
Issue running cacheless with bus.
2022-08-25 11:02:46 -05:00
Ross Thompson
b0aea77b20
Added generate around uncore.
2022-08-25 10:35:24 -05:00
Ross Thompson
01a7718471
Added generate around ebu.
2022-08-25 09:24:13 -05:00
Ross Thompson
ad485fe591
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-25 09:03:34 -05:00
Ross Thompson
701324eeb8
Updated ila signals.
...
Improve fpga wave config.
added back in the fpga preload.
2022-08-25 09:03:29 -05:00
David Harris
ae0702d129
Renamed DCache to Cache in busdp/busfsm signal interface
2022-08-25 06:21:22 -07:00
David Harris
3500286803
Cleanup typos
2022-08-25 04:32:19 -07:00
David Harris
db5c941d6f
Minor name cleanups
2022-08-25 04:28:25 -07:00
David Harris
1206b388c7
Replaced dtim with rom-based IROM in IFU. Moved cache control signals out of DTIM and IROM
2022-08-25 04:06:27 -07:00
David Harris
f7209627c2
removed simpleram and modified dtim to use bram1p1rw
2022-08-25 03:39:57 -07:00
David Harris
562be633ab
Stripped write capaibilty out of rom_ahb
2022-08-24 17:23:08 -07:00
David Harris
a131e1f17a
Added ROM module and moved memories into generic/mem
2022-08-24 17:03:22 -07:00
David Harris
6785644fb8
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-24 16:30:28 -07:00
David Harris
b21b91234b
Ram cleanup
2022-08-24 16:30:25 -07:00
Ross Thompson
d10edfa5e0
No longer need wally-pipelined-fpga.do.
2022-08-24 18:10:45 -05:00
Ross Thompson
769af32f2a
Renamed RAM to UNCORE_RAM.
2022-08-24 18:09:07 -05:00
Ross Thompson
fc22e807e2
Merged testbench-fpga into testbench.
...
Modified SDC to simplify LimitTimers. LimitTimers needs to be 0 for implmementation and 1 for simulation.
2022-08-24 17:52:25 -05:00
Ross Thompson
4a371b6829
added SD card and external ram to common testbench.
2022-08-24 13:27:18 -05:00
Ross Thompson
d23b309e0d
Fixed lint errors with bram wrapper.
2022-08-24 13:19:23 -05:00
Ross Thompson
51adf6cba9
Modified the lsu/ifu memory configurations.
2022-08-24 12:35:15 -05:00
David Harris
bcb52acfba
bram synthesis test
2022-08-23 19:34:45 -07:00
Ross Thompson
e4cbb43c67
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-23 18:52:15 -05:00
Ross Thompson
642dc170d7
Found small bug in busfsm which was issuing 1 extra memory read after each cache line fetch. Does not appear to have translated to an extra read out of ahblite.
2022-08-23 18:51:11 -05:00
David Harris
5eebd521c5
Fixed FPU-IEU forwarding stall
2022-08-23 14:14:41 -07:00
David Harris
d72068d582
Only stall FPU to IEU on convert instructions with dependencies
2022-08-23 12:57:18 -07:00
David Harris
05aa18fe14
Cleaned up fcvt selection control to IEU and FPUIllegalInst signals
2022-08-23 12:17:19 -07:00
David Harris
d19fc99bf0
Simplify IEU-FP datapath
2022-08-23 11:16:36 -07:00
David Harris
f72d07adce
Improved illegal instruction checking in FPU
2022-08-23 11:08:02 -07:00
David Harris
c61dba6192
Fixed LSU typos
2022-08-23 10:23:08 -07:00
David Harris
2a1bd53663
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-23 10:14:59 -07:00
David Harris
029aecabf7
typo in srtfsm
2022-08-23 10:14:54 -07:00
Katherine Parry
fe0c6afe58
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-08-23 16:36:32 +00:00
Katherine Parry
4e33ead413
renamed rounding bits to L,G,R,S and fixed lint warning
2022-08-23 16:36:20 +00:00
Ross Thompson
8d4301e2f6
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-23 11:15:04 -05:00
Ross Thompson
20ba6fd19c
Reversed order of supported sized in adrdecs.
2022-08-23 11:14:53 -05:00
Ross Thompson
5efec3b1f3
Replaced FPU data replicaiton on WriteData bus with 0 extention.
2022-08-23 10:46:03 -05:00
Ross Thompson
aa5cbab0d8
Replaced LSU data replication with 0 extention.
2022-08-23 10:43:47 -05:00
Ross Thompson
3b07584403
Updated the names of the *WriteDataM inside the LSU to more meaningful names.
...
Moved the FWriteDataMux so that the bus and dtim both get fpu stores.
Modified the PMA to disallow double sized reads when XLEN=32.
2022-08-23 10:34:39 -05:00
David Harris
7fcc852687
Q depends on D
2022-08-23 08:29:59 -07:00
David Harris
e714b75888
LSU minor edits
2022-08-23 07:35:47 -07:00
David Harris
16a92eaf10
Updated testbench assertions.
2022-08-23 07:23:24 -07:00
David Harris
3c91df95d9
Named HTRANS states in busfsm
2022-08-22 13:56:46 -07:00
David Harris
6cfbf95d98
Renamed signals for LSU - FPU interface
2022-08-22 13:47:56 -07:00
David Harris
c789b5789c
renamed GrantData to LSUGrant
2022-08-22 13:47:19 -07:00
David Harris
0e489443f2
Finished FPU-LSU interface cleanup
2022-08-22 13:43:04 -07:00
David Harris
ea153e0aad
Removed FStore2 and simplified HPTW
2022-08-22 13:29:54 -07:00
David Harris
8444eca57c
Simplified FPU-LSU interface to skip IEU
2022-08-22 13:29:20 -07:00
David Harris
774cddf33c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-22 13:28:54 -07:00
David Harris
d556adde16
Simplified FPU-LSU interface to skip IEU
2022-08-22 13:28:51 -07:00
Katherine Parry
a9be193a35
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-08-22 17:16:25 +00:00
Katherine Parry
36be692c0b
sqrt passes - lint warnings remain
2022-08-22 17:16:12 +00:00
David Harris
2e20b3ed72
Removed 2-cycle FPU-IEU latency stall
2022-08-22 16:14:15 +00:00
David Harris
bdfc49f847
moved CSA to generic
2022-08-22 08:41:23 +00:00
David Harris
f10793e85d
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-08-22 08:28:31 +00:00
David Harris
f6f09db4fb
Commented out unused comparators
2022-08-22 08:28:28 +00:00
Ross Thompson
dbbb3ff1d1
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-21 16:03:11 -05:00
Ross Thompson
ebe4339953
Updated fpga test bench.
...
Solved read delay cache bug. Introduced during cache optimizations.
2022-08-21 15:59:54 -05:00
Ross Thompson
85dbec5969
Hmm. Found a bug with the cache's changes from the summer. Cannot return data to CPU at the same time as a write to cache's SRAM and also start another memory operation.
2022-08-21 15:28:29 -05:00
Ross Thompson
f3f0f12904
Removed logic from Verilog wrapper.
2022-08-21 14:07:43 -05:00
Ross Thompson
82cce9a627
Updated fpga testbench.
2022-08-21 14:07:26 -05:00
Katherine Parry
a191603a1a
fixed -1 issue in division
2022-08-20 00:53:45 +00:00
Ross Thompson
2ba390adf4
Possible reduction of ignorerequest.
2022-08-19 18:07:44 -05:00
Ross Thompson
517c0f6c35
Changed signal names.
2022-08-17 16:12:04 -05:00
Ross Thompson
f6e5746e59
Better name for LSUBusWriteCrit. Changed to SelLSUBusWord.
2022-08-17 16:09:20 -05:00
Ross Thompson
299aefb76a
Removed old code from interlockfsm.
2022-08-17 12:52:56 -05:00
Katherine Parry
9549c23f45
sqrt tests in regression uncommented and pass
2022-08-07 23:38:10 +00:00
Katherine Parry
cb0c1b7488
radix-2 1 copy passes testfloat
2022-08-06 22:54:05 +00:00
Katherine Parry
de6ae471bc
fixed fsw problem and removed 2 bit shift from shift correction
2022-08-03 22:16:51 +00:00
David Harris
898dbc8e74
Completed PLIC-S tests. Regression working. This completes peripheral tests.
2022-08-03 09:33:56 -07:00
David Harris
7e5b78f240
plic-s debug
2022-08-03 12:33:09 +00:00
David Harris
e70b28f7f6
FMA cleanup
2022-08-02 07:42:32 -07:00
David Harris
2b932c4b80
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-02 07:34:12 -07:00
David Harris
887e4c73fb
Moved InvA to sign block; simplified fmaexpadd coding
2022-08-02 07:34:09 -07:00
Ross Thompson
413a9bf58b
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-01 22:09:11 -05:00
Ross Thompson
57fcf0ef79
Fixed fstore2 in cache?
2022-08-01 22:04:44 -05:00
David Harris
06c4f18cd1
merged lza back into main
2022-08-01 19:45:21 -07:00
David Harris
8147f75399
Fixed fmaadd to work with new LZA
2022-08-01 19:40:55 -07:00
Ross Thompson
797d9e3610
Replaced swbytemask with swbytemaskword (1 liner). Credit to David Harris.
2022-08-01 21:12:25 -05:00
Ross Thompson
3cd8404917
Replaced LOGWPL with LOGBWPL (Bus words per line) and LOGCWPL (cache words per line). Replaced with wordlen/8 bytemask.
2022-08-01 21:08:14 -05:00
Ross Thompson
3612db2d70
pulled swbbytemask out of subword write.
2022-08-01 20:48:45 -05:00
David Harris
7e4b04ff64
Parameterized fmalza
2022-08-01 16:18:02 -07:00
David Harris
94fa7a00e7
Completed LZA simplificaiton
2022-08-01 16:13:16 -07:00
David Harris
3b937b73fd
lza cleanup
2022-08-01 16:01:02 -07:00
David Harris
b614f165fb
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-08-01 15:47:58 -07:00
David Harris
91597bba87
lza cleanup
2022-08-01 15:47:03 -07:00
David Harris
f56b26ec40
lza cleanup
2022-08-01 15:43:48 -07:00
David Harris
c3e9719c99
lza cleanup
2022-08-01 15:40:12 -07:00
David Harris
d6b5e7a6ef
lza cleanup
2022-08-01 15:37:09 -07:00
Katherine Parry
8ff3a693af
regression passes fpu tests
2022-08-01 19:56:25 +00:00
Katherine Parry
9c68f85822
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-08-01 19:55:50 +00:00
David Harris
2869d67e50
more lza cleanup
2022-08-01 12:34:00 -07:00
David Harris
b34d2065c3
LZA cleanup
2022-08-01 12:30:42 -07:00
David Harris
99462049e7
LZA refactoring switched to Pp1, Gm1, Km1
2022-08-01 12:20:23 -07:00
David Harris
3c08aabcd3
LZA refactoring
2022-08-01 11:36:21 -07:00
Katherine Parry
eddf6e9ee1
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-08-01 18:35:07 +00:00
David Harris
7f9b601467
fmalza edits to match textbook
2022-08-01 18:23:39 +00:00
David Harris
257107f908
Partitioned fma into separate files
2022-08-01 18:07:38 +00:00
Ross Thompson
1ee613ae6c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-07-31 12:48:51 -05:00
Katherine Parry
1bd6351e1f
re-added FStore2 in Cache
2022-07-29 22:54:49 +00:00
David Harris
93d7d7179e
Added parity and stop bit tests to UART
2022-07-28 04:35:51 +00:00
David Harris
75a265159b
Increased timeout threshold to avoid timeout building riscof tests on slow machine
2022-07-27 04:05:21 +00:00
David Harris
9ecef0c4cd
fixed testbench merge comflict
2022-07-26 06:21:46 -07:00
David Harris
2d7f4b133c
More work toward riscof tests
2022-07-26 06:19:13 -07:00
David Harris
766252db1b
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-25 23:29:08 +00:00
David Harris
5c54c5b521
Added rv32f tests to RV64gc
2022-07-25 23:29:05 +00:00
David Harris
c6a58eb5b6
Tests making successfully except for rv32gc_arch32f, which has FLEN=64 and tries using fld/fsd
2022-07-25 16:23:10 -07:00
David Harris
416f5edfe0
More riscof makefile tuning
2022-07-25 21:15:56 +00:00
David Harris
7f7b3359b0
Cleaning up Makefiles for riscof to run each set of tests individually and eliminate warnings
2022-07-25 20:50:38 +00:00
Ross Thompson
40e7cda84a
Don't use this commit yet. Untested.
2022-07-24 15:40:52 -05:00
Ross Thompson
719b00e338
Overlapped read fetch line end with eviction write line start. I'm a bit concerned this is not well tested.
2022-07-24 01:20:29 -05:00
Ross Thompson
69d520a7eb
Removed replay from the config files.
2022-07-24 00:34:11 -05:00
Ross Thompson
f3cf46d633
Added more i-cache signals to wave file.
2022-07-24 00:24:13 -05:00
Ross Thompson
cd68896637
Merged evict dirty clear with flush write back.
2022-07-24 00:22:43 -05:00
Ross Thompson
8193946996
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-07-23 08:41:59 -05:00
Ross Thompson
05484c4c05
signal name cleanup.
2022-07-22 23:36:27 -05:00
Ross Thompson
27e32980ad
cache cleanup after removing replay on cpubusy.
2022-07-22 23:30:25 -05:00
Ross Thompson
17ae1a1b1b
cache fsm cleanup after removal of replay.
2022-07-22 23:25:09 -05:00
Ross Thompson
abc79c6c8e
Possible improvement to cache which removes the cpu_busy states.
2022-07-22 23:20:37 -05:00
Katherine Parry
655e2d3810
merged radix-2 sqrt into divider - doesnt work yet
2022-07-23 00:41:18 +00:00
slmnemo
bfced6bfe8
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-07-22 17:13:38 -07:00
slmnemo
ca4511b6dc
Fixed UART FIFO bugs and added FIFO tests
2022-07-22 17:13:19 -07:00
Daniel Torres
d0aaae26fe
fixed wally rv32e tests, updated regression makefile to new testflow
2022-07-22 17:09:46 -07:00
Katherine Parry
b3d932cd61
divider sizes reworked to match book
2022-07-22 22:02:04 +00:00
Daniel Torres
24828db612
changes to test.vh for compatability
2022-07-22 15:00:48 -07:00
Daniel Torres
4198145ce2
added changes to stvec of reference signatures, modified some tests to copy over reference file instead of running on sail
2022-07-22 14:58:55 -07:00
slmnemo
ba2dcf6da4
fixed error in tests.vh
2022-07-22 14:55:55 -07:00
slmnemo
ec1ed5bd94
Added UART test to peripheral test
2022-07-22 14:55:34 -07:00
Daniel Torres
574e603d69
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-07-22 13:52:19 -07:00
Daniel Torres
139e657fcc
commented out embench test that should be commented out
2022-07-22 13:52:13 -07:00
slmnemo
df411497e0
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-07-22 12:36:06 -07:00
slmnemo
cb16a75119
Added PLIC test to regression
2022-07-22 12:35:37 -07:00
Daniel Torres
0e75142ef4
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-07-22 11:16:09 -07:00
Daniel Torres
95fdd408ee
commiting current changes to riscof wally tests
2022-07-22 11:14:04 -07:00
cturek
e2691c02b7
Square root negative exponent handling
2022-07-22 16:45:19 +00:00
slmnemo
df568fd202
Added PLIC and UART tests and new functions to the test library
2022-07-22 07:10:39 -07:00
David Harris
d22587090b
Reset MSR on read
2022-07-22 04:29:27 +00:00
Daniel Torres
ae0f8de2b5
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-07-21 20:59:01 -07:00
Daniel Torres
8dcb794bbb
added support for new version of riscof and arch tests, now supports tests that can be compiled for both rv32 and rv64
2022-07-21 20:58:58 -07:00
slmnemo
95822b77f0
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-07-21 20:35:52 -07:00
slmnemo
3d2c6683d8
Fixed UART bug related to parity and MSR/LSR
2022-07-21 20:35:46 -07:00
cturek
8bfb233204
Changed testbench to operate on two inputs and one output, changed all test generators, changed srt module to return only one output and take in Mod as a signal to compute integer remainder
2022-07-22 01:27:08 +00:00
cturek
c7e84f8e40
Renamed variables, moved output handling to postprocessor, added remainder handling
2022-07-21 20:45:08 +00:00
Daniel Torres
9421b77613
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-07-21 12:50:04 -07:00
Daniel Torres
a8faddf81f
removed ugly /ref/Ref from tests.vh, added back d_fsd-align-01.S and d_fld-align-01.S tests to tests.vh, updated makefile to fix the riscof issues and fix fld fsd tests, updated testbench.sv for comptability with changes
2022-07-21 12:47:51 -07:00
Katherine Parry
0630e2a9a2
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-21 19:38:15 +00:00
Katherine Parry
fbe8bb2298
radix-4 division integrated into srt - not tested
2022-07-21 19:38:06 +00:00
cturek
86ebdd05f0
Division working too
2022-07-21 17:59:10 +00:00
cturek
4793267bd7
Updated Radix2 Sqrt to follow new algorithm
2022-07-21 17:36:21 +00:00
Katherine Parry
7950a675ea
added input enables and improved forwarding
2022-07-21 01:20:06 +00:00
Katherine Parry
a30d9c6bd8
turn off 2 word store durring non-fp instructions
2022-07-20 21:57:23 +00:00
Ross Thompson
1cad05fef9
Minor cleanup of cache.
2022-07-19 23:04:23 -05:00
Ross Thompson
8698799077
Reverted to fetched the demand cache line first then doing the eviction. This is important because of an optimization in the replacement policy. The replacement policy updates the LRU 1 cycle late and reads the LRU 1 cycle late for critical path timing. This means doing the eviction first requires an initial 1 cycle delay but this delay has to be applied to all misses because we don't know if an eviction is required. Since reading the demand line first is logically ok so long as it is not written to the sram until after the eviction.
2022-07-19 22:42:25 -05:00
Katherine Parry
b26297e874
moved ctrl signal registers into fctrl, also a lot of code cleaning
2022-07-20 02:27:39 +00:00
cturek
cce57fdcc5
divsqrt working for floating point
2022-07-20 02:04:20 +00:00
cturek
c3a4a2abdf
New radix-2 algorithm implemented and working
2022-07-20 02:00:43 +00:00
cturek
0f94177765
small changes
2022-07-20 01:36:25 +00:00
Katherine Parry
70d2b2fdd7
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-19 23:44:41 +00:00
Katherine Parry
d61f84e751
oprimized zeros and replaced complex ?: with always_comb
2022-07-19 23:44:37 +00:00
Daniel Torres
5b1adc7a67
commented out embench 2.0 tests
2022-07-19 13:36:18 -07:00
Ross Thompson
a79e5e11f6
Merged together the cache speed updates with the cache sram changes. The fstore2 changes still need to be added.
2022-07-18 23:37:18 -05:00
Katherine Parry
514674417e
moved Se into execute stage
2022-07-19 01:10:10 +00:00
Katherine Parry
64b3e4117b
reworked fmashiftcalc to match book
2022-07-19 00:04:24 +00:00
David Harris
9fd772ce83
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-18 23:11:12 +00:00
Katherine Parry
cce5fb8dfd
moved Ss to execute stage
2022-07-18 20:48:56 +00:00
Katherine Parry
7268b4b334
removed underflow from inexactct calculation
2022-07-18 17:51:18 +00:00
Katherine Parry
d6f1fc12db
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-18 17:31:29 +00:00
Katherine Parry
0210718f19
renamed signals in ocde to match book
2022-07-18 17:31:17 +00:00
Ross Thompson
0ef6137ab9
Added degree of freedom to cache/sram. The sram width in bits is no longer defined by XLEN, but instead a separate parameter. This is decoupled from LINELEN, XLEN, and WORDLEN.
2022-07-17 21:05:31 -05:00
Ross Thompson
8356e5d742
Updated cache sram's to use 1 sram for all words in a way. Still needs to modified to support subdivision by max physical sram width.
2022-07-17 16:20:04 -05:00
David Harris
03f573351a
Rewrote convert shift calculation with always for ease of reading
2022-07-17 16:40:58 +00:00
David Harris
622773343f
restored intPending logic to be sticky for PLIC
2022-07-16 17:43:31 -07:00
Katherine Parry
e3ed40620c
forgot some files
2022-07-15 21:42:45 +00:00
Katherine Parry
304c81eb17
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-15 20:17:08 +00:00
Katherine Parry
5cb9c9f319
merged floating-point radix-2 divider with radix-4
2022-07-15 20:16:59 +00:00
cturek
8c57eca262
Square root radix 2 working, does not work with division
2022-07-14 22:52:09 +00:00
cturek
2f96989aab
Square root
2022-07-14 21:19:45 +00:00
cturek
cabd41a5a0
Six tests passing and a bunch of sizizing issues fixed
2022-07-14 19:38:27 +00:00
Katherine Parry
83cc429700
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-14 18:16:13 +00:00
Katherine Parry
2fe8b6e34c
fixed error in divsqrt
2022-07-14 18:16:00 +00:00
cturek
8f7ffc3f29
S and SM are updating but are not correct yet
2022-07-14 00:39:30 +00:00
Katherine Parry
66bef379cb
renamed a file to fit diagram
2022-07-13 23:44:54 +00:00
cturek
0b91e7526f
DIVLEN and counter updated for sqrt computation and rounding
2022-07-13 22:42:39 +00:00
Katherine Parry
3dcddf8453
some code cleanup
2022-07-13 15:28:22 -07:00
Katherine Parry
b874c5c05d
removed minus 1 case in rounding
2022-07-13 15:01:38 -07:00
cturek
97a1548356
radix 4 files removed from srt and divlen modified for sqrt
2022-07-13 19:46:48 +00:00
cturek
b1906399aa
Lint error fixed and added comments to preprocessing
2022-07-13 19:34:04 +00:00
cturek
5975d0d470
Testbench accepts standard test vector files
2022-07-13 18:30:18 +00:00
cturek
3ed6b8d1ff
Test generation files in common format
2022-07-13 18:11:13 +00:00
cturek
120994b42b
Finalized sqrt, ready for debugging
2022-07-13 17:56:23 +00:00
cturek
6e96ca2c9b
Added adder input selection to on the fly converter
2022-07-13 17:47:27 +00:00
cturek
e9ce71ca20
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-13 17:36:56 +00:00
Katherine Parry
b45b3baec2
removed the +1 in the cvt
2022-07-13 09:41:35 -07:00
Katherine Parry
3c1bea1104
removed warnings and took a mux out of the critical path
2022-07-12 18:32:17 -07:00
cturek
8d5081e8e9
little fix
2022-07-12 23:04:33 +00:00
cturek
b505ef135d
Square root implemented
2022-07-12 22:45:54 +00:00
Katherine Parry
12a54161c0
found the bug in the store modification
2022-07-12 22:42:19 +00:00
Katherine Parry
18d7fee541
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-07-12 22:37:20 +00:00
cturek
8edf44063a
C register and other various fixes
2022-07-12 22:18:56 +00:00
cturek
c60991f2bf
On the fly conversion for square root
2022-07-12 02:21:38 +00:00
Katherine Parry
1267d33d3c
forgot a file
2022-07-11 18:31:51 -07:00
Katherine Parry
ba339fc794
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-07-11 18:30:29 -07:00
Katherine Parry
bea4ec078d
variable interations implemented in radix-4 divider
2022-07-11 18:30:21 -07:00
DTowersM
fe7d03a3da
added some preliminary support for coremark XLEN=32, made sure rv64 not impacted
2022-07-11 21:13:09 +00:00
David Harris
03a20610aa
added comment about checking SRAM size
2022-07-10 12:48:51 +00:00
David Harris
d1a7832dd9
added comment about RAMs in cacheway
2022-07-10 12:47:34 +00:00
Katherine Parry
62205ebb3b
renamed FLoad2 to FStore2
2022-07-09 00:26:45 +00:00