Commit Graph

2115 Commits

Author SHA1 Message Date
Ross Thompson
8feac6d242 Parameterized testbench branch predictor preload. 2023-01-31 00:08:11 -06:00
Ross Thompson
238c4d14a9 More branch predictor cleanup. 2023-01-30 23:55:52 -06:00
Ross Thompson
80f50f10d3 Improved signal names. 2023-01-30 23:51:04 -06:00
Ross Thompson
a15889e0aa Major cleanup of branch predictor. 2023-01-30 23:37:34 -06:00
Ross Thompson
42828e6ec4 Simplified gshare. 2023-01-30 19:27:18 -06:00
Ross Thompson
4cbefd9834 Minor gshare optimization. 2023-01-30 18:13:12 -06:00
Ross Thompson
cc48cdc97b Imperas found a real bug in virtual memory.
If the instruction address spilled across two pages and the second page misses the TLB,
the HPTW received a tlb miss at the address of the first page rather than the second.
After the walk the TLB was updated with the PTE from the first page at the address of the
second page.

Example bug
Instruction PCF = 0x2ffe
First page in 0x2ffe and second page in 0x3000.
The second page misses the TLB and generates HPTW request at 0x2ffe rather than 0x3000.
TLB is updated with PTE from 0x2ffe at 0x3000.
2023-01-30 11:47:51 -06:00
Ross Thompson
6040a45698 optimized branch predictor by removing unnecessary registers. 2023-01-29 22:39:37 -06:00
Ross Thompson
392716a608 Updated global history branch predictcor with the gshare improvements. 2023-01-29 16:26:44 -06:00
Ross Thompson
a9a7054e2f Merge branch 'main' of https://github.com/openhwgroup/cvw
This merges the branch predictor improvements into the main repo.
2023-01-29 15:24:20 -06:00
Ross Thompson
d6ae1156d0 gshare cleanup. 2023-01-29 15:07:45 -06:00
Ross Thompson
ef874f3409 Gshare cleanup. 2023-01-29 15:06:35 -06:00
Ross Thompson
74b4f78099 Found bug in gshare. 2023-01-29 15:03:25 -06:00
Ross Thompson
e1fd5925b0 Fixed typo in testbench branch logger. 2023-01-29 01:00:52 -06:00
Ross Thompson
f62fbedbe8 Fixed another bug with the branch logger. 2023-01-29 00:59:59 -06:00
Ross Thompson
8e73f6b467 Fixed bug in the branch logger. 2023-01-29 00:58:50 -06:00
Ross Thompson
65a31381da Updated testbench for branch logger. 2023-01-29 00:56:11 -06:00
Ross Thompson
1044c290c2 Fixed bug with the btb's valid bit not beind held on a stall. 2023-01-29 00:49:23 -06:00
Ross Thompson
f93eaeef8e Fixed another bug with the speculative gshare with instruction class prediction. 2023-01-29 00:33:40 -06:00
David Harris
99d12a5ef0 Removed unused BPRED file referenes from fpga config 2023-01-28 20:22:36 -08:00
David Harris
481cb8bad0 Renamed BPTYPE to BPRED_TYPE 2023-01-28 20:06:12 -08:00
David Harris
94daedeed6 Renamed DCACHE to DCACHE_SUPPORTED and ICACHE to ICACHE_SUPPORTED 2023-01-28 18:52:00 -08:00
David Harris
e4e7e827d6 Renamed BUS to BUS_SUPPORTED 2023-01-28 18:35:53 -08:00
David Harris
a0b4e7fb24 Config cleanup and renamed BPRED_ENABLED to BPRED_SUPPORTED 2023-01-28 18:17:42 -08:00
David Harris
33143e5958 Fixed typo in ram2p1r1wbe_1024x69 and renamed for consistency 2023-01-28 18:07:33 -08:00
David Harris
1bb1fc7604 Merge branch 'main' of https://github.com/openhwgroup/cvw into dev 2023-01-28 17:55:08 -08:00
James Stine
a1d892703c Modified changes as follows
* Add docs directory for Docker including Dockerfile
* Change to synthesis script to include fpu stuff
* Add wrappers for IP (may need some cleanup but will cleanup shortly)
2023-01-28 19:33:00 -06:00
Ross Thompson
f6aafd6bad Fixed bug with the new csr. 2023-01-28 17:56:56 -06:00
Ross Thompson
6371d91b37 Added another performance counter to track overall branch miss-predictions. 2023-01-28 17:50:46 -06:00
Ross Thompson
57deb68fb3 Found an issue where the btb was not forwarding the valid bit! 2023-01-28 17:00:50 -06:00
Ross Thompson
6d9c463893 Possible workign instruction class prediction repair. 2023-01-28 16:42:19 -06:00
Ross Thompson
8a277f6b75 Possible fix for speculative gshare. 2023-01-28 16:14:19 -06:00
David Harris
08124b917f Comment cleanup in subcachelineread 2023-01-28 11:00:05 -08:00
David Harris
0f5df3340f removed unused memory model 2023-01-28 10:58:36 -08:00
David Harris
f9cfa7cdc2 Updated cvw to be consistent with configs 2023-01-28 10:58:02 -08:00
David Harris
9eb1938d41 Removed DEISGN_COMPILER configuration paramter 2023-01-28 10:51:39 -08:00
David Harris
6603cd9e09 Removed unneeded lint directive from core 2023-01-27 15:48:30 -08:00
David Harris
eaab1bfad4 Use CVW configuration in top-level 2023-01-27 15:47:36 -08:00
David Harris
3fea392875 Removed unused BMU, added CVW configuration 2023-01-27 15:47:15 -08:00
David Harris
ef83309ea9 Added missing PLIC_GPIO_ID to two config files 2023-01-27 15:23:32 -08:00
David Harris
d78f8d76cc Fixed license header for config files to SolderPad 2023-01-27 15:17:17 -08:00
Ross Thompson
6d75e3c22b Clarified gshare bp. 2023-01-27 16:40:20 -06:00
David Harris
3906e706fd Removed integer from localparams 2023-01-27 14:40:06 -08:00
David Harris
5a81a26c9e Removed int/integer from parameters) 2023-01-27 14:27:04 -08:00
Ross Thompson
857004c3a3 Removed pessimistic x propagation issue for wally32priv test in the branch predictor. 2023-01-27 15:28:31 -06:00
Ross Thompson
c1ae7c068e Found issue with branch predictor. 2023-01-27 13:13:55 -06:00
David Harris
4b196736a5 Renamed ram2p1rw1be to match modeule name 2023-01-27 09:54:50 -08:00
Ross Thompson
a212960352 Very hacky. But I think gshare is now correct with respect to repair on instruction class miss prediction. 2023-01-27 11:34:45 -06:00
David Harris
237e3a620f Removed suggestion about make allclean 2023-01-27 05:57:05 -08:00
David Harris
767cfdc8a5 Fixed typo in bpred preventing compiling 2023-01-27 05:55:53 -08:00