ieee754fpu.git
5 years agomove test pipe class to common location
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:07:56 +0000 (12:07 +0100)]
move test pipe class to common location

5 years agoreorg test code towards parameterisation
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 10:58:36 +0000 (11:58 +0100)]
reorg test code towards parameterisation

5 years agoremoved debug prints
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 10:45:19 +0000 (11:45 +0100)]
removed debug prints

5 years agoadd simulation fns based on num_rows
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 09:40:25 +0000 (10:40 +0100)]
add simulation fns based on num_rows

5 years agoadd corner-cases
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 07:49:25 +0000 (08:49 +0100)]
add corner-cases

5 years agofix unit test fp create fns
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 06:47:48 +0000 (07:47 +0100)]
fix unit test fp create fns

5 years agofix nan/create unit test fns
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 06:39:34 +0000 (07:39 +0100)]
fix nan/create unit test fns

5 years agoadd regressions and corner cases
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 06:38:31 +0000 (07:38 +0100)]
add regressions and corner cases

5 years agoadd create, inf, nan and zero to unit test code
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 06:17:46 +0000 (07:17 +0100)]
add create, inf, nan and zero to unit test code

5 years agoadd test data
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 06:09:53 +0000 (07:09 +0100)]
add test data

5 years agoset reset_less=True - the data is protected by muxid. if muxid not set,
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 16:22:57 +0000 (17:22 +0100)]
set reset_less=True - the data is protected by muxid.  if muxid not set,
data is invalid.  therefore reset is pointless (and wastes gates)

5 years agoadd missing reset_lesss
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 16:17:08 +0000 (17:17 +0100)]
add missing reset_lesss

5 years agoexclude stuff that is just multiplying by zero
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 16:08:20 +0000 (17:08 +0100)]
exclude stuff that is just multiplying by zero

5 years agoclarify if else
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 15:57:19 +0000 (16:57 +0100)]
clarify if else

5 years agoadd names to flags
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 15:53:56 +0000 (16:53 +0100)]
add names to flags

5 years agowhitespace
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 13:02:40 +0000 (14:02 +0100)]
whitespace

5 years agoadd comment
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 13:02:17 +0000 (14:02 +0100)]
add comment

5 years agosort out some magic constants
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 11:56:47 +0000 (12:56 +0100)]
sort out some magic constants

5 years agoremove "fail" in test
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 11:43:38 +0000 (12:43 +0100)]
remove "fail" in test

5 years agoworkaround issue with nmigen/yosys
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 11:33:22 +0000 (12:33 +0100)]
workaround issue with nmigen/yosys

5 years agoadd fixme
Jacob Lifshay [Sun, 7 Jul 2019 10:18:00 +0000 (03:18 -0700)]
add fixme

5 years agowork on adding tests; test_core.py currently fails
Jacob Lifshay [Sun, 7 Jul 2019 10:15:47 +0000 (03:15 -0700)]
work on adding tests; test_core.py currently fails

5 years agoadd tests for integer and fractional division
Jacob Lifshay [Sun, 7 Jul 2019 08:00:10 +0000 (01:00 -0700)]
add tests for integer and fractional division

5 years agoswitch algorithm in UnsignedDivRem to match FixedUDivRemSqrtRSqrt
Jacob Lifshay [Sun, 7 Jul 2019 07:19:12 +0000 (00:19 -0700)]
switch algorithm in UnsignedDivRem to match FixedUDivRemSqrtRSqrt

5 years agomisc code cleanups
Jacob Lifshay [Sun, 7 Jul 2019 07:10:12 +0000 (00:10 -0700)]
misc code cleanups

5 years agomove DivPipe(?!Core).* classes to div_pipe.py
Jacob Lifshay [Sun, 7 Jul 2019 06:49:31 +0000 (23:49 -0700)]
move DivPipe(?!Core).* classes to div_pipe.py

5 years agogot test_add.py running, with fpadd_state.py
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 06:58:11 +0000 (07:58 +0100)]
got test_add.py running, with fpadd_state.py

5 years agoadd enough to "extra" exponent to cover FP64 to FP16 fcvt
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 06:12:14 +0000 (07:12 +0100)]
add enough to "extra" exponent to cover FP64 to FP16 fcvt

