slmnemo
0d04751c77
Fixed error when doing uncached accesses where HTRANS was always 2
2022-06-08 18:58:07 -07:00
slmnemo
81d373c7ab
Fixed error related to bus being unable to complete a line write after a memory read followed by an idle and cachewrite request.
2022-06-08 17:34:02 -07:00
Madeleine Masser-Frye
0e64494e46
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-06-09 00:08:15 +00:00
Madeleine Masser-Frye
a58a756076
added one bit muxes for data critical synths
2022-06-09 00:06:12 +00:00
slmnemo
11924bdd9b
Fixed error where MEMREAD would go into INSTRREAD even when no INSTRREAD was pending
2022-06-08 15:59:15 -07:00
slmnemo
e17ee3073e
Fixed ifu displaying LSU bus state in wave.do
2022-06-08 15:30:32 -07:00
slmnemo
315c2f0669
Working version: Fixed error where Word count would always increment even without AHB to bus ACK
2022-06-08 15:29:32 -07:00
slmnemo
054cf5f7b0
Reworked AHB fsm to support one cycle latency read and writes, renamed key signals to better reflect their use, and fixed HTRANS errors
2022-06-08 15:03:15 -07:00
DTowersM
6402b2dec4
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-06-08 16:28:18 +00:00
DTowersM
6944996329
added #1 delays to Stalls and Flushes in hazard unit
2022-06-08 16:28:09 +00:00
slmnemo
284e0395a0
Merge branch 'main' into cacheburstmode
2022-06-08 02:21:33 +00:00
slmnemo
2d76953d42
Added lock signal to ensure AHB speaks with the right bus
2022-06-08 02:19:21 +00:00
David Harris
5240bd1c90
Modified RAM for single-cycle latency
2022-06-08 02:06:00 +00:00
David Harris
3c8eafc8ee
Cleaned bram interface
2022-06-08 01:39:44 +00:00
David Harris
9e5ab4d378
Added ahbapbbridge and cleaning RAM
2022-06-08 01:31:34 +00:00
slmnemo
6d36150c3d
Fixed off-by-one error in busdp capture
2022-06-07 19:36:39 +00:00
slmnemo
73e0c1c07f
Reworked bus to handle burst interfacing
2022-06-07 11:22:53 +00:00
Katherine Parry
8fa0fc4229
fma synth warnings and errors removed
2022-06-06 16:06:04 +00:00
Madeleine Masser-Frye
56a053fc3d
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-06-03 21:08:49 +00:00
Madeleine Masser-Frye
31e9d0a41a
added muxes and inv, fixed priority encoder
2022-06-03 21:03:13 +00:00
Katherine Parry
6b39b8c702
fixed compilation errors
2022-06-03 15:34:17 +00:00
Katherine Parry
03280c0f9c
added createallvectors
2022-06-02 21:56:05 +00:00
Katherine Parry
9a09ee3a35
fpu paramaterized - except fdivsqrt
2022-06-02 19:50:28 +00:00
David Harris
1d8bc2dc1b
Added stalls for pending SFENCE.VMA and FENCE.I in hazard unit
2022-06-02 09:37:59 -07:00
David Harris
faa15b1f8d
Cleaned up comments in controller
2022-06-02 15:48:33 +00:00
David Harris
c7ec9282fe
Provided sfencevmaM to hazard unit and renamed TLBFlush signals to sfencevma going into LSU/IFU. Preparing for SFENCE.VMA to flush the pipeline, but that is not yet working.
2022-06-02 14:18:55 +00:00
Katherine Parry
e42afbfb30
paramerterized some small fma units
2022-06-01 23:34:29 +00:00
Katherine Parry
dd19e55b8f
unpacker optimizations
2022-06-01 16:52:21 +00:00
slmnemo
446ad498aa
Fixed double assignment on LSUBurstType
2022-06-01 01:04:49 +00:00
slmnemo
cf05fec9c7
Added signals to change HTRANS to the correct signal based on schematic as well as a way to tell if we are not on the first access
2022-05-31 16:33:05 -07:00
slmnemo
a86c4d5ff3
Merge branch 'cacheburstmode' of github.com:davidharrishmc/riscv-wally into cacheburstmode
2022-05-31 15:57:55 -07:00
slmnemo
9ad1a42886
Redid the FSM to prepare for burst mode implementation
2022-05-31 15:57:42 -07:00
David Harris
475a84491e
Unpackinput cleanup
2022-05-31 22:31:21 +00:00
David Harris
f9533fea1a
Removed normalized output from unpack and simplified interface
2022-05-31 21:32:31 +00:00
David Harris
0d0a9cba66
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-31 21:12:45 +00:00
David Harris
aa7b0616e4
../src/privileged/csrc.sv
2022-05-31 21:12:17 +00:00
Katherine Parry
f6ac33ce8a
reorginized unpackinput signals
2022-05-31 17:40:34 +00:00
Katherine Parry
4ed7933aa3
added unpackinput.sv
2022-05-31 16:18:50 +00:00
David Harris
788fe406b5
Moved delegation logic from privmode to trap to simplify interface
2022-05-31 14:58:11 +00:00
David Harris
0cfe9e3373
Removed unused fp add and convert modules
2022-05-29 23:07:56 +00:00
Katherine Parry
950a17bef5
fixed lint error
2022-05-28 10:20:13 -07:00
slmnemo
f78fa3b9b9
Reverted incorrect Ack
2022-05-28 10:06:26 +00:00
David Harris
b04e9ac1f6
fixed merge conflicts
2022-05-28 09:44:55 +00:00
David Harris
4237bb7abd
Added comments to some files, added a+b = 0 detector to comparator.sv
2022-05-28 09:41:48 +00:00
Katherine Parry
9c58c63864
removed unused signal from FMA
2022-05-27 16:47:56 -07:00
Katherine Parry
a0ff98042c
unpacker adds 1 to denorm expoents
2022-05-27 14:37:10 -07:00
Katherine Parry
95b506c5e0
some optimizations in unpacker
2022-05-27 11:36:04 -07:00
Katherine Parry
1be91753fe
moved lzc to generic and small optimizations on fcvt
2022-05-27 09:04:02 -07:00
Katherine Parry
c6d79cd718
Removed guard bit from fma rounding
2022-05-27 08:23:46 -07:00
slmnemo
bc17f883d4
changed ahb FSM and caught potential bug in ack/wordcountthreshold when on last word
2022-05-26 18:41:27 -07:00
slmnemo
847c7930c4
added LSUBurstDone signal to signal when a burst has finished
2022-05-26 16:29:13 -07:00
Katherine Parry
9d281b2604
fcvt.sv paramaterized
2022-05-26 20:48:22 +00:00
slmnemo
80fc716cd7
Added signal to monitor HBURST and comments for each burst in busdp
2022-05-26 13:35:49 -07:00
slmnemo
08430a1e85
added burst size signals to the IFU, EBU, LSU, and busdp
2022-05-25 18:02:50 -07:00
slmnemo
cebf93cf9c
idk lol it says this has an unadded change
2022-05-25 17:17:49 -07:00
Katherine Parry
f3b28b988b
added fcvt.sv
2022-05-26 00:10:51 +00:00
Katherine Parry
f35450207f
single and double conversions pass all tests
2022-05-25 23:02:02 +00:00
Madeleine Masser-Frye
81a869c921
ppaAnalyze: docstrings and tsmc28 plotting
2022-05-25 13:52:20 +00:00
Madeleine Masser-Frye
dd4997bd1b
added support for tsmc28, fixed ff modules/analysis for timing
2022-05-25 06:44:22 +00:00
Ross Thompson
b70baed214
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-05-22 23:54:33 -05:00
Ross Thompson
e2cf941a23
Possible plic fix?
2022-05-22 23:47:01 -05:00
Madeleine Masser-Frye
d91fd44ea5
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-22 23:23:39 +00:00
Madeleine Masser-Frye
dbe4b4bafa
added widths for csa in ppa
2022-05-22 23:23:02 +00:00
Ross Thompson
bcb4ebf888
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-05-22 10:55:33 -05:00
Ross Thompson
c4f1a0362b
Fixed receive fifo ITNR bug.
2022-05-22 10:55:28 -05:00
Ross Thompson
92a2ad02db
Added more debug signals to uart.
2022-05-21 19:47:40 -05:00
Madeleine Masser-Frye
39a3bf5cdc
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
2022-05-21 09:53:31 +00:00
Madeleine Masser-Frye
b832a21b73
ppa updates
...
added widths to modules, automated frequency sweep synthesis, added slack violation color coding to plots
2022-05-21 09:53:26 +00:00
Katherine Parry
5d34db85b2
Fixed unpacker bug LT EQ LE pass testfloat
2022-05-20 17:19:50 +00:00
slmnemo
af0300c3d7
added documentation for ahblite burst types to ahblite.sv
2022-05-19 18:31:46 -07:00
Katherine Parry
ab1f088672
fixed lint warning
2022-05-19 20:34:06 +00:00
Katherine Parry
6f2d8c24ad
Bug fixed in unpacker and sub/add/mul tests pass TestFloat
2022-05-19 20:31:23 +00:00
mmasserfrye
bab7335bee
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-19 20:24:57 +00:00
mmasserfrye
d34f4a7c3c
updated synth plotting and regression
2022-05-19 20:24:47 +00:00
Katherine Parry
738bbf6479
Added fp tests - doesnpass yet
2022-05-19 16:32:30 +00:00
mmasserfrye
84422f3859
added support for plotting and fitting power
2022-05-18 17:01:55 +00:00
mmasserfrye
12c42cd507
adapted shifter in ppa.sv for widths beside 32 and 64
...
modified plotting and regression in ppaAnalyze.py
2022-05-18 16:08:40 +00:00
Ross Thompson
b853c4ba47
Updated fpga debugger.
2022-05-17 23:04:01 -05:00
mmasserfrye
2254a8218d
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-17 01:11:58 +00:00
mmasserfrye
d34a942eb2
added 8 and 128 bit versions, adjusted alu
2022-05-17 01:11:43 +00:00
slmnemo
8c8a7daec2
Fixed grammar on two comments in bpred.sv
2022-05-16 22:41:18 +00:00
mmasserfrye
68a70ed8ff
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
...
resolved merge conflict
2022-05-16 15:42:59 +00:00
mmasserfrye
b82520237c
tuning modules for ppa
2022-05-16 15:39:15 +00:00
David Harris
48e89485dd
Cause simplification
2022-05-12 23:47:21 +00:00
David Harris
9651ced9bb
Cause simplification
2022-05-12 23:39:10 +00:00
David Harris
2f283d9654
Cause simplification
2022-05-12 23:37:40 +00:00
David Harris
f5f1870077
Cause simplification
2022-05-12 23:33:35 +00:00
David Harris
5b7cccbc4b
Cause simplification
2022-05-12 23:33:22 +00:00
David Harris
581d841653
Cause simplification
2022-05-12 23:29:35 +00:00
David Harris
2a3f545e0c
Cause simplification
2022-05-12 23:27:02 +00:00
David Harris
c2b9fc0d8e
trap/csr cleanup
2022-05-12 22:26:21 +00:00
David Harris
292d1f33da
More trap/csr simplification
2022-05-12 22:06:03 +00:00
David Harris
662fffa830
More trap/csr simplification
2022-05-12 22:04:20 +00:00
David Harris
16b86c199c
More trap/csr simplification
2022-05-12 22:00:23 +00:00
David Harris
5f358a37c6
More trap/csr simplification
2022-05-12 21:55:50 +00:00
David Harris
21ac969c7d
Simplifying trap/csr interface
2022-05-12 21:50:15 +00:00
David Harris
072c464dc1
Simplified MTVAL logic
2022-05-12 21:36:13 +00:00
David Harris
14f9f41d2d
Partitioned privileged pipeline registers into module
2022-05-12 20:45:45 +00:00
David Harris
78448c7053
privileged cleanup
2022-05-12 20:21:33 +00:00
mmasserfrye
31f372e7b3
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-12 20:20:40 +00:00
mmasserfrye
a10b8e47af
cleaned lint for ppa.sv
2022-05-12 20:20:05 +00:00
David Harris
dd61afb7dc
Formatting cleanup
2022-05-12 18:37:47 +00:00
mmasserfrye
01685b982c
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-12 18:08:20 +00:00
mmasserfrye
b089ee26ee
renamed madzscript, modified ppa.sv alu and shifter
2022-05-12 18:05:02 +00:00
David Harris
fde8375fbd
Moved Breakpoint and Ecall fault logic into privdec
2022-05-12 16:45:53 +00:00
David Harris
2ceed15bd5
Moved TLB Flush logic into privdec
2022-05-12 16:41:52 +00:00
David Harris
1e5d94bbab
Moved WFI timeout into privdec
2022-05-12 16:22:39 +00:00
David Harris
39ceb3a550
Partitioned privilege mode fsm into new module
2022-05-12 16:16:42 +00:00
David Harris
e81e530f68
More signal cleanup
2022-05-12 15:39:44 +00:00
David Harris
ce24c080d5
More unused signal cleanup
2022-05-12 15:26:08 +00:00
David Harris
5670f77de2
More unused signal cleanup
2022-05-12 15:21:09 +00:00
David Harris
4edf9b6355
More unused signal cleanup
2022-05-12 15:15:30 +00:00
David Harris
1aa3e65bae
Removed more unused signals, simplified csri state
2022-05-12 15:10:10 +00:00
David Harris
e2e63ca9a8
Clean up unused signals
2022-05-12 14:49:58 +00:00
David Harris
f17501ed8c
Removing unused signals
2022-05-12 14:36:15 +00:00
David Harris
545d46acb9
Simplifed mstatus.TSR handling
2022-05-12 14:09:52 +00:00
David Harris
1e7401daa0
Fixed typo in csrm
2022-05-12 06:55:39 -07:00
mmasserfrye
999754801c
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-12 07:24:04 +00:00
mmasserfrye
6cba6a92ba
filled in ppa.sv, madzscript.py now synthesizes in parallel in puts results in csv
2022-05-12 07:22:06 +00:00
David Harris
9999f69922
Added MCONFIGPTR CSR hardwired to 0
2022-05-12 04:31:45 +00:00
David Harris
9dd378098f
merged ppa.sv
2022-05-11 18:14:16 +00:00
David Harris
1f761c4e06
PPA script progress
2022-05-11 18:11:51 +00:00
mmasserfrye
552a55d631
ed
...
modified ppa.sv
2022-05-11 16:22:12 +00:00
David Harris
8166fd772e
Added M prefix for MTimerInt and MSwInt to distinguish from future supervisor SwInt
2022-05-11 15:08:33 +00:00
David Harris
137b411bea
Removed M suffix from interrupts because they are generated asynchronously to pipeline
2022-05-11 14:41:55 +00:00
David Harris
490902a655
Updated PPA experiment
2022-05-10 23:09:42 +00:00
David Harris
bb24aebebd
Initial PPA study
2022-05-10 20:48:47 +00:00
David Harris
04fd22aeb0
endian swapper
2022-05-08 06:51:50 +00:00
David Harris
4f1b0fdc64
Preliminary support for big endian modes. Regression passes but no big endian tests written yet.
2022-05-08 06:46:35 +00:00
David Harris
1a5bfcf078
Fixed bug in delegated interrupts not being taken
2022-05-08 04:50:27 +00:00
David Harris
a516f89f22
WFI terminates when an interrupt is pending even if interrupts are globally disabled
2022-05-08 04:30:46 +00:00
David Harris
412d4656ed
Zero'd wfiM when ZICSR not supported to fix hang in E tests
2022-05-05 15:32:13 +00:00
David Harris
7f42ff06d2
SFENCE.VMA should be illegal in user mode
2022-05-05 15:15:02 +00:00
David Harris
f436e93fc5
SFENCE.VMA should be illegal in user mode
2022-05-05 14:59:52 +00:00
David Harris
9b7aab122e
wally32priv and wally64priv now passing WALLY-status-tw. Fixed privileged.sv to produce the correct EPC on timeouts
2022-05-05 14:37:21 +00:00
David Harris
1a7599ce94
Changed WFI to stall pipeline in memory stage
2022-05-05 02:03:44 +00:00
David Harris
8a43d6099b
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-05-03 18:32:04 +00:00
David Harris
4b91fddc0a
Illegal instruction fault when running FPU instruction with STATUS_FS = 0
2022-05-03 18:32:01 +00:00
David Harris
3efbd2565a
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-05-03 08:53:35 -07:00
David Harris
20bbe43a23
clean up sram1p1rw; still doesn't work on Modelsim 2022.1
2022-05-03 08:31:54 -07:00
David Harris
1166c40059
FPU generates illegal instruction if MSTATUS.FS = 00
2022-05-03 11:56:31 +00:00
David Harris
bcd8728b3e
Switched to behavioral comparator for best PPA
2022-05-03 11:00:39 +00:00
David Harris
b4a422f771
Comparator experiments
2022-05-03 10:54:30 +00:00
David Harris
057524b840
Formatting cache.sv
2022-05-03 10:53:20 +00:00
David Harris
9e50c3440d
sram1p1rw extra bits are complaining on Tera and VLSI; roll back to two always blocks to fix on Tera
2022-05-03 03:50:41 -07:00
David Harris
0df73d203b
Rewriting sram1p1rw to combine CacheData into a single always_ff. Extra bits are still giving warning on VLSI that don't make sense.
2022-05-03 03:45:41 -07:00
David Harris
9e47fca2b7
Changed loop variable in CLINT because of error only seen on VLSI
2022-05-03 10:10:28 +00:00
David Harris
515270a8cf
Added torture.tv test vectors
2022-04-27 13:08:36 +00:00
David Harris
cce0a421be
Checked in torture.tv
2022-04-27 13:06:24 +00:00
David Harris
9d82232c14
Cleaned up canonical NaNs and removed denorm outputs in baby_torture.tv
2022-04-26 19:41:30 +00:00
Kip Macsai-Goren
33875b20b5
fixed initial value, timing on fs bits changing after floating point instruction
2022-04-25 19:17:29 +00:00
David Harris
0957b7040d
Restored MPRV behavior per spec
2022-04-25 14:52:18 +00:00
David Harris
1a8369b02b
Added dummy mstatus byte endianness fields tied to 0, mstatush register, removed UIE and UPIE depricated fields
2022-04-25 14:49:00 +00:00
David Harris
142636173e
Added MTINST hardwired to 0, and added timeout of U-mode WFI
2022-04-24 20:00:02 +00:00
David Harris
28e8aa4f97
Fixed InstrMisalignedFaultM mtval
2022-04-24 17:31:30 +00:00
David Harris
ffecdda6e6
Improved priority order and mtval of traps to match spec
2022-04-24 17:24:45 +00:00
David Harris
04b0579b89
Extended sim time to fully boot Linux. Added comments to hazard unit
2022-04-24 13:51:00 +00:00
Kip Macsai-Goren
bd87af478a
Changed mtval for instruction misaligned fault to get address from ieuAdrM (Jal/branch target address)
2022-04-22 22:46:11 +00:00
bbracker
9c1e398bb5
change how tristate I/O is spoofed in GPIO loopback test
2022-04-21 10:31:16 -07:00
David Harris
1e19cf9f14
Simplified profile for UART boot; added warnings on UART Rx errors
2022-04-21 04:54:45 +00:00
David Harris
c57b9e6703
Added baby torture tests
2022-04-19 15:13:06 +00:00
David Harris
eaa0d44980
Fixed WFI decoding in IFU
2022-04-18 19:02:08 +00:00
Kip Macsai-Goren
ced763beb6
Added GPIO loopback to let outputs cause interrupts
2022-04-18 07:22:49 +00:00
Shreya Sanghai
6f0085201b
replaced k with bpred size
2022-04-18 04:21:03 +00:00
David Harris
22842816a8
LSU name cleanup
2022-04-18 03:18:38 +00:00
David Harris
e04febdb57
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-04-18 01:30:11 +00:00
David Harris
c07b9d1722
Renamed FinalAMOWriteDataM to AMOWriteDataM
2022-04-18 01:30:03 +00:00
Ross Thompson
a5d4e39e7d
Added back the instret counter to ILA.
2022-04-17 18:44:07 -05:00
David Harris
d8b4c985cd
Remvoed bytemask anding from FinalWriteDataM in subwordwrite
2022-04-17 22:33:25 +00:00
David Harris
6bb4cd1bca
Prefix comparator cleanup
2022-04-17 21:53:11 +00:00
David Harris
5bb521635e
Experiments with prefix comparator; minor fixes in WFI and testbench warnings
2022-04-17 21:43:12 +00:00
Ross Thompson
5a6ad32688
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-17 15:23:46 -05:00
Ross Thompson
7135364d1a
Increased uart baud rate to 230400.
...
Added uart signals to debugger.
2022-04-17 15:23:39 -05:00
David Harris
b4902a6ff9
First implementation of WFI timeout wait
2022-04-17 17:20:35 +00:00
David Harris
6769f0cb43
Added comments in fcvt
2022-04-17 16:53:10 +00:00
David Harris
d71940d96d
Simplified SLT logic
2022-04-17 16:49:51 +00:00
Ross Thompson
f8bdb6db49
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-16 14:59:03 -05:00
Ross Thompson
bfc68bef69
Fixed possible bugs in LRSC.
2022-04-16 14:45:31 -05:00
David Harris
0932d4df46
Added WFI support to IFU to keep it in the pipeline
2022-04-14 17:26:17 +00:00
David Harris
6e16922aae
WFI should set EPC to PC+4
2022-04-14 17:05:22 +00:00
Ross Thompson
22f2e88553
UART and clock speed changes to support 30Mhz.
2022-04-12 17:56:36 -05:00
Ross Thompson
396f697d2f
Hacky fix to prevent ITLBMissF and TrapM bug.
2022-04-12 17:56:23 -05:00
Ross Thompson
70e207e010
Found the complex TrapM giving back the wrong instruction bug.
...
As I was reviewing the busfsm I found a typo.
assign UnCachedLSUBusRead = (BusCurrState == STATE_BUS_READY & UnCachedAccess & LSURWM[1] & IgnoreRequest) |
(BusCurrState == STATE_BUS_UNCACHED_READ);
It should be
assign UnCachedLSUBusRead = (BusCurrState == STATE_BUS_READY & UnCachedAccess & LSURWM[1] & ~IgnoreRequest) |
(BusCurrState == STATE_BUS_UNCACHED_READ);
There is a ~ missing before IgnoreRequest. I restarted the FPGA and had it trigger on the specific faulting event. Sure enough the bus makes an IFUBusRead, which UncachedLSUBusRead feeds into. The specific instruction in the fetch stage had an ITLBMiss with a physical address in an unmapped area which is interpreted as an uncached operation. IgnoreRequest is is high if there is a TrapM | ITLBMissF. Without the & ~IgnoreRequest the invalid address translation makes the request.
2022-04-11 13:07:52 -05:00
Ross Thompson
de868ef3a2
Possible fix for trap concurent with xret. Fixes the priority so trap has higher priority than either sret or mret. Previous code had priority to xret in the trap logic and privilege logic, but not the csrsr logic. This caused partial execution of the instruction.
2022-04-07 16:56:28 -05:00
Katherine Parry
74e0db04ac
fixed errors and warnings in rv32e
2022-04-07 17:21:20 +00:00
Ross Thompson
900939581e
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-05 15:42:07 -05:00
Ross Thompson
5faa88acd5
Increazed fpga clock speed to 35Mhz.
...
linux boot is much faster.
2022-04-05 15:09:49 -05:00
Katherine Parry
c3d07b2c46
generating all testfloat vectors
2022-04-04 17:17:12 +00:00
Ross Thompson
91e99f0d34
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-04 10:56:10 -05:00
Ross Thompson
077beb18dd
Constraint changes for 40Mhz wally.
2022-04-04 10:50:48 -05:00
Ross Thompson
b77201143f
Updated the bootloader to use the flash card divider. This will allow wally to run at a faster speed than flash.
2022-04-04 10:38:37 -05:00
Ross Thompson
400b5f7632
Fixed the SDC clock divider so it actually can work during reset. This will enable the fpga to operate at a faster clock while the SDC is < 10Mhz.
2022-04-04 09:57:26 -05:00
Ross Thompson
38160fe6ea
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-03 17:56:55 -05:00
David Harris
fb95767da0
Fixed bug with CSRRS/CSRRC for MIP/SIP
2022-04-03 20:18:25 +00:00
Ross Thompson
3db60a1cc1
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-02 16:39:54 -05:00
Ross Thompson
2376d66ec2
Added more ILA signals.
2022-04-02 16:39:45 -05:00
Ross Thompson
48c49802b2
Fixed linting issues.
2022-04-01 15:20:45 -05:00
Ross Thompson
301f20052b
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-04-01 12:50:34 -05:00
Ross Thompson
19a8df9739
Added wave config
...
added new signals to ILA.
2022-04-01 12:44:14 -05:00
bbracker
e09079d8b4
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-31 17:54:43 -07:00
bbracker
55df8bc3f7
fix lingering overrun error bug
2022-03-31 17:54:32 -07:00
Ross Thompson
48c862d536
Added PLIC to ILA.
2022-03-31 16:44:49 -05:00
Ross Thompson
da93d14050
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-31 16:30:55 -05:00
Ross Thompson
b5cdf035fc
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-31 15:50:04 -05:00
Ross Thompson
ade4a4cd5e
Notes on what to change in ram.sv.
2022-03-31 15:48:15 -05:00
bbracker
bdb3417656
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-31 13:46:32 -07:00
bbracker
0f7e995055
simplify plic logic
2022-03-31 13:46:24 -07:00
David Harris
c7043e4d63
Added SystemVerilog flag to fma.do so that fma16 compiles properly
2022-03-31 17:00:38 +00:00
Ross Thompson
88c5cdc873
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-31 11:39:41 -05:00
Ross Thompson
bf9683f0d2
Forced to go back to hard coded preload.
2022-03-31 11:39:37 -05:00
Ross Thompson
54001222cf
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-31 11:38:55 -05:00
Ross Thompson
285fc6fd4d
Modified clint to support all byte write sizes.
2022-03-31 11:31:52 -05:00
David Harris
dd3af17b3f
Added synthesis script for fma16
2022-03-31 00:51:33 +00:00
David Harris
3457c6e512
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-03-30 23:06:36 +00:00
bbracker
69a0f6e00b
big interrupts refactor
2022-03-30 13:22:41 -07:00
Ross Thompson
0a5b500aca
Changed sram1p1rw to have the same type of bytewrite enables as bram.
2022-03-30 11:38:25 -05:00
David Harris
9b1f85d353
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2022-03-30 16:26:27 +00:00
Ross Thompson
e4f4e1bd43
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-30 11:09:44 -05:00
Ross Thompson
f52ab01362
Partial cleanup of memories.
2022-03-30 11:09:21 -05:00
Ross Thompson
839bede656
Converted over to the blockram/sram memories. Now I just need to cleanup. But before the cleanup I wan to make sure the FPGA synthesizes with these changes and actually keeps the preload.
2022-03-30 11:04:15 -05:00
Ross Thompson
997c1b87fe
rv32gc and rv64gc now use the updated ram3.sv (will rename to ram.sv) which uses a vivado block ram compatible memory. Still need to update simpleram.sv to use this block ram compatible memory.
2022-03-29 23:48:19 -05:00
Ross Thompson
66e9380cfb
Partial fix to allow byte write enables with fpga and still get a preload to work.
2022-03-29 19:12:29 -05:00
David Harris
03fa9084bc
Updated synthesis to look at fma16.v, other scripts to use fma16.v instead of fma16.sv
2022-03-29 19:16:41 +00:00
David Harris
c4f2c6b110
fpu compare simplification, minor cleanup
2022-03-29 17:11:28 +00:00
Kip Macsai-Goren
56a0542405
made machine timer bit of IP registers unwriteable so it can only change when the interrupt actually changes
2022-03-29 02:26:42 +00:00
bbracker
8ea25e591b
fix typo that Madeleine found
2022-03-28 15:39:29 -07:00
Kip Macsai-Goren
709f8e6e0d
fixed double multiplication on vectored interrupts
2022-03-28 19:12:31 +00:00
Ross Thompson
61c714ebe6
I think this version of csri matches what is required in the spec. ExtIntS should not be written into the SEIP register bit.
2022-03-25 13:10:31 -05:00
Ross Thompson
fe896bff8e
Found a way to remove a bus input into MMU. PAdr can be made into VAdr by selecting the faulting virtual address when writing the DTLB.
2022-03-24 23:47:28 -05:00
bbracker
d33de3ef6b
tabs vs spaces disagreement
2022-03-24 17:11:41 -07:00
bbracker
4b376e2834
1st attempt at multiple channel PLIC
2022-03-24 17:08:10 -07:00
Ross Thompson
71aad2d213
Moved WriteDataM register into LSU.
2022-03-23 14:17:59 -05:00
Ross Thompson
8f74fd2a50
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-23 14:10:38 -05:00
Katherine Parry
7cf994526a
fixed typo in unpack.sv
2022-03-23 18:26:59 +00:00
Katherine Parry
fcd23a006e
fixed lint error in fpudivsqrtrecur.sv
2022-03-23 03:24:41 +00:00
Ross Thompson
849707f161
Switched csri IP_REGW to use assignements rather than always_comb as this is incompatible with forcing.
2022-03-22 22:04:06 -05:00
Ross Thompson
b2487f4b72
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2022-03-22 21:28:50 -05:00
Katherine Parry
23adb2dd03
unpack.sv cleanup
2022-03-23 01:53:37 +00:00
Ross Thompson
ca8fb45367
Added comment about needed fix to misaligned fault.
2022-03-22 16:52:07 -05:00
Katherine Parry
e3d01c875b
FMA parameterized and FMA testbench reworked
2022-03-19 19:39:03 +00:00
Ross Thompson
ee4b38dce3
dtim writes are supressed on non cacheable operation.
2022-03-12 00:46:11 -06:00
Ross Thompson
86cc758354
cleanup of ram.sv
2022-03-11 18:09:22 -06:00
Ross Thompson
67ff8f27f4
Can now support the following memory and bus configurations.
...
1. dtim/irom only
2. bus only
3. dtim/irom + bus
4. caches + bus
2022-03-11 15:18:56 -06:00
Ross Thompson
9dce2a0679
Towards allowing dtim + bus.
2022-03-11 14:58:21 -06:00
Ross Thompson
6e24a807f6
mild cleanup.
2022-03-11 13:05:47 -06:00
Ross Thompson
b7a680ec2a
Moved subcachelineread inside the cache. There is some ugliness to still resolve.
2022-03-11 12:44:04 -06:00
Ross Thompson
a18f06c20b
Moved subcacheline read inside the cache.
2022-03-11 11:03:36 -06:00
Ross Thompson
52cc852600
removed unused parameter.
2022-03-11 10:43:54 -06:00
Ross Thompson
7f0c5cc847
atomic cleanup.
2022-03-10 18:56:37 -06:00
Ross Thompson
257015a2df
Name changes.
2022-03-10 18:50:03 -06:00