ieee754fpu.git
5 years agoreplace m.d.comb with comb (reduce indentation)
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 20:29:20 +0000 (21:29 +0100)]
replace m.d.comb with comb (reduce indentation)

5 years agotidyup
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 15:03:16 +0000 (16:03 +0100)]
tidyup

5 years agofix the mess introduced by "fix pipeline stage count"
Jacob Lifshay [Mon, 29 Jul 2019 14:13:03 +0000 (07:13 -0700)]
fix the mess introduced by "fix pipeline stage count"

not a pure revert
This reverts commit 30a3d1e975cd3df7ea701fdf0fe3bd0ba0757d3e.

5 years agoadd fprsqrt coverage tests for fp16 and fp32
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 13:50:39 +0000 (14:50 +0100)]
add fprsqrt coverage tests for fp16 and fp32

5 years agoadd comment on n_comb_stages
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 13:43:37 +0000 (14:43 +0100)]
add comment on n_comb_stages

5 years agoadd FP32/64 coverage test for fpsqrt
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 13:41:29 +0000 (14:41 +0100)]
add FP32/64 coverage test for fpsqrt

5 years agoid_wid (muxid bitwidth) based on num_rows, not the data width
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 13:26:54 +0000 (14:26 +0100)]
id_wid (muxid bitwidth) based on num_rows, not the data width

5 years agoadd fpsqrt 16 coverage test
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 13:18:26 +0000 (14:18 +0100)]
add fpsqrt 16 coverage test

5 years agofix pipeline stage count
Jacob Lifshay [Sun, 28 Jul 2019 23:16:19 +0000 (16:16 -0700)]
fix pipeline stage count

5 years agoremove redundant imports
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 20:28:11 +0000 (21:28 +0100)]
remove redundant imports

5 years agomove fpcvt downsize to separate module
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 20:23:51 +0000 (21:23 +0100)]
move fpcvt downsize to separate module

5 years agomove fpcvt upsize to separate module
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 20:21:15 +0000 (21:21 +0100)]
move fpcvt upsize to separate module

5 years agosubstitute comb for m.d.comb
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 20:19:15 +0000 (21:19 +0100)]
substitute comb for m.d.comb

5 years agosimplify code
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 20:13:02 +0000 (21:13 +0100)]
simplify code

5 years agosplit out int2float fcvt to separate module
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 20:11:47 +0000 (21:11 +0100)]
split out int2float fcvt to separate module

5 years agomove float2int fcvt to separate module
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 19:48:48 +0000 (20:48 +0100)]
move float2int fcvt to separate module

5 years agosimplify
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 19:46:07 +0000 (20:46 +0100)]
simplify

5 years agoadd code comments
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 19:43:58 +0000 (20:43 +0100)]
add code comments

5 years agoadd F2Int f64 i64 test
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 19:27:42 +0000 (20:27 +0100)]
add F2Int f64 i64 test

5 years agoadd signed FP2INT
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 19:23:22 +0000 (20:23 +0100)]
add signed FP2INT

5 years agoadd TODO, check mantissa overflow
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 17:09:44 +0000 (18:09 +0100)]
add TODO, check mantissa overflow

5 years agoadd f2int f64->ui64
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 17:00:17 +0000 (18:00 +0100)]
add f2int f64->ui64

5 years agoexponent too big to fit FP2int
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 16:53:18 +0000 (17:53 +0100)]
exponent too big to fit FP2int

5 years agoadd NaN FP2int overflow
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 16:48:57 +0000 (17:48 +0100)]
add NaN FP2int overflow

5 years agoadd code comments
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:33:45 +0000 (13:33 +0100)]
add code comments

5 years agoadd code comments
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:32:59 +0000 (13:32 +0100)]
add code comments

5 years agoinitialise unused PipelineSpec params to None
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:25:42 +0000 (13:25 +0100)]
initialise unused PipelineSpec params to None

5 years agoadd identifying name to FPNumBaseRecord
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:25:15 +0000 (13:25 +0100)]
add identifying name to FPNumBaseRecord

5 years agoadd identifying name to FPNumBaseRecord
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:25:06 +0000 (13:25 +0100)]
add identifying name to FPNumBaseRecord

5 years agoadd name to FPNumBaseRecord
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:24:49 +0000 (13:24 +0100)]
add name to FPNumBaseRecord