5 years agofix min-range rounding
Luke Kenneth Casson Leighton [Sun, 7 Jul 2019 06:00:04 +0000 (07:00 +0100)]
fix min-range rounding

5 years agotake last bit of a1 mantissa as potential sticky, not last bit of z
Luke Kenneth Casson Leighton [Sat, 6 Jul 2019 20:02:59 +0000 (21:02 +0100)]
take last bit of a1 mantissa as potential sticky, not last bit of z

5 years agoduplicate FPRound inside fcvt
Luke Kenneth Casson Leighton [Sat, 6 Jul 2019 11:15:01 +0000 (12:15 +0100)]
duplicate FPRound inside fcvt

5 years agofix nan and 1-rounded case in fcvt
Luke Kenneth Casson Leighton [Sat, 6 Jul 2019 10:52:24 +0000 (11:52 +0100)]
fix nan and 1-rounded case in fcvt

5 years agopass through exponent extra bits so that normalisation works on 32-to-16 cvt
Luke Kenneth Casson Leighton [Sat, 6 Jul 2019 09:51:46 +0000 (10:51 +0100)]
pass through exponent extra bits so that normalisation works on 32-to-16 cvt

5 years agofix overwrite issue in FPBase create
Luke Kenneth Casson Leighton [Sat, 6 Jul 2019 09:39:20 +0000 (10:39 +0100)]
fix overwrite issue in FPBase create

5 years agosorting out fcvt
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 22:53:21 +0000 (23:53 +0100)]
sorting out fcvt

5 years agoadd extra regression for fpmul
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 22:53:09 +0000 (23:53 +0100)]
add extra regression for fpmul

5 years agofix fcvt to work with new InputTest and pspec
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 22:03:35 +0000 (23:03 +0100)]
fix fcvt to work with new InputTest and pspec

5 years agowhoops no e_start-1 in fpnum decode
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 21:56:26 +0000 (22:56 +0100)]
whoops no e_start-1 in fpnum decode

5 years agoexample of how to use opkls to create something more than op=Signal()
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 16:22:30 +0000 (17:22 +0100)]
example of how to use opkls to create something more than op=Signal()

5 years agoallow pspec to specify the class of FPPipeContext.op
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 16:16:05 +0000 (17:16 +0100)]
allow pspec to specify the class of FPPipeContext.op

5 years agobig (single-purpose) update: move width arg into pspec
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 16:07:16 +0000 (17:07 +0100)]
big (single-purpose) update: move width arg into pspec

5 years agoindent
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 14:14:05 +0000 (15:14 +0100)]
indent

5 years agomore comments....
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 14:12:33 +0000 (15:12 +0100)]
more comments....

5 years agomove Base eqs to separate mixin class
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 14:06:21 +0000 (15:06 +0100)]
move Base eqs to separate mixin class

5 years agoreorg and add in more TODO pointers for DivPipe*Stage blocks to be added
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 13:24:49 +0000 (14:24 +0100)]
reorg and add in more TODO pointers for DivPipe*Stage blocks to be added

5 years agoadd inheritor classes to create DivPipe*Data
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 12:51:02 +0000 (13:51 +0100)]
add inheritor classes to create DivPipe*Data

5 years agoadd rest of DivPipeCore
Jacob Lifshay [Fri, 5 Jul 2019 12:01:40 +0000 (05:01 -0700)]
add rest of DivPipeCore

5 years agoadd in more comments
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 11:08:31 +0000 (12:08 +0100)]
add in more comments

5 years agoadd FPPipeContext/FPNumBaseRecord import
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 10:54:20 +0000 (11:54 +0100)]
add FPPipeContext/FPNumBaseRecord import

5 years agoall modules need to carry an output bypass plus a context (muxid, optional "op")
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 10:53:02 +0000 (11:53 +0100)]
all modules need to carry an output bypass plus a context (muxid, optional "op")

5 years agoremove of from div0
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 10:48:49 +0000 (11:48 +0100)]
remove of from div0

5 years agoadd comments on where DivPipeCoreSetupStage would be used
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 10:46:53 +0000 (11:46 +0100)]
add comments on where DivPipeCoreSetupStage would be used

