ieee754fpu.git
20 months agocorrect FPRSQRT specialcases messy-div-pipe-works
Luke Kenneth Casson Leighton [Thu, 25 Jul 2019 08:57:14 +0000 (09:57 +0100)]
correct FPRSQRT specialcases

20 months agorewrote the logic in div[02].py; fdiv/fsqrt/frsqrt all works!
Jacob Lifshay [Thu, 25 Jul 2019 13:03:45 +0000 (06:03 -0700)]
rewrote the logic in div[02].py; fdiv/fsqrt/frsqrt all works!

giant messy single commit -- will split up later

20 months agoswitch fpdiv/test/test_fp*.py to use unittest
Jacob Lifshay [Thu, 25 Jul 2019 07:10:19 +0000 (00:10 -0700)]
switch fpdiv/test/test_fp*.py to use unittest

20 months agoskip slow tests
Jacob Lifshay [Thu, 25 Jul 2019 06:48:23 +0000 (23:48 -0700)]
skip slow tests

20 months agoRevert "reduce LHS for RSQRT by a factor of fract_width and"
Jacob Lifshay [Thu, 25 Jul 2019 06:41:01 +0000 (23:41 -0700)]
Revert "reduce LHS for RSQRT by a factor of fract_width and"

This reverts commit c6149c74b64a00d0ca8059468e8709ccb200e301.

20 months agoadd new FP32-FRSQRT regression test
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 12:08:18 +0000 (13:08 +0100)]
add new FP32-FRSQRT regression test

20 months agofix shifting of rsqrt mantissa input
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 10:24:42 +0000 (11:24 +0100)]
fix shifting of rsqrt mantissa input

20 months agosemi-working after "hack" to reduce LHS of algorithm by fract_width
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 10:13:19 +0000 (11:13 +0100)]
semi-working after "hack" to reduce LHS of algorithm by fract_width

20 months agoadd rsqrt specialcases
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 10:12:40 +0000 (11:12 +0100)]
add rsqrt specialcases

20 months agoreduce LHS for RSQRT by a factor of fract_width and
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 10:11:53 +0000 (11:11 +0100)]
reduce LHS for RSQRT by a factor of fract_width and
"sensible answers" start appearing from the div/sqrt/rsqrt algorithm

20 months agoadd fsqrt test
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 08:28:55 +0000 (09:28 +0100)]
add fsqrt test

20 months agoreduce am0/bm0 by 2 bits in DIV
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 21:44:25 +0000 (22:44 +0100)]
reduce am0/bm0 by 2 bits in DIV

20 months agohmmm remove extra zeros on DIV mantissas
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 21:40:45 +0000 (22:40 +0100)]
hmmm remove extra zeros on DIV mantissas

20 months agomore comments
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 21:33:10 +0000 (22:33 +0100)]
more comments

20 months agoreduce next_bits by 1
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 21:26:13 +0000 (22:26 +0100)]
reduce next_bits by 1

20 months agoclean up comments
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 21:21:53 +0000 (22:21 +0100)]
clean up comments

20 months agouse PriorityEncoder and Array selection
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 21:15:43 +0000 (22:15 +0100)]
use PriorityEncoder and Array selection

20 months agostore bits in signals, cleans up graphviz
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 20:40:45 +0000 (21:40 +0100)]
store bits in signals, cleans up graphviz

20 months agospecialcases: sqrt of -ve zero is -ve zero
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 16:44:32 +0000 (17:44 +0100)]
specialcases: sqrt of -ve zero is -ve zero

20 months agoremove debug prints
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 16:30:01 +0000 (17:30 +0100)]
remove debug prints

20 months agohack which happens to get fsqrt preliminarily working
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 16:27:22 +0000 (17:27 +0100)]
hack which happens to get fsqrt preliminarily working

20 months agoadd more fpsqrt specialcases
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 16:18:31 +0000 (17:18 +0100)]
add more fpsqrt specialcases

20 months agoadd more fpsqrt specialcases
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 15:43:45 +0000 (16:43 +0100)]
add more fpsqrt specialcases

