Ross Thompson
918464c236
Found the coremark performance issue. The testbench was continuously forcing the BTB to all zeros. Once fixed it resolved the performance problem.
2023-06-05 15:42:05 -05:00
Ross Thompson
4425946db8
Fixed typo in coremark makefile.
2023-06-05 11:49:16 -05:00
Ross Thompson
f146f68a8c
Merge pull request #311 from stineje/main
...
Update some bugs in FPU
2023-06-05 12:19:08 -04:00
James Stine
ac3253203d
Update fcvt tests for l.s/lu.s and s.l/s.lu that were missing
2023-06-05 11:03:59 -05:00
James Stine
3bd5bbce48
Update some spacing to make it look better
2023-06-05 11:03:06 -05:00
Ross Thompson
1ceea51d8b
Changes required to make verilator compile wally's testbench to c++. Not actually tested in simulation yet.
2023-05-31 16:51:00 -05:00
Ross Thompson
76fd76c155
Oups forgot to include updates to the lint script itself.
2023-05-31 11:00:38 -05:00
Ross Thompson
a963f0af3a
Updated source code to be compatible with verilator 5.011 for lint only.
2023-05-31 10:44:23 -05:00
Ross Thompson
169539f773
Cleanup parameterization for verilator 5.010.
2023-05-31 10:02:34 -05:00
David Harris
534b2fcbc2
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-05-31 06:31:52 -07:00
David Harris
1831dfccc2
Fixed paths in creating division test vectors
2023-05-31 06:30:41 -07:00
David Harris
65dd99af0c
Support all testfloat tests with parameterized design
2023-05-31 06:30:21 -07:00
Ross Thompson
f526519573
Merge pull request #307 from davidharrishmc/dev
...
Assorted cleanup, including test vector generation
2023-05-30 20:04:58 -04:00
David Harris
b5f70013b1
Clean up combined int/fp vector creation
2023-05-30 14:01:12 -07:00
David Harris
df57ccd885
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-05-30 13:53:28 -07:00
David Harris
8022a97a8b
Merge pull request #306 from ross144/main
...
fixed testfloat testbench for parameterization
2023-05-30 13:53:14 -07:00
Ross Thompson
74013f23e1
Merge branch 'main' of https://github.com/openhwgroup/cvw
2023-05-30 15:51:19 -05:00
Ross Thompson
8648d0c25c
Hacked it together, but I think testfloat is working.
2023-05-30 15:51:13 -05:00
David Harris
51d001889a
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-05-30 13:40:56 -07:00
David Harris
828a22303c
Merge pull request #305 from ross144/main
...
Fixed all do scripts for parameterization
2023-05-30 13:40:44 -07:00
Ross Thompson
4939784b6f
Merge branch 'main' of https://github.com/openhwgroup/cvw
2023-05-30 15:38:58 -05:00
Ross Thompson
09aa460ed8
Updated do files for parameterization.
2023-05-30 15:38:03 -05:00
David Harris
535a01cce8
Merge pull request #304 from ross144/main
...
Fixes bug 203 and linux/ImperasDV mismatch at 571M instructions
2023-05-30 13:37:00 -07:00
Ross Thompson
8e1476cb8c
Possible fix for Linux bug and bug 203. ImperasDV mismatches in linux boot around 571M instructions after the login prompt.
...
This bug occurs when there are back to back HPTW requests and the first generates an access fault during the walk. The old implementation uses a delayed version of the fault to prevent the HTPW fsm from transitioning out of the IDLE state. Because the first request generates the fault and the second request is pipelined the second request appears as if it also faults so the FSM does not perform the walk.
The new implementation adds a FAULT state. When the HPTW generates an access fault it transitions to this state removes the HPTWStall and then transitions to IDLE. There may still be a remaining bug here if the pipeline is stalled for another reason. However I don't think it is possible by construction. The only possible sources of stalls at this point would be IFU and LSU stalls and both are required to make this condition happen.
2023-05-30 15:20:24 -05:00
David Harris
fc1c4b710c
Exclusions for decoders with new parameterization
2023-05-30 01:04:39 -07:00
David Harris
cc157463d5
Eliminated merging non-existent coverage
2023-05-30 00:38:30 -07:00
David Harris
b029aa67fe
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-05-29 23:24:54 -07:00
David Harris
59e1a69e25
ignore example binaries
2023-05-29 23:24:48 -07:00
David Harris
aa36df3150
Merge pull request #303 from ross144/main
...
Merges Lim's changes for parameterization. Replaces the `define with parameters
2023-05-26 16:32:49 -07:00
Ross Thompson
04d0fd94f0
Merge branch 'param-lim-merge'
2023-05-26 16:25:35 -05:00
Ross Thompson
3cc85349b5
Uncore is now parameterized.
2023-05-26 16:24:12 -05:00
Ross Thompson
1315a0bf4a
Got the branch predictor parameterized using Lim's method. Also had to add a global enum included in both cvw.sv and the configs which defines the branch predictor types. This should be synthesizable, but I'll need to double check.
2023-05-26 16:00:14 -05:00
Ross Thompson
f1b8689955
Finished fpu parameterization using Lim's method.
2023-05-26 14:40:06 -05:00
Ross Thompson
29e0357f21
fdiv is now parameterized using Lim's method.
2023-05-26 14:25:14 -05:00
Ross Thompson
81491e85e5
Parameterized fpu's unpack and fma using Lim's method.
2023-05-26 14:12:25 -05:00
Ross Thompson
c7e515634d
I think I've solved the slow down issue. Parameters can't be mixed with cvw_t and other types.
2023-05-26 13:56:51 -05:00
Ross Thompson
b517a96261
Update top level parameterized. Simulation slowed down to 4.5 minutes.
2023-05-26 12:13:11 -05:00
Ross Thompson
8cf38b28aa
The privileged unit is parameterized using Lim's method.
2023-05-26 12:03:46 -05:00
Ross Thompson
4d961bd080
Completed LSU parameterization based on Lim's changes.
2023-05-26 11:26:09 -05:00
Ross Thompson
d37e010aa4
Subwordread now parameterized.
2023-05-26 11:22:44 -05:00
Ross Thompson
02a788a083
PMA checker's address decoder is now parameterized. I did not see bit slicing in Lim's code. I'm not sure how they got around this issue.
2023-05-26 11:06:48 -05:00
Ross Thompson
0e1131d190
Progress on LSU.
2023-05-26 10:47:09 -05:00
Ross Thompson
0020d94b39
Updated mmu's tlb and hptw to use Lim's parameterization.
2023-05-24 18:02:22 -05:00
Ross Thompson
70c8828ac2
PM(P/A) checkers parameterized based on Lim's work.
2023-05-24 17:20:55 -05:00
Ross Thompson
fcb1c63f5f
Partial parameterization into mmu.
2023-05-24 16:12:41 -05:00
Ross Thompson
5f5f33787d
MDU and hazard unit now also parameterized. Based on Lim's work. Again I want to clarify this their work. Not mine. I'm just doing this because the merge had an issue.
2023-05-24 15:01:35 -05: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
Ross Thompson
b91b54589e
Updated a large number of the source files to use parameters rather than `defines. Based on Lim's work. So far there is no simulation slow down.
2023-05-24 14:05:44 -05:00
David Harris
4ea8910f40
Merge pull request #300 from ross144/main
...
Local history predictor and performance counter fixes
2023-05-24 11:21:40 -07:00