5 years agouse opcode rather than magic constants (will need a class, later)
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:15:34 +0000 (13:15 +0100)]
use opcode rather than magic constants (will need a class, later)

5 years agowhitespace / autopep8
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:14:40 +0000 (13:14 +0100)]
whitespace / autopep8

5 years agoget fpdiv/fsqrt/frsqrt up and running
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:14:19 +0000 (13:14 +0100)]
get fpdiv/fsqrt/frsqrt up and running

5 years agowhitespace (autopep8)
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:12:55 +0000 (13:12 +0100)]
whitespace (autopep8)

5 years agoadd identifying name to FPNumBaseRecord
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:12:35 +0000 (13:12 +0100)]
add identifying name to FPNumBaseRecord

5 years agoadd identifying name to FPNumBaseRecord
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:12:11 +0000 (13:12 +0100)]
add identifying name to FPNumBaseRecord

5 years agowhitespace, add identifying name to FPNumBaseRecord
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:11:57 +0000 (13:11 +0100)]
whitespace, add identifying name to FPNumBaseRecord

5 years agowhitespace
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:11:15 +0000 (13:11 +0100)]
whitespace

5 years agoadd debug prints
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:09:46 +0000 (13:09 +0100)]
add debug prints

5 years agoadd .il.* to gitignore
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 12:09:24 +0000 (13:09 +0100)]
add .il.* to gitignore

5 years agosplit out fclass module to separate file
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 11:54:20 +0000 (12:54 +0100)]
split out fclass module to separate file

5 years agoupdate fclass and FPFormat after review
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 11:45:26 +0000 (12:45 +0100)]
update fclass and FPFormat after review

5 years agoadd f32/f64 fclass
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 10:21:12 +0000 (11:21 +0100)]
add f32/f64 fclass

5 years agofclass test
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 09:50:26 +0000 (10:50 +0100)]
fclass test

5 years agoadd debugging fclass
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 08:52:04 +0000 (09:52 +0100)]
add debugging fclass

5 years agoreplace hard-coded "stuff" with FPFormat functions
Luke Kenneth Casson Leighton [Sun, 28 Jul 2019 08:32:54 +0000 (09:32 +0100)]
replace hard-coded "stuff" with FPFormat functions

5 years agoredo fclss to simpler layout
Luke Kenneth Casson Leighton [Sat, 27 Jul 2019 23:09:01 +0000 (00:09 +0100)]
redo fclss to simpler layout

5 years agoadd testing functions to FPFormat
Luke Kenneth Casson Leighton [Sat, 27 Jul 2019 15:02:50 +0000 (16:02 +0100)]
add testing functions to FPFormat

5 years agoadd fpclass pipeline (1st version)
Luke Kenneth Casson Leighton [Sat, 27 Jul 2019 05:21:39 +0000 (06:21 +0100)]
add fpclass pipeline (1st version)

5 years agostart to get FP to INT working
Luke Kenneth Casson Leighton [Fri, 26 Jul 2019 12:43:53 +0000 (13:43 +0100)]
start to get FP to INT working

5 years agoadd first version test fp to int convert
Luke Kenneth Casson Leighton [Fri, 26 Jul 2019 10:56:27 +0000 (11:56 +0100)]
add first version test fp to int convert

5 years agoget test_div64.py back up and running (just... because)
Luke Kenneth Casson Leighton [Thu, 25 Jul 2019 15:52:14 +0000 (16:52 +0100)]
get test_div64.py back up and running (just... because)

5 years agoremove near-identical duplicated code, replace with "factory" in FCVT classes
Luke Kenneth Casson Leighton [Thu, 25 Jul 2019 10:57:52 +0000 (11:57 +0100)]
remove near-identical duplicated code, replace with "factory" in FCVT classes

5 years agocorrect FPRSQRT specialcases
Luke Kenneth Casson Leighton [Thu, 25 Jul 2019 08:57:14 +0000 (09:57 +0100)]
correct FPRSQRT specialcases

5 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

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

5 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.

5 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

5 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

5 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

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

5 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

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

5 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

5 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

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

5 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

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

5 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

5 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

5 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

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

5 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

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

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

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

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

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

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

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

5 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

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

5 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

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

5 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

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

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

5 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

5 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)

5 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

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

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

5 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

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

5 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)

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

5 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

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

5 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

5 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