Commit Graph

309 Commits

Author SHA1 Message Date
cturek
fb221d7b64 Changed weird D sizing. Better names in preproc. Finalized Int/Float input to divider. 2022-12-02 21:44:29 +00:00
cturek
04ac350a29 Added flops to preproc 2022-12-02 20:31:08 +00:00
David Harris
3a07d56d33 Renamed FPUStallD to FCvtIntStallD 2022-12-02 11:55:23 -08:00
David Harris
1b0f878c16 Renamed DivStartE to IFDivStartE 2022-12-02 11:30:49 -08:00
David Harris
db5f3c15a4 FPU divider working with execute stage stall 2022-12-02 11:11:53 -08:00
cturek
bdb9e24a66 Almost done with Int division 2022-11-22 22:22:59 +00:00
David Harris
59335ac70f comment cleanup 2022-11-16 10:23:20 -08:00
David Harris
be9c618c94 Renamed DivBusy to FDivBusyE in FPU 2022-11-16 10:13:27 -08:00
David Harris
128cc86254 Moved DivStartE to fdivsqrtfsm 2022-11-16 10:00:07 -08:00
cturek
ffd03e9548 Attempt to fix FPGA synth errors 2022-11-15 20:34:28 +00:00
cturek
98b66aab9f Fixed lint errors in postprocessing 2022-11-15 20:31:23 +00:00
cturek
abaa33b92a Added majority of combinational logic 2022-11-14 00:06:38 +00:00
cturek
6740d77b63 Added Quotient/Remainder calcs to normal termination 2022-11-13 23:44:34 +00:00
cturek
12e3646153 Added flops for n and m, added B=0 signal 2022-11-13 23:02:43 +00:00
cturek
f10700e666 Added A<B signal to fdivsqrt, started postprocessing merge 2022-11-13 22:40:26 +00:00
David Harris
84c4558641 Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main 2022-11-13 04:23:26 -08:00
David Harris
2ebdfa3f68 Comments about division hazards 2022-11-13 04:17:37 -08:00
cturek
4a8661649c Added integer step counter to fsm 2022-11-11 00:23:25 +00:00
cturek
b723e16893 Fixed asign and bsign 2022-11-09 18:41:26 +00:00
cturek
d571b5f9a5 propagated otfc swap to Rad2 and 4 qslc 2022-11-06 23:32:38 +00:00
cturek
54f09f3616 Added conditional OTFC swap for simplified int postprocessing 2022-11-06 23:09:09 +00:00
cturek
c3e635c788 Finished Int Preprocessinggit add ../src/fpu/fdivsqrt/fdivsqrtpreproc.sv 2022-11-06 22:40:21 +00:00
cturek
a49ea2a16d Added n and rightshiftx 2022-11-06 22:31:48 +00:00
cturek
350d4d254f p calculation 2022-11-06 22:24:21 +00:00
cturek
83051a5351 Changed lzc names, started int/fp size merge in preproc 2022-11-06 22:21:35 +00:00
cturek
2cbe2fd70b Added n, p, and m signals between fdivsqrt submodules. Added w64 and mdue to divsqrt testbench. 2022-11-06 22:08:18 +00:00
cturek
6bc4c1318e Added new macros for int div preprocessing, added p, n, and rightshiftx logic 2022-11-06 21:53:48 +00:00
cturek
06a9305766 renamed remOp to RemOp 2022-11-03 22:37:25 +00:00
cturek
e37f564e84 Added rem/div operation to postprocessor 2022-11-02 17:49:40 +00:00
cturek
e8d7607e87 Added buffered signals for int/fp 2022-10-28 21:47:24 +00:00
cturek
9f41e57f03 Config Cleanup 2022-10-27 22:38:56 +00:00
cturek
7301fc7f18 small signal cleanup 2022-10-26 18:42:49 +00:00
cturek
6caf7bb7e2 abs for int inputs 2022-10-26 16:18:05 +00:00
cturek
ec4646b412 Added signed division to fdivsqrt 2022-10-26 16:13:41 +00:00
cturek
ff7d6b2932 Started Integer Preprocessing 2022-10-25 17:48:43 +00:00
amaiuolo
56455bb9ad Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally 2022-10-13 22:36:57 +00:00
amaiuolo
1ae48e0edc added amaiuolo@hmc.edu 2022-10-13 22:36:52 +00:00
David Harris
04dc0ac02c New fdivsqrtqsel4cmp module based on comparators rather than table lookup 2022-10-09 04:47:44 -07:00
David Harris
4f312ea2e7 Moved shift into divsqrt stage and cleaned up comments 2022-10-09 04:45:45 -07:00
David Harris
2aa43848f5 fdivsqrt code cleanup 2022-10-09 03:37:27 -07:00
David Harris
657f16dfd1 Adding start signals for integer divider to fdivsqrt 2022-09-29 16:30:25 -07:00
cturek
e8a869e0e7 Added integer inputs and flags to divsqrt 2022-09-29 23:08:27 +00:00
David Harris
d6297a2f2e For radix 4 division, fixed initial C and then could remove unexplained shift from divshiftcalc 2022-09-21 13:30:35 -07:00
David Harris
46680b80a7 Eliminated store after store stall when no cache; simplified divshiftcalc logic. 2022-09-21 13:02:34 -07:00
David Harris
cb4c3ff1ce Simplified shipping in divshiftcalc; enhanced testbench-fp to be able to run all 32-bit tests generated by sqrttest 2022-09-21 10:35:08 -07:00
David Harris
129b9343fe commented SpecialCase 2022-09-21 05:02:08 -07:00
David Harris
5e1932c649 Added SpecialCaseReg to hold SpecialCase for fdivsqrtpostproc 2022-09-21 04:55:43 -07:00
David Harris
f7d272c315 Gated sticky bit in fdiv with SpecialCase 2022-09-20 20:05:00 -07:00
David Harris
3b98881c4e renamed u to udigit to avoid conflict with U 2022-09-20 19:29:23 -07:00
cturek
6e300a667e Fixed R4 Sqrt overshifting 2022-09-21 00:05:36 +00:00
cturek
c3c764f0ba Fixed fgen4 2022-09-20 20:00:01 +00:00
David Harris
00c15ec472 renamed q to u for unified digit selection 2022-09-20 04:35:14 -07:00
David Harris
d01588d693 Removed D2 and D2b from radix2 stage 2022-09-20 04:20:38 -07:00
David Harris
2ea7df1b6d Simplified UM initialization 2022-09-20 04:18:12 -07:00
David Harris
0d5e80a4f0 fdivsqrtfgen4 comments 2022-09-20 04:13:21 -07:00
David Harris
653c458241 Moved fpu modules into subdirectories 2022-09-20 04:12:05 -07:00
David Harris
0ec1886b89 Partitioned fdivsqrt into one module per file and added file names to opening comments 2022-09-20 03:57:57 -07:00
David Harris
a05b6486b1 Simplified fdivsqrtpostproc QmM logic 2022-09-20 03:30:18 -07:00
David Harris
87cde2c427 make QmM size b+1 indpenedent of radix 2022-09-20 03:25:09 -07:00
David Harris
e455f41b97 clean up divshiftcalc 2022-09-20 03:19:50 -07:00
David Harris
211705eca2 clean up divshiftcalc 2022-09-20 03:17:29 -07:00
David Harris
d3b2a192eb clean up divshiftcalc 2022-09-20 03:13:11 -07:00
David Harris
f5083803c2 clean up divshiftcalc 2022-09-20 03:08:25 -07:00
David Harris
2faa0d14be Cleaning up divshiftcalc LOGNORMSHIFTSZ 2022-09-20 02:35:01 -07:00
cturek
019a6eb9f5 Radix 4 sqrt passing first two tests 2022-09-19 21:26:32 +00:00
David Harris
8e90862dad Removed EarlyTermShift from fdiv 2022-09-19 08:44:23 -07:00
David Harris
73ceb4590c Finished unified divsqrt otfc and fgen name changes 2022-09-19 08:30:59 -07:00
David Harris
3cf6becaf4 fdivsqrtiter simplification 2022-09-19 01:08:01 -07:00
David Harris
e840edc4e6 Reduced number of cycles needed for division 2022-09-19 01:02:04 -07:00
David Harris
d6f1453275 Cleaned up otfc4 2022-09-19 00:58:20 -07:00
David Harris
309995a6e9 OTFC simplification 2022-09-19 00:51:56 -07:00
David Harris
59b6346a28 Removed unused otfc for Q 2022-09-19 00:43:27 -07:00
David Harris
e764d4322c fdiv cleanup 2022-09-19 00:32:34 -07:00
David Harris
cf0c20d489 Division working again for radix 2 with unified OTFC 2022-09-19 00:30:30 -07:00
David Harris
b636072914 Unified on-the-fly conversion working for radix 2; broke radix-4 division 2022-09-19 00:04:00 -07:00
David Harris
4dbe1035cb Added 2 bits to C to initialize properly 2022-09-18 22:44:22 -07:00
David Harris
f202eb0f6f Added 2 bits to C to initialize properly 2022-09-18 22:42:35 -07:00
David Harris
b74a68ff0f Reduced number of cycles required for lower-precision sqrt 2022-09-17 09:55:34 -07:00
David Harris
ac78823f6c Starting to adust number of cycles for division/sqrt 2022-09-17 05:58:59 -07:00
cturek
79addec27a Fixed j1 to align with new C reg 2022-09-16 02:15:48 +00:00
David Harris
29d9ded25c FDIVSQRT cleanup 2022-09-15 09:10:57 -07:00
cturek
da67e02392 Added shift for radix 4 sqrt 2022-09-14 17:34:24 +00:00
cturek
47d02db2eb Moved X-1 to preproc 2022-09-14 17:26:56 +00:00
cturek
4f3baea0fc removed unnecessary XZero from wsmux 2022-09-14 16:59:52 +00:00
David Harris
1495305045 Removed unused signals 2022-09-12 11:35:35 -07:00
David Harris
7639c05e51 Moved C to shift before rather than after using in an iteration 2022-09-08 16:05:53 -07:00
David Harris
7ba9b0b349 divsqrt comment cleanup 2022-09-08 15:40:42 -07:00
David Harris
5ea82cff33 CSA-based completion detection 2022-09-08 14:58:08 -07:00
David Harris
2d5e7827df Factored out aplusbeq0 unit 2022-09-07 11:36:35 -07:00
David Harris
838d98cf4b Preprocessing cleanup 2022-09-07 10:21:27 -07:00
David Harris
c8e0ea067e Continued simplifying fdivsqrt postprocessing 2022-09-07 07:02:22 -07:00
David Harris
b0ff3a0952 Continued simplifying fdivsqrt postprocessing 2022-09-07 07:00:13 -07:00
David Harris
9e7926e8d7 Moving postprocessing into postproc block 2022-09-07 06:42:37 -07:00
David Harris
c39e71f168 fdivsqrtfsm cleanup 2022-09-07 06:32:07 -07:00
David Harris
027b303b20 fdivsqrtfsm cleanup 2022-09-07 06:27:01 -07:00
David Harris
19e449b83d Fixed regression for divsqrt radix2 2022-09-07 06:12:23 -07:00
David Harris
41448663b9 Initial radix 4 square root debuggin 2022-09-01 16:57:57 -07:00
David Harris
5e26bcced1 Fixed lint errors in square root and improved waveforms in testfloat 2022-09-01 15:49:13 -07:00
David Harris
199296dd03 fdiv debug 2022-08-31 14:26:31 -07:00
David Harris
09456db445 Checking in radix 4 square root with qsel, fgen, softc, but not working 2022-08-31 10:54:50 -07:00