5 years agoidentify points where DivPipeCore*Data is needed
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 10:27:44 +0000 (11:27 +0100)]
identify points where DivPipeCore*Data is needed

5 years agofix up setup and process functions
Jacob Lifshay [Fri, 5 Jul 2019 10:24:13 +0000 (03:24 -0700)]
fix up setup and process functions

5 years agolink in to setup/process
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 09:56:16 +0000 (10:56 +0100)]
link in to setup/process

5 years agoadd DivPipeCoreSetupStage
Jacob Lifshay [Fri, 5 Jul 2019 09:23:57 +0000 (02:23 -0700)]
add DivPipeCoreSetupStage

5 years agosplit out InputTest random capability
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 09:11:07 +0000 (10:11 +0100)]
split out InputTest random capability

5 years agodebugging fcvt
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 08:32:40 +0000 (09:32 +0100)]
debugging fcvt

5 years agoadd some regression tests (commented out)
Luke Kenneth Casson Leighton [Fri, 5 Jul 2019 08:32:11 +0000 (09:32 +0100)]
add some regression tests (commented out)

5 years agodont pack into v, get actual s/e/m
Luke Kenneth Casson Leighton [Thu, 4 Jul 2019 09:00:59 +0000 (10:00 +0100)]
dont pack into v, get actual s/e/m

5 years agobegin debug of fcvt
Luke Kenneth Casson Leighton [Thu, 4 Jul 2019 08:45:18 +0000 (09:45 +0100)]
begin debug of fcvt

5 years agoadd fcvt first version
Luke Kenneth Casson Leighton [Thu, 4 Jul 2019 08:34:03 +0000 (09:34 +0100)]
add fcvt first version

5 years agoimplemented FixedUDivRemSqrtRSqrt
Jacob Lifshay [Wed, 3 Jul 2019 08:46:42 +0000 (01:46 -0700)]
implemented FixedUDivRemSqrtRSqrt

5 years agohopefully fix test errors when using nosetests3
Jacob Lifshay [Wed, 3 Jul 2019 06:01:19 +0000 (23:01 -0700)]
hopefully fix test errors when using nosetests3

5 years agoimplement FixedRSqrt
Jacob Lifshay [Wed, 3 Jul 2019 04:44:56 +0000 (21:44 -0700)]
implement FixedRSqrt

5 years agofix comments
Jacob Lifshay [Wed, 3 Jul 2019 04:23:21 +0000 (21:23 -0700)]
fix comments

5 years agoimplemented FixedSqrt
Jacob Lifshay [Wed, 3 Jul 2019 04:21:05 +0000 (21:21 -0700)]
implemented FixedSqrt

5 years agoworkaround bug in use of ArrayProxy iteration / assignment
Luke Kenneth Casson Leighton [Tue, 2 Jul 2019 12:47:50 +0000 (13:47 +0100)]
workaround bug in use of ArrayProxy iteration / assignment

5 years agoadd comment
Luke Kenneth Casson Leighton [Tue, 2 Jul 2019 12:25:19 +0000 (13:25 +0100)]
add comment

5 years agoreplace FPBaseData with FPPipeContext class name
Luke Kenneth Casson Leighton [Tue, 2 Jul 2019 09:54:48 +0000 (10:54 +0100)]
replace FPBaseData with FPPipeContext class name

5 years agobig convert g/s/r mid --> muxid
Luke Kenneth Casson Leighton [Tue, 2 Jul 2019 09:06:29 +0000 (10:06 +0100)]
big convert g/s/r mid --> muxid

5 years agoconvert fpdiv to pspec
Luke Kenneth Casson Leighton [Tue, 2 Jul 2019 08:41:45 +0000 (09:41 +0100)]
convert fpdiv to pspec

5 years agouse new FPBaseData as a "spec" (context), initialised with a dict (pspec)
Luke Kenneth Casson Leighton [Tue, 2 Jul 2019 08:34:25 +0000 (09:34 +0100)]
use new FPBaseData as a "spec" (context), initialised with a dict (pspec)

5 years agoadd operand down pipeline chain
Luke Kenneth Casson Leighton [Mon, 1 Jul 2019 16:28:23 +0000 (17:28 +0100)]
add operand down pipeline chain

