ieee754fpu.git
4 years 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

4 years 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

4 years 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

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

4 years 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.

4 years 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

4 years 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

4 years 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

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

4 years 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

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

4 years 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

4 years 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

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

4 years 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

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

4 years 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

4 years 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

4 years 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

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

4 years 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

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

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

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

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

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

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

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

4 years 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

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

4 years 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

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

4 years 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

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

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

4 years 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

4 years 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)

4 years 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

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

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

4 years 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

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

4 years 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)

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

4 years 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

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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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?

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

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

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

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

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

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

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

4 years 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

4 years 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

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

4 years 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())

4 years 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

4 years 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)

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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

4 years 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

4 years 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

4 years 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"

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

4 years 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

4 years 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

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

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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

4 years 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

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

4 years 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

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

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