Kevin Kim
|
dc456415c1
|
formatting
|
2023-03-07 10:57:52 -08:00 |
|
Kevin Kim
|
7ec33ca094
|
shifter sign generation logic optimize
|
2023-03-07 10:57:06 -08:00 |
|
David Harris
|
dce6d33531
|
editorconfig to specify tabs/spaces. Fixed some tabs. Turn off coverage to speed up simulation
|
2023-03-07 06:31:40 -08:00 |
|
Kevin Kim
|
7651d41c90
|
reverted backing to working version
|
2023-03-07 00:29:58 -08:00 |
|
Kevin Kim
|
8c20d67659
|
reverted to working version
|
2023-03-07 00:28:07 -08:00 |
|
Ross Thompson
|
17f80285ca
|
Merge branch 'main' of https://github.com/openhwgroup/cvw
|
2023-03-06 22:29:27 -06:00 |
|
Ross Thompson
|
b8dca927f2
|
Merge branch 'main' of https://github.com/openhwgroup/cvw
|
2023-03-06 18:39:15 -06:00 |
|
Ross Thompson
|
4b539de184
|
Renamed signals to be consistent with textbook.
|
2023-03-06 18:29:31 -06:00 |
|
Ross Thompson
|
6fc157e628
|
Renamed PCFSpill to PCSpillF.
|
2023-03-06 17:50:57 -06:00 |
|
Ross Thompson
|
e831efddaf
|
Renamed InstrFirstHalf to InstrFirstHalfF.
|
2023-03-06 17:48:57 -06:00 |
|
Ross Thompson
|
82ada79b11
|
Renamed ebuarbfsm to ebufsmarb to match figures.
|
2023-03-06 17:47:55 -06:00 |
|
David Harris
|
4fd461e520
|
Fixed bug about rv64 shifts only using 6 bits of funct7
|
2023-03-06 13:10:51 -08:00 |
|
David Harris
|
94dd39795e
|
Simplified decoder default to illegal instruction
|
2023-03-06 11:21:11 -08:00 |
|
David Harris
|
08f1ed8e53
|
More detailed decoding of load/store/branch/jump
|
2023-03-06 11:15:48 -08:00 |
|
David Harris
|
a01e0bd318
|
Improved decoding illegal instructions in controller
|
2023-03-06 11:02:42 -08:00 |
|
Kevin Kim
|
4a31ab1bc3
|
structural changes in cnt.sv
|
2023-03-06 06:44:15 -08:00 |
|
Kevin Kim
|
45697f050d
|
formatting
|
2023-03-06 06:20:25 -08:00 |
|
Kevin Kim
|
c38a5d9151
|
formatting
- reverted back to ALUResult signal in alu.sv
|
2023-03-06 06:19:01 -08:00 |
|
Kevin Kim
|
474b69967a
|
formatted files
|
2023-03-06 05:52:08 -08:00 |
|
Kevin Kim
|
288c7ad48c
|
updated license header
|
2023-03-06 05:41:53 -08:00 |
|
Kevin Kim
|
cec1e89c78
|
bug fix
|
2023-03-05 15:20:48 -08:00 |
|
Kevin Kim
|
19beed7866
|
extend unit structural mux
|
2023-03-05 15:09:02 -08:00 |
|
Kevin Kim
|
7531bf1fd6
|
zbb result select mux structural
|
2023-03-05 14:57:30 -08:00 |
|
Kevin Kim
|
3656d42ac0
|
zbc input mux structural
|
2023-03-05 14:26:31 -08:00 |
|
Kevin Kim
|
869e812aa8
|
revA signals to cnt, zbb
|
2023-03-05 14:26:24 -08:00 |
|
Kevin Kim
|
0e6ea0ee60
|
ALU changes
- added PreShiftAmt signal for shadd
- condinvB now muxes from B instead of mask
|
2023-03-05 14:06:24 -08:00 |
|
Kevin Kim
|
3d5ee8d964
|
bug in bctrl
- deleted the min/minu decoding for some reason.
|
2023-03-04 23:56:33 -08:00 |
|
Kevin Kim
|
6ead150cb1
|
BSelect from OH encoding to Binary
|
2023-03-04 23:19:31 -08:00 |
|
Kevin Kim
|
4b1ee5a196
|
alu pre-shift
-changed ALU pre shift logic to use a 2 bit shifter instead of mux
|
2023-03-04 23:07:06 -08:00 |
|
Kevin Kim
|
b0f152de28
|
added python script
-I've been using this python script to make quick changes to the bitmanip controller
|
2023-03-04 22:54:32 -08:00 |
|
Kevin Kim
|
499c3c5c30
|
Merge branch 'bit-manip' of https://github.com/kipmacsaigoren/cvw into bit-manip
|
2023-03-04 22:44:09 -08:00 |
|
Kevin Kim
|
6295178073
|
removed rotate signal in datapath and instead packed into the new BALUControl Signal
- BALUControl contains Rotate, Mask, PreShift signals to select from the respective generation muxes in the ALU
|
2023-03-04 22:44:03 -08:00 |
|
Kip Macsai-Goren
|
0ba1a59a70
|
added reset values to stime and stimecmp registers
|
2023-03-04 15:06:15 -08:00 |
|
Kip Macsai-Goren
|
e76e7120c0
|
Merge remote-tracking branch 'upstream/main' into bit-manip
|
2023-03-04 14:43:12 -08:00 |
|
Kevin Kim
|
b6dd855395
|
zbc result mux is now structural
|
2023-03-04 09:22:21 -08:00 |
|
Kevin Kim
|
6e52113208
|
Rotate signal now gets generated in bmu ctrl
|
2023-03-03 22:57:49 -08:00 |
|
Kevin Kim
|
18ab538a5e
|
license comments
|
2023-03-03 21:52:34 -08:00 |
|
Kevin Kim
|
efce306aab
|
removed redundant signals in controller
|
2023-03-03 21:52:25 -08:00 |
|
Kevin Kim
|
448e950eba
|
b controller generates comparison signed flag and controller branch signed logic updated accordingly
|
2023-03-03 17:12:29 -08:00 |
|
Ross Thompson
|
dea5aae01e
|
Merge pull request #126 from davidharrishmc/dev
ImperasDV setup
|
2023-03-03 18:01:32 -06:00 |
|
David Harris
|
39c871ee0c
|
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
|
2023-03-03 15:54:42 -08:00 |
|
Kevin Kim
|
0bb75132c6
|
sltD signal debug. Passes regression
|
2023-03-03 12:44:33 -08:00 |
|
Kevin Kim
|
d24f74dc4b
|
sltD logic optimize
|
2023-03-03 12:35:40 -08:00 |
|
Kevin Kim
|
66b15b9163
|
Merge branch 'bctrlmigrate' of https://github.com/kipmacsaigoren/cvw into bctrlmigrate
|
2023-03-03 09:54:08 -08:00 |
|
Kevin Kim
|
0dee48fa5c
|
Merge branch 'openhwgroup:main' into bctrlmigrate
|
2023-03-03 09:53:59 -08:00 |
|
Kevin Kim
|
77c9114bcc
|
removed outdated b-signals in controller
|
2023-03-03 08:45:42 -08:00 |
|
Kevin Kim
|
2b9a6aba91
|
comments to bctrl
|
2023-03-03 08:41:47 -08:00 |
|
Kevin Kim
|
11f165d1bb
|
migrated B-subarith logic into b controller
|
2023-03-03 08:40:29 -08:00 |
|
Kevin Kim
|
b5a5f364e1
|
began subarith configurability optimization in controller
|
2023-03-03 08:27:11 -08:00 |
|
Ross Thompson
|
7dd8fa16c1
|
Renamed BTB misprediction to BTA.
|
2023-03-03 00:18:34 -06:00 |
|
Ross Thompson
|
bdab2c8506
|
Added divide cycle counter.
|
2023-03-02 23:59:52 -06:00 |
|
Ross Thompson
|
4b501f6e03
|
Added the i and d cache cycle counters.
|
2023-03-02 23:54:56 -06:00 |
|
Ross Thompson
|
b19d51b6a2
|
Added fence counter.
|
2023-03-02 23:29:20 -06:00 |
|
Ross Thompson
|
3dbfa96aef
|
Added csr write counter, sfence vma counter, interrupt counter, and exception counter.
|
2023-03-02 23:21:29 -06:00 |
|
Ross Thompson
|
cf4d8e6bd0
|
Added store stall to performance counters.
|
2023-03-02 23:10:54 -06:00 |
|
Ross Thompson
|
e257ec96ac
|
Reordered performance counters and added space for new ones.
|
2023-03-02 23:04:31 -06:00 |
|
David Harris
|
d51d93a3a8
|
Refactored Floating point division special case detection to avoid spurious trigger on Y for sqrt)
|
2023-03-02 20:00:47 -08:00 |
|
Kevin Kim
|
f4b8968e12
|
bug fix, more elegant logic changes in controller
|
2023-03-02 16:00:56 -08:00 |
|
Kevin Kim
|
2a0c59d5a7
|
formatting
|
2023-03-02 15:28:43 -08:00 |
|
Kevin Kim
|
d0c486df54
|
removed main instruction decoder dependence on bmu controller
|
2023-03-02 15:28:33 -08:00 |
|
Kevin Kim
|
11a977ffe3
|
added bitmanip illegal instruction signal
|
2023-03-02 15:09:55 -08:00 |
|
Kevin Kim
|
b52208b539
|
zbc comments
|
2023-03-02 13:52:00 -08:00 |
|
Kevin Kim
|
2d7d143f6d
|
formatted bmu decoder
|
2023-03-02 13:45:15 -08:00 |
|
Kevin Kim
|
1b222f91be
|
moved ALUControlD into configurable block
|
2023-03-02 12:17:03 -08:00 |
|
Kevin Kim
|
1e1ecaafb1
|
moved SubArith and RegWriteE into configurable block
|
2023-03-02 12:15:57 -08:00 |
|
Kevin Kim
|
7dd4a2e975
|
added BRegWriteE signal
|
2023-03-02 12:15:22 -08:00 |
|
Kevin Kim
|
d40f3b2a1c
|
rename shifternew to shifter
|
2023-03-02 11:45:32 -08:00 |
|
Kevin Kim
|
905373d53b
|
zbc input select mux optimize
|
2023-03-02 11:43:05 -08:00 |
|
Kevin Kim
|
2bfbf051a5
|
zbc select mux optimization
|
2023-03-02 11:40:29 -08:00 |
|
Kevin Kim
|
44d40afca8
|
fixed controller lint, changed byte unit mux select name and input width
|
2023-03-02 11:36:12 -08:00 |
|
Kevin Kim
|
96995c5593
|
removed redundant zbs
|
2023-03-02 11:22:09 -08:00 |
|
Ross Thompson
|
3d1ffac7d7
|
Cleaned up branch predictor performance counters.
|
2023-03-01 17:05:42 -06:00 |
|
David Harris
|
c761fb1054
|
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
|
2023-03-01 11:18:05 -08:00 |
|
David Harris
|
e78591093e
|
Renamed I/D TLBMissOrDAFault to TLBMissOrUpdateDA for consistency with UpdateDA
|
2023-03-01 11:18:00 -08:00 |
|
Ross Thompson
|
a61f8bc4cf
|
Set bp to use instruction class prediction by default.
|
2023-03-01 11:52:42 -06:00 |
|
Ross Thompson
|
e8744684cd
|
Branch predictor cleanup.
I think Ch 10 is now done except for BTB performance analysis and the section on running benchmarks and collecting data.
|
2023-03-01 11:24:24 -06:00 |
|
Ross Thompson
|
08a1153ae9
|
More btb cleanup.
|
2023-03-01 10:47:00 -06:00 |
|
Ross Thompson
|
dd2433f7ff
|
Minor fix to btb.
|
2023-03-01 10:45:40 -06:00 |
|
Ross Thompson
|
2773048bd4
|
Name cleanup.
|
2023-02-28 17:48:58 -06:00 |
|
Kip Macsai-Goren
|
9e52ede0cd
|
Merge remote-tracking branch 'upstream/main' into bit-manip
|
2023-02-28 14:41:51 -08:00 |
|
Kip Macsai-Goren
|
2cab4a2f0a
|
Merge remote-tracking branch 'origin' into bit-manip
|
2023-02-28 14:39:57 -08:00 |
|
Ross Thompson
|
87013ccaf0
|
Found the performance bug with the branch predictor btb power saving update.
|
2023-02-28 15:57:34 -06:00 |
|
Ross Thompson
|
8af61c0cc0
|
Name changes to reflect diagrams.
|
2023-02-28 15:37:25 -06:00 |
|
Ross Thompson
|
a823d8d021
|
Undid the btb update as it reduces performance.
|
2023-02-28 15:21:56 -06:00 |
|
Kevin Kim
|
036cad71c6
|
bitmanip decoder spits out regwrite, w64, and aluop signals [NEEDS DEBUG]
|
2023-02-28 12:09:35 -08:00 |
|
Kevin Kim
|
6835a635cc
|
added BRegWrite, BW64, BALUOp signals to bctrl and controller
-TODO: Main decode in bmuctrl must assert these 3 signals
|
2023-02-28 11:54:10 -08:00 |
|
Kevin Kim
|
82059fba67
|
changed shifter source select signal name
|
2023-02-28 11:41:40 -08:00 |
|
Kevin Kim
|
30ef1ac9e3
|
rename result back to ALUResult in ALU
|
2023-02-28 07:27:34 -08:00 |
|
Ross Thompson
|
3261f31e88
|
This icpred and btb changes are causing a performance issue.
|
2023-02-27 20:00:50 -06:00 |
|
Ross Thompson
|
69e8358639
|
Modified the BTB to save power by not updating when the prediction is unchanged.
|
2023-02-27 17:37:29 -06:00 |
|
Ross Thompson
|
44361f0a34
|
Merge branch 'main' of https://github.com/openhwgroup/cvw
|
2023-02-27 09:48:03 -06:00 |
|
David Harris
|
5c8fee127b
|
Added support for ZMMUL
|
2023-02-27 07:29:53 -08:00 |
|
Ross Thompson
|
a81cc883e9
|
Signal name changes.
|
2023-02-27 00:39:19 -06:00 |
|
David Harris
|
0d3d499940
|
hptw typo fix
|
2023-02-26 19:38:34 -08:00 |
|
Ross Thompson
|
447f6b1443
|
Branch predictor cleanup.
|
2023-02-26 21:28:36 -06:00 |
|
David Harris
|
907fbfec38
|
Simplified Access fault logic in HPTW
|
2023-02-26 18:50:37 -08:00 |
|
David Harris
|
d3f5708ded
|
StoreAmo faults are generated instead of load faults on AMO operations
|
2023-02-26 18:35:10 -08:00 |
|
Ross Thompson
|
3804626166
|
Create module for instruction class prediction and decoding.
|
2023-02-26 20:20:30 -06:00 |
|
Ross Thompson
|
86f611577f
|
Merge branch 'main' of https://github.com/openhwgroup/cvw into main
|
2023-02-26 19:58:24 -06:00 |
|
David Harris
|
d2fd34efe6
|
Renamed DAPageFault to UpdateDA
|
2023-02-26 17:51:45 -08:00 |
|
David Harris
|
246deeda82
|
renamed UpperBitsUnequalPageFault to UpperBitsUnequal
|
2023-02-26 17:32:34 -08:00 |
|
David Harris
|
099267ffce
|
moved tlb to subdirectory
|
2023-02-26 17:31:03 -08:00 |
|
David Harris
|
a9e884acc8
|
Moved TLB into subdirectory of MMU
|
2023-02-26 17:28:05 -08:00 |
|
Ross Thompson
|
bb276da6eb
|
Merge branch 'main' of https://github.com/openhwgroup/cvw into main
|
2023-02-26 12:06:06 -06:00 |
|
David Harris
|
2ad62ea31f
|
Removed unneeded TLBFlush from TLBMiss
|
2023-02-26 10:04:16 -08:00 |
|
David Harris
|
2203c05724
|
Access faults are geted by ~TLBMiss rather than ~(Translate & ~TLBHit)
|
2023-02-26 09:58:34 -08:00 |
|
David Harris
|
4579a9d0c2
|
Renamed HPTW_WRITES_SUPPORTED to SVADU_SUPPORTED
|
2023-02-26 09:38:32 -08:00 |
|
David Harris
|
e3e5100f8d
|
Renamed DAPageFault to HPTWDAPageFault in hptw to avoid name conflict with DAPageFault from tlbcontrol
|
2023-02-26 07:12:43 -08:00 |
|
David Harris
|
d50658addf
|
Fixed missing assign when SSTC is not supported
|
2023-02-26 07:12:13 -08:00 |
|
David Harris
|
27acb90217
|
Fixed SSTC being unusable in M-MODE without Status.TM. Disable STIMECMP registers when SSTC_SUPPORTED = 0
|
2023-02-26 06:30:43 -08:00 |
|
Ross Thompson
|
7500bb75c6
|
PHT was enabled using the wrong ~flush and ~stall.
|
2023-02-24 22:57:32 -06:00 |
|
Ross Thompson
|
63b9f9ca3d
|
gshare cleanup.
|
2023-02-24 22:55:51 -06:00 |
|
Ross Thompson
|
ed7ab402ad
|
More signal renames.
|
2023-02-24 19:56:55 -06:00 |
|
Ross Thompson
|
e549bec060
|
Renamed signals to match new figures.
|
2023-02-24 19:51:47 -06:00 |
|
Kevin Kim
|
c7050ada78
|
removed old shifter
|
2023-02-24 17:33:47 -08:00 |
|
Ross Thompson
|
6ff524d843
|
Renamed signals to match figure 10.18.
|
2023-02-24 19:22:14 -06:00 |
|
Kevin Kim
|
b3180d7307
|
removed now-redundant zero-extend mux in alu
|
2023-02-24 17:14:12 -08:00 |
|
Kevin Kim
|
0fe1d3b9f3
|
took sign extension out of shifter
|
2023-02-24 17:09:56 -08:00 |
|
Ross Thompson
|
ea71fd09f5
|
Merge branch 'main' of https://github.com/openhwgroup/cvw
|
2023-02-24 18:50:35 -06:00 |
|
Ross Thompson
|
4058a49985
|
Possible fix to btb performance issue.
|
2023-02-24 18:36:41 -06:00 |
|
Ross Thompson
|
5c52827f51
|
Cleanup.
|
2023-02-24 18:20:42 -06:00 |
|
Ross Thompson
|
d030d323fd
|
Completed critical path gshare fix.
|
2023-02-24 18:02:00 -06:00 |
|
Ross Thompson
|
c2021927ce
|
Prep to fix gshare critical path.
|
2023-02-24 17:54:48 -06:00 |
|
Ross Thompson
|
4ffaa75c2a
|
Modified btb forwarding logic to reduce critical path.
|
2023-02-24 17:47:43 -06:00 |
|
Kevin Kim
|
a856c5de96
|
optimized mux to shifter, passes rv32/64i
|
2023-02-24 12:09:34 -08:00 |
|
Kip Macsai-Goren
|
1ad1c4735d
|
Merge remote-tracking branch 'upstream/main' into bit-manip
|
2023-02-24 09:28:24 -08:00 |
|
David Harris
|
60752fe51c
|
Fixed special cases of address decoder and documented better
|
2023-02-24 07:52:46 -08:00 |
|
Kevin Kim
|
f0cf7c2c6a
|
small optimization to condzext select
|
2023-02-23 21:57:28 -08:00 |
|
Ross Thompson
|
6e8791a0a5
|
Major cleanup of bp.
|
2023-02-23 16:19:03 -06:00 |
|
Ross Thompson
|
d880720b7e
|
Partial replacement of InstrClassX with {JalX, RetX, JumpX, and BranchX}.
|
2023-02-23 15:55:34 -06:00 |
|
Kip Macsai-Goren
|
003ad0618d
|
Merge remote-tracking branch 'upstream/main' into main
|
2023-02-23 13:33:45 -08:00 |
|
Ross Thompson
|
500764f97b
|
Branch predictor cleanup.
|
2023-02-23 15:15:14 -06:00 |
|
Ross Thompson
|
70f7f59332
|
Moved more branch predictor logic into the performance counter block.
|
2023-02-23 15:14:56 -06:00 |
|
Ross Thompson
|
195343c84f
|
Added if generate around bp logic only used with performance counters.
|
2023-02-23 14:39:31 -06:00 |
|
Ross Thompson
|
ed91fc5ce3
|
Renamed PCPredX to BTAX.
|
2023-02-23 14:33:32 -06:00 |
|
Kip Macsai-Goren
|
f8f89e692e
|
Fixed lint errors on zero and pop count. All of regression passes
|
2023-02-22 20:25:51 -08:00 |
|
Kip Macsai-Goren
|
82611ba889
|
Manual attempt to merge with upstream changes
|
2023-02-22 19:42:30 -08:00 |
|
Kip Macsai-Goren
|
21eaa0b989
|
Merge remote-tracking branch 'upstream/main' into main
|
2023-02-22 15:47:54 -08:00 |
|
Ross Thompson
|
1af7b8051e
|
Fixed bug in basic gshare.
|
2023-02-22 12:54:46 -06:00 |
|
Ross Thompson
|
fd5b940839
|
Merge branch 'main' of https://github.com/openhwgroup/cvw
|
2023-02-22 09:11:57 -06:00 |
|
Ross Thompson
|
5ecbc830cf
|
Oups. Turns out dc_shell does not like string parameters.
Switched gshare to use an integer parameter to select between gshare and global.
|
2023-02-22 09:11:46 -06:00 |
|
Kip Macsai-Goren
|
66833f15f2
|
Merge remote-tracking branch 'upstream/main' into main
|
2023-02-21 14:48:41 -08:00 |
|
Kevin Kim
|
bb252acfbe
|
added individual zb tests in tests.vh and testbench
- also minor alu/controller configurability changes
|
2023-02-21 11:52:05 -08:00 |
|
David Harris
|
bc4410e686
|
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
|
2023-02-21 09:58:18 -08:00 |
|
David Harris
|
8df7768d32
|
Fixed Issue #65 fmv sign selection. Sign needs to come from most significant bit of raw X source without doing NaN Box fixes first.
|
2023-02-21 09:57:57 -08:00 |
|
David Harris
|
0b9fd8a4b3
|
Fixed Issue #106: fld rasies load access fault instead of illegal instruction. The IEU controller had considered all fp loads and stores to be legal regardless of whether the FPU is enabled or the type is supported. Merged illegal instruction detection from both units into the Decode stage, saving two bits of pipeline register as well.
|
2023-02-21 09:32:17 -08:00 |
|
Ross Thompson
|
fd5c12431e
|
Fixed typo in the global branch predictor.
|
2023-02-20 18:48:02 -06:00 |
|
Ross Thompson
|
d2e06d9ef0
|
Cleanup branch predictor files.
|
2023-02-20 18:45:45 -06:00 |
|
Ross Thompson
|
a14c71bd95
|
Renamed branch predictors and consolidated global and gshare predictors.
|
2023-02-20 18:42:37 -06:00 |
|
Ross Thompson
|
68e39eeb66
|
Fixed another bug in the btb.
|
2023-02-20 17:54:22 -06:00 |
|