ieee754fpu.git
4 years agodocument the FPMUL stack
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 09:49:51 +0000 (10:49 +0100)]
document the FPMUL stack

4 years agoillustrate use of pspec using DivPipeCoreOperation (or something)
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 08:25:42 +0000 (09:25 +0100)]
illustrate use of pspec using DivPipeCoreOperation (or something)

4 years agocode cleanup
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 06:39:20 +0000 (07:39 +0100)]
code cleanup

4 years agocode cleanup
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 06:30:23 +0000 (07:30 +0100)]
code cleanup

4 years agoadd full coverage fcvt up 32 to 64 test
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 06:22:00 +0000 (07:22 +0100)]
add full coverage fcvt up 32 to 64 test

4 years agoadd full coverage fcvt up 16 to 64 test
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 06:18:42 +0000 (07:18 +0100)]
add full coverage fcvt up 16 to 64 test

4 years agoadd full coverage fcvt up 16 to 32 test
Luke Kenneth Casson Leighton [Tue, 16 Jul 2019 06:15:57 +0000 (07:15 +0100)]
add full coverage fcvt up 16 to 32 test

4 years agohilarious: fp upconvert of zero was wrong
Luke Kenneth Casson Leighton [Mon, 15 Jul 2019 16:45:56 +0000 (17:45 +0100)]
hilarious: fp upconvert of zero was wrong

4 years agorun just a tad more fp upconverts
Luke Kenneth Casson Leighton [Mon, 15 Jul 2019 16:42:46 +0000 (17:42 +0100)]
run just a tad more fp upconverts

4 years agogot 1st version up-convert working
Luke Kenneth Casson Leighton [Mon, 15 Jul 2019 16:40:05 +0000 (17:40 +0100)]
got 1st version up-convert working

4 years agoadd first version of FCVT upconvert
Luke Kenneth Casson Leighton [Mon, 15 Jul 2019 16:06:07 +0000 (17:06 +0100)]
add first version of FCVT upconvert

4 years agominor tidyup on fcvt
Luke Kenneth Casson Leighton [Mon, 15 Jul 2019 14:04:58 +0000 (15:04 +0100)]
minor tidyup on fcvt

4 years agorun loop of 1000 round test_fpmul_pipe.py
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 11:50:55 +0000 (12:50 +0100)]
run loop of 1000 round test_fpmul_pipe.py

4 years agocopy context/roundz, a and b manually in fpmul align
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 11:37:06 +0000 (12:37 +0100)]
copy context/roundz, a and b manually in fpmul align

4 years agowhoops forgot to take output from aligner
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 11:36:06 +0000 (12:36 +0100)]
whoops forgot to take output from aligner

4 years agofinish implementing DivPipeConfig.__init__
Jacob Lifshay [Sun, 14 Jul 2019 10:03:52 +0000 (03:03 -0700)]
finish implementing DivPipeConfig.__init__

4 years agoreduce code duplication
Jacob Lifshay [Sun, 14 Jul 2019 09:42:43 +0000 (02:42 -0700)]
reduce code duplication

4 years agoadd FPFormat class to describe floating-point formats without all the nmigen signals
Jacob Lifshay [Sun, 14 Jul 2019 09:14:58 +0000 (02:14 -0700)]
add FPFormat class to describe floating-point formats without all the nmigen signals

4 years agodocument PipelineSpec
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 09:02:56 +0000 (10:02 +0100)]
document PipelineSpec

4 years agofix test_fpmul_pipe_32.py after new PipelineSpec class added
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 08:55:04 +0000 (09:55 +0100)]
fix test_fpmul_pipe_32.py after new PipelineSpec class added

4 years agoadd sticky-propagation to normalisation, as an experiment
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 08:48:40 +0000 (09:48 +0100)]
add sticky-propagation to normalisation, as an experiment

4 years agoswitch pspec from dict to PipelineSpec
Jacob Lifshay [Sun, 14 Jul 2019 07:13:39 +0000 (00:13 -0700)]
switch pspec from dict to PipelineSpec

4 years agoadd proposed frsqrt instruction encoding table
Jacob Lifshay [Sun, 14 Jul 2019 06:41:46 +0000 (23:41 -0700)]
add proposed frsqrt instruction encoding table

4 years agoadd dual alignment on e/m in fpmul
Luke Kenneth Casson Leighton [Sun, 14 Jul 2019 06:25:48 +0000 (07:25 +0100)]
add dual alignment on e/m in fpmul