20 months agoadd more fpsqrt specialcases
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 15:43:04 +0000 (16:43 +0100)]
add more fpsqrt specialcases

20 months agoadd fsqrt test
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 15:41:50 +0000 (16:41 +0100)]
add fsqrt test

20 months agostart adding FPSQRT specialcases
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 15:41:08 +0000 (16:41 +0100)]
start adding FPSQRT specialcases

20 months agoadd fpsqrt experiment
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 15:36:11 +0000 (16:36 +0100)]
add fpsqrt experiment

20 months agotidyup
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 14:40:25 +0000 (15:40 +0100)]
tidyup

20 months agosplit out div/sqrt/rsqrt trials to separate module
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 11:45:38 +0000 (12:45 +0100)]
split out div/sqrt/rsqrt trials to separate module

20 months agotidyup a bit
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 10:00:15 +0000 (11:00 +0100)]
tidyup a bit

20 months agoreduce n_comb_stages for fpdiv first setup
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 09:29:37 +0000 (10:29 +0100)]
reduce n_comb_stages for fpdiv first setup

20 months agoadd magic constants comment
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 09:17:08 +0000 (10:17 +0100)]
add magic constants comment

20 months agoadd some voodoo magic extra bits on the input numbers in fpdiv
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 09:15:51 +0000 (10:15 +0100)]
add some voodoo magic extra bits on the input numbers in fpdiv

20 months agoreorganise loop
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 09:05:50 +0000 (10:05 +0100)]
reorganise loop

20 months agoupdate explanatory comments
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 07:52:14 +0000 (08:52 +0100)]
update explanatory comments

20 months agoadd fpdiv 16/32 regression/coverage tests
Luke Kenneth Casson Leighton [Tue, 23 Jul 2019 07:10:55 +0000 (08:10 +0100)]
add fpdiv 16/32 regression/coverage tests

20 months agocorrections to mantissa length, FP16/32/64 DIV work (preliminary)
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 20:24:42 +0000 (21:24 +0100)]
corrections to mantissa length, FP16/32/64 DIV work (preliminary)

20 months agoFP16 DIV seems to be working
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 19:39:49 +0000 (20:39 +0100)]
FP16 DIV seems to be working

20 months agomore random experimenting
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 17:49:50 +0000 (18:49 +0100)]
more random experimenting

20 months agorandom modifications
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 16:19:37 +0000 (17:19 +0100)]
random modifications

20 months agorandom modifications got semi-correct output
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 15:55:04 +0000 (16:55 +0100)]
random modifications got semi-correct output

20 months agocontinuing experimentation
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 13:28:21 +0000 (14:28 +0100)]
continuing experimentation

20 months agoadd twin MSB alignment / denormalisation (from FPMUL)
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 12:06:42 +0000 (13:06 +0100)]
add twin MSB alignment / denormalisation (from FPMUL)

20 months agoexperimenting
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 11:19:58 +0000 (12:19 +0100)]
experimenting

20 months agoset fraction width to zero
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:46:40 +0000 (11:46 +0100)]
set fraction width to zero

20 months agoremove FIXMEs
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:35:55 +0000 (11:35 +0100)]
remove FIXMEs

20 months agoput am0 into top bits of dividend
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:32:54 +0000 (11:32 +0100)]
put am0 into top bits of dividend

20 months agoadd roundup to nearest radix
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:24:48 +0000 (11:24 +0100)]
add roundup to nearest radix

20 months agorename long parameter name to shorter n_stages
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:21:07 +0000 (11:21 +0100)]
rename long parameter name to shorter n_stages

20 months agoremove stage-work-reduction for now
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:19:13 +0000 (11:19 +0100)]
remove stage-work-reduction for now

20 months agodivide number of stages by radix and by required comb_stages?
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 10:16:58 +0000 (11:16 +0100)]
divide number of stages by radix and by required comb_stages?

20 months agofix div specialcases
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:50:09 +0000 (09:50 +0100)]
fix div specialcases