5 years agofound 64-bit MUL bug too
Luke Kenneth Casson Leighton [Mon, 1 Jul 2019 14:54:51 +0000 (15:54 +0100)]
found 64-bit MUL bug too

5 years agoimplement fixed_rsqrt
Jacob Lifshay [Mon, 1 Jul 2019 11:01:45 +0000 (04:01 -0700)]
implement fixed_rsqrt

5 years agoimplement fixed_sqrt
Jacob Lifshay [Mon, 1 Jul 2019 10:21:45 +0000 (03:21 -0700)]
implement fixed_sqrt

5 years agoadded tests for rest of Fixed
Jacob Lifshay [Mon, 1 Jul 2019 07:01:32 +0000 (00:01 -0700)]
added tests for rest of Fixed

5 years agoadd more tests
Jacob Lifshay [Sun, 30 Jun 2019 05:33:04 +0000 (22:33 -0700)]
add more tests

5 years agoupdate comment
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 21:08:24 +0000 (22:08 +0100)]
update comment

5 years agoadd comments
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 09:35:49 +0000 (10:35 +0100)]
add comments

5 years agocomments
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 09:33:28 +0000 (10:33 +0100)]
comments

5 years agoadd diagram explaining chain / pipe relationships
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 09:27:50 +0000 (10:27 +0100)]
add diagram explaining chain / pipe relationships

5 years agoupdate comments
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 09:10:09 +0000 (10:10 +0100)]
update comments

5 years agonon-begin, non-end mode involves FPDivStage0Data
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 09:07:56 +0000 (10:07 +0100)]
non-begin, non-end mode involves FPDivStage0Data

5 years agoput in place infrastructure for dropping in INT div unit
Luke Kenneth Casson Leighton [Sat, 29 Jun 2019 08:47:38 +0000 (09:47 +0100)]
put in place infrastructure for dropping in INT div unit

number of combinatorial stages specified as an argument to FPDivStages
start mode does initial conversion from pre-normalised format
not-start and not-end mode inputs Q/Rem data and outputs Q/Rem data
end mode converts Q/Rem data to format needed for post-normalisation

5 years agofix names
Jacob Lifshay [Sat, 29 Jun 2019 03:26:27 +0000 (20:26 -0700)]
fix names

5 years agoadd Fract class
Jacob Lifshay [Sat, 29 Jun 2019 03:22:10 +0000 (20:22 -0700)]
add Fract class

5 years agointeger division algorithm works
Jacob Lifshay [Sat, 29 Jun 2019 01:31:26 +0000 (18:31 -0700)]
integer division algorithm works

5 years agoadd comments
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 15:54:34 +0000 (16:54 +0100)]
add comments

5 years agoadd comments on parameters
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 07:51:20 +0000 (08:51 +0100)]
add comments on parameters

5 years agoadd comments on parameters
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 07:46:31 +0000 (08:46 +0100)]
add comments on parameters

5 years agoadd comments on parameters
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 07:43:21 +0000 (08:43 +0100)]
add comments on parameters

5 years agoquick debug session on FP div stub pipeline
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 06:10:56 +0000 (07:10 +0100)]
quick debug session on FP div stub pipeline

5 years agoput in TODO divstages list
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 06:03:00 +0000 (07:03 +0100)]
put in TODO divstages list

5 years agowhoops missed a cookie-cut rename
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 05:59:21 +0000 (06:59 +0100)]
whoops missed a cookie-cut rename

5 years agoadd div1 and div2 cookie-cut with TODO messages
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 05:57:55 +0000 (06:57 +0100)]
add div1 and div2 cookie-cut with TODO messages

5 years agoadd cookie-cut div0.py pipeline stage class
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 05:47:47 +0000 (06:47 +0100)]
add cookie-cut div0.py pipeline stage class

5 years agoadd comment, link to bugreport
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 05:35:22 +0000 (06:35 +0100)]
add comment, link to bugreport

5 years agoadd cookie-cut FPDIV
Luke Kenneth Casson Leighton [Fri, 28 Jun 2019 05:32:11 +0000 (06:32 +0100)]
add cookie-cut FPDIV