4 years agoadd extra fpmul16 regression tests
Luke Kenneth Casson Leighton [Sat, 13 Jul 2019 13:23:17 +0000 (14:23 +0100)]
add extra fpmul16 regression tests

4 years ago1 bit extra accuracy in mul if the top bit of mantissa is zero
Luke Kenneth Casson Leighton [Sat, 13 Jul 2019 13:21:27 +0000 (14:21 +0100)]
1 bit extra accuracy in mul if the top bit of mantissa is zero

4 years agoadd name to Overflow class, also recreate OverflowMod
Luke Kenneth Casson Leighton [Sat, 13 Jul 2019 08:45:25 +0000 (09:45 +0100)]
add name to Overflow class, also recreate OverflowMod

4 years agodelete dead code in fpbase.MultiShift.[lr]shift
Jacob Lifshay [Thu, 11 Jul 2019 10:16:05 +0000 (03:16 -0700)]
delete dead code in fpbase.MultiShift.[lr]shift

4 years agoformat fpbase.py
Jacob Lifshay [Thu, 11 Jul 2019 09:46:58 +0000 (02:46 -0700)]
format fpbase.py

4 years agorename mid -> muxid in comment
Jacob Lifshay [Thu, 11 Jul 2019 09:42:33 +0000 (02:42 -0700)]
rename mid -> muxid in comment

4 years agoadd more tests; they all pass
Jacob Lifshay [Wed, 10 Jul 2019 12:19:10 +0000 (05:19 -0700)]
add more tests; they all pass

4 years agoDivPipeCore tests pass; still need to add more tests
Jacob Lifshay [Wed, 10 Jul 2019 08:01:23 +0000 (01:01 -0700)]
DivPipeCore tests pass; still need to add more tests

4 years agotest_core.py doesn't crash anymore
Jacob Lifshay [Wed, 10 Jul 2019 06:48:19 +0000 (23:48 -0700)]
test_core.py doesn't crash anymore

4 years agomake tests executable
Jacob Lifshay [Tue, 9 Jul 2019 02:21:04 +0000 (19:21 -0700)]
make tests executable

4 years agorename log2_tb -> tb_width
Jacob Lifshay [Tue, 9 Jul 2019 01:34:53 +0000 (18:34 -0700)]
rename log2_tb -> tb_width

4 years agoadd fp32 div pipe test
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 14:50:38 +0000 (15:50 +0100)]
add fp32 div pipe test

4 years agoadd test comment
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 13:41:20 +0000 (14:41 +0100)]
add test comment

4 years agoadd fp cvt 64 to 32 test
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 13:32:53 +0000 (14:32 +0100)]
add fp cvt 64 to 32 test

4 years agoadd fp cvt 64-16 test
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 13:29:24 +0000 (14:29 +0100)]
add fp cvt 64-16 test

4 years agoadd single op fcvt test case
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 13:26:15 +0000 (14:26 +0100)]
add single op fcvt test case

4 years agoadd fcvt regression tests
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 12:59:47 +0000 (13:59 +0100)]
add fcvt regression tests

4 years agoadd single-arg option to fp tests
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 12:59:09 +0000 (13:59 +0100)]
add single-arg option to fp tests

4 years agoenable failing regression tests
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:52:19 +0000 (12:52 +0100)]
enable failing regression tests

4 years agoadd fp64 mul unit test
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:50:59 +0000 (12:50 +0100)]
add fp64 mul unit test

4 years agoadd fpmul tests
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:43:08 +0000 (12:43 +0100)]
add fpmul tests

4 years agoadd fp16 mul (and some regression tests)
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:33:10 +0000 (12:33 +0100)]
add fp16 mul (and some regression tests)

4 years agoadd test fp64
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:26:00 +0000 (12:26 +0100)]
add test fp64

4 years agoyield inversion of zip of test cases
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:25:46 +0000 (12:25 +0100)]
yield inversion of zip of test cases

4 years agoadd test_add fp16
Luke Kenneth Casson Leighton [Mon, 8 Jul 2019 11:19:45 +0000 (12:19 +0100)]
add test_add fp16

4 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

4 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

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

4 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

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

4 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

4 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

4 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

4 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

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

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

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

4 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

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

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

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

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

4 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

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

4 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

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

4 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

4 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

4 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

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

4 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

4 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

4 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

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

4 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

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

4 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

4 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

4 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

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

4 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

4 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

4 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

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

4 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

4 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

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

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

4 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

4 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

4 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

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

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

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

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

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