20 months agoconfig/setup/imports
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:47:36 +0000 (09:47 +0100)]
config/setup/imports

20 months agoadd missing ispec/ospecs
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:29:51 +0000 (09:29 +0100)]
add missing ispec/ospecs

20 months agoremove unneeded code
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:22:28 +0000 (09:22 +0100)]
remove unneeded code

20 months agoremove div1.py
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:20:42 +0000 (09:20 +0100)]
remove div1.py

20 months agowhitespace
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:17:39 +0000 (09:17 +0100)]
whitespace

20 months agomore imports / syntax errors
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:11:42 +0000 (09:11 +0100)]
more imports / syntax errors

20 months agoset up DivPipeCoreConfig back in FPDIVMuxInOut, syntax errors
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 08:06:01 +0000 (09:06 +0100)]
set up DivPipeCoreConfig back in FPDIVMuxInOut, syntax errors

20 months agosort out weirdness in FPDIVBasePipe initialisation
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 03:51:34 +0000 (04:51 +0100)]
sort out weirdness in FPDIVBasePipe initialisation

20 months agofix imports
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 03:39:03 +0000 (04:39 +0100)]
fix imports

20 months agocompare_rhs is a multi-bit value (cant use bool())
Luke Kenneth Casson Leighton [Mon, 22 Jul 2019 01:20:25 +0000 (02:20 +0100)]
compare_rhs is a multi-bit value (cant use bool())

20 months agomatch mantissa width up in div config
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 20:24:47 +0000 (21:24 +0100)]
match mantissa width up in div config

20 months agorename exponent_width to e_width, mantissa_width to m_width (shorter)
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 20:15:32 +0000 (21:15 +0100)]
rename exponent_width to e_width, mantissa_width to m_width (shorter)

20 months agocreate get_core_config function
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 20:12:12 +0000 (21:12 +0100)]
create get_core_config function

20 months agorestore important modifications that seemed to be lost
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 20:09:34 +0000 (21:09 +0100)]
restore important modifications that seemed to be lost

20 months agocompensate for div answer being in range 0.49999 to 1.99998
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 17:55:37 +0000 (18:55 +0100)]
compensate for div answer being in range 0.49999 to 1.99998

20 months agoadd comment on what mantissas represent
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 17:44:11 +0000 (18:44 +0100)]
add comment on what mantissas represent

20 months agoupdate comments
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 15:37:46 +0000 (16:37 +0100)]
update comments

20 months agoadd an absolute count on the stages
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 15:26:19 +0000 (16:26 +0100)]
add an absolute count on the stages

20 months agoadd an absolute count on the stages
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 15:25:16 +0000 (16:25 +0100)]
add an absolute count on the stages

20 months agoget DivPipeOutputData converted to mantissa + overflow format
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 15:18:04 +0000 (16:18 +0100)]
get DivPipeOutputData converted to mantissa + overflow format

20 months agostart also putting in additional DivPipe*Stage usage
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 15:09:22 +0000 (16:09 +0100)]
start also putting in additional DivPipe*Stage usage

20 months agoadd preliminary DivPipeCalculateStage and DivPipeFinalStage
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 15:03:46 +0000 (16:03 +0100)]
add preliminary DivPipeCalculateStage and DivPipeFinalStage

20 months agoadd "z" to DivPipeBaseData class so that sign and exponent can be carried
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 14:53:49 +0000 (15:53 +0100)]
add "z" to DivPipeBaseData class so that sign and exponent can be carried
(unmodified) through the pipeline

20 months agostart adding use of DivPipeInputData and DivPipeInterstageData
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 14:48:09 +0000 (15:48 +0100)]
start adding use of DivPipeInputData and DivPipeInterstageData

20 months agostore a and b in dividend and divisor_radicand
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 14:40:50 +0000 (15:40 +0100)]
store a and b in dividend and divisor_radicand

20 months agoadd bug cross-reference to #113 for FCVT unit tests
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 09:33:37 +0000 (10:33 +0100)]
add bug cross-reference to #113 for FCVT unit tests

