Commit Graph

178 Commits

Author SHA1 Message Date
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
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
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
Kevin Kim
2069d92f9e B DONE (for now)
- datapath passes along comparator flag to alu
-  controllers and zbb handle min/max instructions
2023-02-18 22:12:55 -08:00
Kevin Kim
888f4318bc controlleres and zbb handle byte instructions 2023-02-18 21:06:55 -08:00
Kevin Kim
27581f8d28 alu and controllers handle andn, orn, xnor 2023-02-18 20:57:07 -08:00
Kevin Kim
ba968ed95e added logic to handle sign/zero extend instructions 2023-02-18 20:32:40 -08:00
Kevin Kim
5c563bef43 fixed ctlzw bug in count unit 2023-02-18 20:12:30 -08:00
Kevin Kim
6d60268240 zbb handles count instructions 2023-02-18 20:12:17 -08:00
Kevin Kim
9760f0ccfd fixed bmuctrl decode bug 2023-02-18 20:11:50 -08:00
Kevin Kim
84ddb6fb54 updated comments in bmuctrl 2023-02-18 19:57:10 -08:00
Kevin Kim
bec2905ee5 rotate instructions now handled in ZBB unit 2023-02-18 19:56:54 -08:00
Kevin Kim
e47cc222a6 removed redundant decode logic in bmuctrl 2023-02-18 19:50:36 -08:00
Kevin Kim
9203b0cc2f began ZBB integration into ieu 2023-02-18 19:44:14 -08:00
Kevin Kim
7780cbd47a bmuctrl handles roriw 2023-02-18 16:26:16 -08:00
Kevin Kim
92c0d3a4ed configured shifter in alu 2023-02-17 21:58:49 -08:00
Kevin Kim
182b27dfc8 shifter bug fix
- roli not passing unless I keep the MSB (instead of inverting) of truncated offset
2023-02-17 21:58:26 -08:00
Kevin Kim
c353378da8 controller supports some rotates 2023-02-17 21:57:34 -08:00
Kevin Kim
4a52b57002 bmuctrl supports some rotates 2023-02-17 21:57:19 -08:00
Kevin Kim
50ec6baa07 added zero extend, pre-shift mux to ALU 2023-02-17 20:15:12 -08:00
Kevin Kim
e2d90a9422 more elegant ZBA logic in controller 2023-02-17 20:14:47 -08:00
Kevin Kim
cd92d6e5d1 bmuctrl handles .uw instructions 2023-02-17 20:14:13 -08:00
Kevin Kim
750882455f controller supports ZBA instructions 2023-02-17 16:44:16 -08:00
Kevin Kim
fcae58fcc7 removed Funct7 in Execute Stage 2023-02-17 16:12:09 -08:00
Kevin Kim
9bf11471aa bmuctrl checks for illegal zbs-style instructions 2023-02-17 12:54:08 -08:00
Kevin Kim
0bab3bec3d bctrl bug fix
- bctrl decodes shift immediate instructions properly
2023-02-17 11:16:29 -08:00
Kevin Kim
bb79b57cc1 alu bug fix
- condmaskb piped in correctly instead of b
2023-02-17 11:02:07 -08:00
Kevin Kim
ee3a520a1f alu looks at BSelect, added BSelect one hot signal 2023-02-17 09:51:49 -08:00
Kevin Kim
890c54bc0b added alu changes to previous commit 2023-02-17 08:22:13 -08:00
Kevin Kim
ec2421ead4 added BSelect Signal
- BSelect [3:0] is a one hot encoding of if it's a ZBA_ZBB_ZBC_ZBS instruction
2023-02-17 08:21:55 -08:00
Kevin Kim
81cb00aaee comments 2023-02-17 07:53:14 -08:00
Kevin Kim
505f3bf42f comments 2023-02-17 07:52:54 -08:00
Kevin Kim
256d362e0d comment formatting 2023-02-17 07:51:28 -08:00
Kevin Kim
9ab8183e80 alu handles ALU select instead of funct3 2023-02-17 07:51:10 -08:00
Kevin Kim
9128ac5409 added BMU controll 2023-02-17 07:50:59 -08:00
Kevin Kim
25c0811d3d Added ALUSelect signal into datapath, ieu, controller 2023-02-17 07:50:45 -08:00
David Harris
c3cc2f98d6 Reverted lab3 changes in dev branch 2023-02-16 18:10:05 -08:00
David Harris
532abb5b95
Update datapath.sv 2023-02-16 17:53:31 -08:00
David Harris
6527257305
Update controller.sv 2023-02-16 17:52:44 -08:00
David Harris
685d3ff568
Update alu.sv 2023-02-16 17:52:25 -08:00
Kevin Kim
465aad372a added comments to zbc units 2023-02-15 17:42:32 -08:00
Kevin Kim
aad4d13603 zbc configurability and select mux 2023-02-15 17:39:37 -08:00
Kevin Kim
068ddc3e0d controller forwards funct7
- started the bmu controll register
2023-02-15 17:38:12 -08:00
Kevin Kim
6ac54a180e zbc and carry-less multiply work properly 2023-02-15 17:37:09 -08:00
Kevin Kim
cf8392cbd8 continued ZBC integration into ALU 2023-02-15 09:35:07 -08:00
Kevin Kim
5426dd6184 added ALUResult Signal 2023-02-15 09:13:10 -08:00
Kevin Kim
9cec59ea2c controller passes funct7 from decode to execute 2023-02-14 16:06:10 -08:00
Kevin Kim
70f2dd701c git 2023-02-14 16:03:26 -08:00
Kevin Kim
9728e00dfd Merge branch 'tmp' into main 2023-02-14 13:12:57 -08:00
Kevin Kim
85c2ed8d34 removed unncessary stuff 2023-02-14 13:07:03 -08:00
Kevin Kim
8e371864e4 reverted back to I tests working 2023-02-14 13:06:31 -08:00
Kevin Kim
fd46e0080c added ALU result select mux for B instructions 2023-02-13 17:38:00 -08:00
Kevin Kim
84ca2cab9c controller handles bclr 2023-02-13 16:57:05 -08:00
Kevin Kim
29abec2409 Shadd instructions pass tests 2023-02-13 16:36:17 -08:00
Kevin Kim
27223a05e2 ALU lint fixes 2023-02-13 14:01:51 -08:00
Kevin Kim
29d03dbfc7 ALU configurability changes
-stuff that was ZBA supported was in ZBB so I changed that
2023-02-13 14:00:06 -08:00
Kevin Kim
12911440d0 edited controller so that add.uw passes tests 2023-02-13 13:49:46 -08:00
Kevin Kim
7eb41058c7 alu add.uw needs w64 to be false 2023-02-13 13:49:35 -08:00
Kevin Kim
31787c456b simulation runs-- clmul doesn't pass lint with xor tree 2023-02-11 21:22:33 -08:00
Kevin Kim
5f08322e99 lint fixes 2023-02-11 21:13:10 -08:00
Kevin Kim
6a7fe6352e zbb, zbs, cnt lint fixes 2023-02-11 20:41:52 -08:00
Kevin Kim
61b46e0639 fixed byte unit lints 2023-02-11 20:25:34 -08:00
Kevin Kim
fb99bdab82 fixed lints in cnt 2023-02-11 20:22:42 -08:00
Kevin Kim
38087be3b7 popcnt passes lint 2023-02-11 19:19:38 -08:00
Kevin Kim
76bc1b5999 clmul passes lint 2023-02-11 19:16:13 -08:00
Ross Thompson
9c4da7381f Experimental branch prediction optimization. 2023-02-10 15:45:56 -06:00
Kip Macsai-Goren
a7237baa87 fixed small errors to get regression to run with bit manip supported. 2023-02-10 10:37:06 -08:00
Kip Macsai-Goren
f91d74896a Merge remote-tracking branch 'upstream/main' into main 2023-02-10 10:01:14 -08:00
Ross Thompson
c229f0064e Modified branch predictor to use InstrValidE and InstrValidD rather than the more complex InstrClassE | WrongClassE logic. 2023-02-10 10:33:10 -06:00
Kevin Kim
726722bec2 Include Funct7 in execute
- Modifed datapath to support funct7 in execute
- Modified controller to pass on Funct7
- all lints pass
2023-02-09 19:18:54 +00:00
Kevin Kim
847a4145f1 added W64 zbb input signal in alu 2023-02-09 19:07:22 +00:00
Kevin Kim
e4bfa4c548 modified zbb to account for cnt module change 2023-02-09 16:45:37 +00:00
Kevin Kim
ce9dca8aec modified cnt for zbb to mux inputs 2023-02-09 16:45:22 +00:00
Kevin Kim
95ff9e91c5 moved files into bmu folder 2023-02-08 13:57:09 +00:00
Kip Macsai-Goren
7198592afc fixed merge conflicts with removal of pipelined folder 2023-02-06 18:04:28 -08:00
David Harris
99d179dd3e Removed pipelined level of hierarchy 2023-02-02 14:14:11 -08:00