ieee754fpu.git
4 years agoresolve awful meta-class hacking (with thanks to jsbueno on stackexchange)
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 23:14:12 +0000 (00:14 +0100)]
resolve awful meta-class hacking (with thanks to jsbueno on stackexchange)

4 years agoadd DynamicPipeCreate function - needs to be a class
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 15:07:08 +0000 (16:07 +0100)]
add DynamicPipeCreate function - needs to be a class

4 years agoremove default and swap over DIV/SQRT operations, to make SQRT the default
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 11:00:32 +0000 (12:00 +0100)]
remove default and swap over DIV/SQRT operations, to make SQRT the default

http://bugs.libre-riscv.org/show_bug.cgi?id=126

4 years agoadd code comment
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 10:57:15 +0000 (11:57 +0100)]
add code comment

4 years agouse specialcase fpdiv "switch" and use DP op
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 10:53:14 +0000 (11:53 +0100)]
use specialcase fpdiv "switch" and use DP op

4 years agotidyup
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 10:51:09 +0000 (11:51 +0100)]
tidyup

4 years agoadd copyright / bugreport notice
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 10:50:01 +0000 (11:50 +0100)]
add copyright / bugreport notice

4 years agoadd fclass coverage test
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 10:41:19 +0000 (11:41 +0100)]
add fclass coverage test

4 years agouse switch/case rather than if/elif/elif
Luke Kenneth Casson Leighton [Tue, 30 Jul 2019 10:29:46 +0000 (11:29 +0100)]
use switch/case rather than if/elif/elif

4 years agoadd copyright
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 22:23:47 +0000 (23:23 +0100)]
add copyright

4 years agotidyup
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 22:23:22 +0000 (23:23 +0100)]
tidyup

4 years agocode comments
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 21:00:25 +0000 (22:00 +0100)]
code comments

4 years agotidyup
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 20:56:59 +0000 (21:56 +0100)]
tidyup

4 years agotidyup
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 20:49:13 +0000 (21:49 +0100)]
tidyup

4 years agominor tidyup
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 20:47:14 +0000 (21:47 +0100)]
minor tidyup

4 years agoadd explicit operator comparison (in case operation enum is changed)
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 20:38:13 +0000 (21:38 +0100)]
add explicit operator comparison (in case operation enum is changed)

4 years agoclarify / get indentation down
Luke Kenneth Casson Leighton [Mon, 29 Jul 2019 20:33:56 +0000 (21:33 +0100)]
clarify / get indentation down

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

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

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

4 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

4 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

4 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

4 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

4 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

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

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

4 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

4 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

4 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

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

4 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

4 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

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

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

4 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

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

4 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

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

4 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

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

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

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

4 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

4 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

4 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

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

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

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

4 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

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

4 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

4 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

4 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

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

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

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

4 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

4 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

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

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

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

4 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

4 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

4 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

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

4 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

4 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

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

4 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

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

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