Rose Thompson
87d91c5b14
Coverage updates.
2024-02-01 12:12:01 -06:00
Rose Thompson
ccf61853cf
New coverage for ebu.
2024-01-31 14:55:25 -06:00
David Harris
f37c7bb1f6
Incorporated RAM_LATENCY and BURST_EN as parameters rather than define in code. Still need to update testbench to use this
2024-01-30 06:27:18 -08:00
David Harris
45e2317636
Added Wally github address to header comments
2024-01-29 05:38:11 -08:00
Rose Thompson
ff5554ca61
Atomics work correctly without a d cache.
2024-01-16 10:43:20 -06:00
Rose Thompson
dfe5ef4427
Added logic for the non-cache atomics.
2024-01-15 17:47:17 -06:00
Rose Thompson
82a786f185
Hmm. Verilator is complaining about the parameter width. I'm not sure why so I changed to 1 bit.
2024-01-15 17:36:01 -06:00
Rose Thompson
614a83331f
Fixed part of issue #405 .
...
The non-cache version of the bus controller did not have the correct supression of BusCommitted for a read only controller.
2024-01-15 17:29:00 -06:00
Rose Thompson
588e1caeba
Found bugs in the no I$ implementation's abhinterface width. We were only testing XLEN=32. XLEN=64 did not properly align instructions not aligned to 8 byte boundaries.
2024-01-06 22:29:16 -06:00
Rose Thompson
8030b7d100
Added partial code for uncached amo operations.
...
Minor fix for Makefile so coverage tests build.
2023-12-29 15:07:20 -06:00
Rose Thompson
d1456b2471
Progress on fixing cbo.zero for uncached memory regions.
2023-12-29 11:03:38 -06:00
Rose Thompson
195def5808
Extended the abhcacheinterface to zero a cacheline's worth of uncached memory on cbo.zero.
2023-11-27 21:24:30 -06:00
David Harris
d3ce683e06
Removed other unused signals from Verilog
2023-11-20 23:37:56 -08:00
Rose Thompson
0a4ed5515b
Merge branch 'main' into Zicclsm
2023-11-02 12:55:51 -05:00
Rose Thompson
f13b67b869
Preemptively fixed the bytemask bug before testing.
2023-10-30 15:47:46 -05:00
David Harris
3bb7539429
Fixed warnings of signed conversion and for Design Compiler
2023-10-24 14:01:43 -07:00
Ross Thompson
f895898d22
Improved the critical path even more. The Arty A7 works upto 19Mhz easily. Testing out 22Mhz now.
2023-07-21 16:31:26 -05:00
Harshini Srinath
9dc72c9e54
Update controllerinput.sv
...
Program clean up
2023-06-10 18:26:06 -07:00
Harshini Srinath
dbdb3c69d3
Update ahbinterface.sv
...
Program clean up
2023-06-10 18:18:16 -07:00
Harshini Srinath
dc0b95c4ac
Program clean up
2023-06-10 18:13:40 -07:00
Harshini Srinath
aafa5d6ec3
Update ebu.sv
...
Code clean up
2023-06-09 08:53:27 -07:00
Ross Thompson
1299319d0b
More parameterization. Based on Lim's work. EBU, IFU (except bpred), and IEU done.
2023-05-24 14:56:02 -05:00
Ross Thompson
052bc95966
More parameterization. Copied Lim. Still no slow down.
2023-05-24 14:49:22 -05:00
Limnanthes Serafini
53847269da
More changes
2023-04-13 21:02:15 -07:00
Ross Thompson
366a96a0fc
Possible fix for issue 148.
...
I found the problem. We use a Committed(F/M) signal to indicate the IFU or LSU has an ongoing cache or bus transaction and should not be interrupted. At the time of the mret, the IFU is fetching uncacheable invalid instructions asserting CommittedF. As the IFU finishes the request it unstalls the pipeline but continues to assert CommittedF. (This is not necessary for the IFU). In the same cycle the LSU d cache misses. Because CommittedF is blocking the interrupt the d cache submits a cache line fetch to the EBU.
I am thinking out loud here. At it's core the Committed(F/M) ensure memory operations are atomic and caches don't get into inconsistent states. Once the memory operation is completed the LSU/IFU removes the stall but continues to hold Committed(F/M) because the memory operation has completed and it would be wrong to allow an interrupt to occur with a completed load/store. However this is not true of the IFU. If we lower CommittedF once the operation is complete then this problem is solved. The interrupt won't be masked and the LSU will flush the d cache miss.
This requires a minor change in the cachebusfsm and cachefsm. I will report back after I've confirmed this works.
2023-03-28 14:47:08 -05:00
Ross Thompson
af8f1fd036
Renamed controllerinputstage to controllerinput to match book.
2023-03-24 17:57:02 -05:00
Ross Thompson
b5a58502d0
Replaced tabs -> spaces cache.
2023-03-24 15:15:38 -05:00
Ross Thompson
b518177a45
Updated EBU to replace tabs with spaces.
2023-03-24 15:01:38 -05:00
Ross Thompson
47f8e847f0
Renamed ebu signal.
2023-03-24 10:51:04 -05:00
David Harris
f1e87c5e69
Start of EBU coverage tests
2023-03-24 08:12:02 -07:00
Ross Thompson
fdfb80a818
Renamed ebuarbfsm to ebufsmarb to match figures.
2023-03-06 17:47:55 -06:00
David Harris
7cf98811f3
Parenthesized reduction operators to avoid DC lint
2023-02-04 18:49:47 -08:00
David Harris
78eb90715c
Removed pipelined level of hierarchy
2023-02-02 14:14:11 -08:00