20 months agosplit out EXP-High shifter to separate module
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 09:28:32 +0000 (10:28 +0100)]
split out EXP-High shifter to separate module

20 months agobeginnings of FP to INT convert
Luke Kenneth Casson Leighton [Sun, 21 Jul 2019 09:28:03 +0000 (10:28 +0100)]
beginnings of FP to INT convert

20 months agohighlight weirdness
Luke Kenneth Casson Leighton [Sat, 20 Jul 2019 05:45:12 +0000 (06:45 +0100)]
highlight weirdness

20 months agoweirdness on INT32->FP32 detected. ui32/i32->f32 test added
Luke Kenneth Casson Leighton [Fri, 19 Jul 2019 11:45:56 +0000 (12:45 +0100)]
weirdness on INT32->FP32 detected.  ui32/i32->f32 test added

20 months agoadd i32 to f64 conversion test
Luke Kenneth Casson Leighton [Fri, 19 Jul 2019 11:15:09 +0000 (12:15 +0100)]
add i32 to f64 conversion test

20 months agoadd an operator class for signed/unsigned
Luke Kenneth Casson Leighton [Fri, 19 Jul 2019 10:29:25 +0000 (11:29 +0100)]
add an operator class for signed/unsigned

20 months agoadd in preliminary signed int conversion
Luke Kenneth Casson Leighton [Fri, 19 Jul 2019 09:58:10 +0000 (10:58 +0100)]
add in preliminary signed int conversion

first example usage of FPPipeContext "operator"

20 months agoupdate comments
Luke Kenneth Casson Leighton [Thu, 18 Jul 2019 16:39:07 +0000 (17:39 +0100)]
update comments

20 months agoadd ui64 to f32 conversion test
Luke Kenneth Casson Leighton [Thu, 18 Jul 2019 13:45:01 +0000 (14:45 +0100)]
add ui64 to f32 conversion test

20 months agoadd larger uint32 and uint64 to fp16 conversion
Luke Kenneth Casson Leighton [Thu, 18 Jul 2019 13:30:01 +0000 (14:30 +0100)]
add larger uint32 and uint64 to fp16 conversion

20 months agochange function names
Luke Kenneth Casson Leighton [Thu, 18 Jul 2019 05:40:15 +0000 (06:40 +0100)]
change function names

20 months agoadd not-a-lot-of-sense test
Luke Kenneth Casson Leighton [Wed, 17 Jul 2019 15:38:42 +0000 (16:38 +0100)]
add not-a-lot-of-sense test

20 months agoadd first version fcvt int to fp16/32/64
Luke Kenneth Casson Leighton [Wed, 17 Jul 2019 11:09:30 +0000 (12:09 +0100)]
add first version fcvt int to fp16/32/64

20 months agoincrease test range, add loop
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 16:44:48 +0000 (17:44 +0100)]
increase test range, add loop

20 months agowhoops fpnorm out by one bit in new FPMSBHigh class
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 16:41:07 +0000 (17:41 +0100)]
whoops fpnorm out by one bit in new FPMSBHigh class

20 months agowhoops rename module
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 16:31:15 +0000 (17:31 +0100)]
whoops rename module

20 months agoadjust FPMSBHigh for use in FPNorm: make it possible to shift in the LSB
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 16:30:35 +0000 (17:30 +0100)]
adjust FPMSBHigh for use in FPNorm: make it possible to shift in the LSB

20 months agosplit out MSB-highing module
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 15:41:23 +0000 (16:41 +0100)]
split out MSB-highing module

20 months agoadd msbhigh module
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 15:32:55 +0000 (16:32 +0100)]
add msbhigh module

20 months agorelative imports are a pain
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 15:09:51 +0000 (16:09 +0100)]
relative imports are a pain

20 months agoadd comments
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 12:03:46 +0000 (13:03 +0100)]
add comments

21 months agoadd FPADD stack documentation
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 09:54:05 +0000 (10:54 +0100)]
add FPADD stack documentation